2022-07-13 00:00:28 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-07-13 00:06:38 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-07-13 00:06:39 +0200 | acidjnk_new | (~acidjnk@p200300d6e7058634ccce5b583b17b980.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-07-13 00:07:07 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-07-13 00:07:31 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
2022-07-13 00:09:49 +0200 | kjak | (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
2022-07-13 00:10:35 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 268 seconds) |
2022-07-13 00:10:45 +0200 | kjak | (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) |
2022-07-13 00:26:17 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-07-13 00:28:36 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 00:30:43 +0200 | ubert | (~Thunderbi@91.141.39.36.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
2022-07-13 00:30:55 +0200 | geschwindingskei | (~John_Ivan@user/john-ivan/x-1515935) (Leaving) |
2022-07-13 00:34:26 +0200 | cosimone | (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) |
2022-07-13 00:43:02 +0200 | pmarg | (~pmarg@2a01:799:159f:9b00:64d8:8354:ad7c:2411) (Remote host closed the connection) |
2022-07-13 00:47:54 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 00:48:08 +0200 | slack1256 | (~slack1256@191.125.99.212) |
2022-07-13 00:49:48 +0200 | slack6215 | (~slack1256@186.11.84.89) |
2022-07-13 00:50:13 +0200 | slack1256 | (~slack1256@191.125.99.212) (Read error: Connection reset by peer) |
2022-07-13 00:50:48 +0200 | slac35555 | (~slack1256@191.125.99.206) (Ping timeout: 272 seconds) |
2022-07-13 00:51:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) |
2022-07-13 00:51:47 +0200 | nosewings | (~ngpc@cpe-76-186-194-45.tx.res.rr.com) (Remote host closed the connection) |
2022-07-13 00:52:53 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds) |
2022-07-13 00:57:04 +0200 | `2jt | (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Remote host closed the connection) |
2022-07-13 00:57:22 +0200 | `2jt | (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) |
2022-07-13 01:00:42 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 01:04:19 +0200 | kjak | (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Remote host closed the connection) |
2022-07-13 01:04:32 +0200 | kjak | (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) |
2022-07-13 01:08:54 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-07-13 01:10:55 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-07-13 01:24:15 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-13 01:28:21 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 272 seconds) |
2022-07-13 01:30:15 +0200 | Alex_test | (~al_test@178.34.160.206) (Ping timeout: 272 seconds) |
2022-07-13 01:30:15 +0200 | AlexZenon | (~alzenon@178.34.160.206) (Ping timeout: 272 seconds) |
2022-07-13 01:33:04 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection) |
2022-07-13 01:33:48 +0200 | Alex_test | (~al_test@178.34.160.206) |
2022-07-13 01:33:48 +0200 | AlexZenon | (~alzenon@178.34.160.206) |
2022-07-13 01:33:52 +0200 | geschwindig | (~John_Ivan@user/john-ivan/x-1515935) |
2022-07-13 01:34:15 +0200 | <geschwindig> | Rembane, hello again. I wish to ask - how do you explicitly give function parameters a label? |
2022-07-13 01:34:47 +0200 | <geschwindig> | theFunction :: Int -> IO -- this lacks parameter labels/naming. |
2022-07-13 01:34:58 +0200 | <Rembane> | geschwindig: At the next line usually |
2022-07-13 01:35:16 +0200 | <Rembane> | geschwindig: thefunction someInt = print someInt |
2022-07-13 01:36:12 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-07-13 01:36:17 +0200 | <geschwindig> | Rembane, any other syntactic sugar way? |
2022-07-13 01:36:33 +0200 | <geschwindig> | seems a little messy to do that, especially if the function is lengthy. |
2022-07-13 01:36:43 +0200 | <Rembane> | geschwindig: None that I can think of |
2022-07-13 01:36:50 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
2022-07-13 01:36:54 +0200 | <geschwindig> | Oof |
2022-07-13 01:37:29 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-07-13 01:41:12 +0200 | <geekosaur> | some people use a record for the parameters and record update syntax to specify them |
2022-07-13 01:41:27 +0200 | ph88 | (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) |
2022-07-13 01:41:33 +0200 | <geekosaur> | this can go well with Default (but can also lead to that being overused and losing type safety) |
2022-07-13 01:42:16 +0200 | <geekosaur> | instance Default MyParameters where def = … {- … -} foo def {thing = "what"} |
2022-07-13 01:42:42 +0200 | Igloo | (~ian@matrix.chaos.earth.li) (Quit: BIAW) |
2022-07-13 01:42:48 +0200 | <geekosaur> | I dislike Default but can see how it would be attractive |
2022-07-13 01:43:04 +0200 | <geschwindig> | I.... see. thank you. |
2022-07-13 01:43:33 +0200 | <geekosaur> | it also lets you prepackage combinations of parameters (replacing `def`) |
2022-07-13 01:44:22 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer) |
2022-07-13 01:44:22 +0200 | califax | (~califax@user/califx) (Write error: Connection reset by peer) |
2022-07-13 01:44:22 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Read error: Connection reset by peer) |
2022-07-13 01:44:22 +0200 | noteness | (~noteness@user/noteness) (Read error: Connection reset by peer) |
2022-07-13 01:44:22 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-13 01:44:22 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Read error: Connection reset by peer) |
2022-07-13 01:44:43 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 01:44:49 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-07-13 01:44:55 +0200 | <geschwindig> | geekosaur, you ever played skyrim? |
2022-07-13 01:45:03 +0200 | <geekosaur> | nope |
2022-07-13 01:45:13 +0200 | AlexZenon | (~alzenon@178.34.160.206) (Ping timeout: 260 seconds) |
2022-07-13 01:45:17 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-13 01:45:29 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-13 01:45:39 +0200 | lottaquestions_ | (~nick@S0106a84e3f794893.ca.shawcable.net) (Quit: Konversation terminated!) |
2022-07-13 01:45:51 +0200 | califax | (~califax@user/califx) |
2022-07-13 01:45:54 +0200 | AlexNoo | (~AlexNoo@178.34.160.206) (Ping timeout: 272 seconds) |
2022-07-13 01:46:05 +0200 | Alex_test | (~al_test@178.34.160.206) (Ping timeout: 272 seconds) |
2022-07-13 01:46:07 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-07-13 01:46:21 +0200 | <geschwindig> | geekosaur, then here's my reaction to all of your comments in this 30 second video. in particular at 0:10 - https://www.youtube.com/watch?v=pFhCGMW8pPo |
2022-07-13 01:46:23 +0200 | <geschwindig> | :P |
2022-07-13 01:46:48 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-13 01:47:09 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-13 01:49:39 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-07-13 01:49:43 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-13 01:50:15 +0200 | AlexNoo | (~AlexNoo@178.34.160.206) |
2022-07-13 01:50:17 +0200 | AlexZenon | (~alzenon@178.34.160.206) |
2022-07-13 01:50:24 +0200 | gurkengl1s | (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 276 seconds) |
2022-07-13 01:50:30 +0200 | Alex_test | (~al_test@178.34.160.206) |
2022-07-13 01:55:43 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-13 01:56:01 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 01:59:04 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-07-13 02:00:33 +0200 | <talismanick> | Is it acceptable to ask about Haskell-family languages in here? |
2022-07-13 02:01:19 +0200 | <talismanick> | I'll ask anyways: What are the options for pure (or almost) languages which compile to wasm and avoid touching Node/JS? |
2022-07-13 02:01:26 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-07-13 02:01:42 +0200 | <talismanick> | like what Rust has with Yew |
2022-07-13 02:02:15 +0200 | <arahael> | talismanick: i was going to suggest rust, but didnt know what you meant by "pure". |
2022-07-13 02:02:57 +0200 | <talismanick> | arahael: Weeeell, I'm really happy that Rust has come this far, but I'd like something a bit higher level :) |
2022-07-13 02:03:30 +0200 | <talismanick> | I've actually started to think as of late that I should take the plunge and learn Rust, but not to build a webapp |
2022-07-13 02:03:43 +0200 | <talismanick> | (or plain website) |
2022-07-13 02:04:13 +0200 | nightbreak | (~nightbrea@2600:1700:70d1:d800:7997:c6a5:32b7:3d2e) |
2022-07-13 02:04:59 +0200 | <geekosaur[m]> | Not ready yet but ghc will be targeting wasm with 9.6 hopefully |
2022-07-13 02:05:01 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-07-13 02:06:22 +0200 | <talismanick> | geekosaur: Oh! I had basically given up on hope for Haskell itself after it seemed Asterius landed short of what I'd call "usable". (for someone like me) |
2022-07-13 02:06:57 +0200 | <talismanick> | (really impressive, but I'm not skilled/diligent enough to wield it efficiently) |
2022-07-13 02:07:02 +0200 | <arahael> | geekosaur[m]: woohoo! |
2022-07-13 02:07:05 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 02:08:08 +0200 | <geekosaur[m]> | Also don't know if it uses node; talk to terrorjack in #ghc |
2022-07-13 02:08:59 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) |
2022-07-13 02:10:00 +0200 | <geekosaur> | asterius and ghcjs development got turned into the ghc 9.6 effort |
2022-07-13 02:10:15 +0200 | <talismanick> | Ah, that explains why I stopped finding news after a certain point |
2022-07-13 02:10:29 +0200 | <talismanick> | (or maybe it was a lull then) |
2022-07-13 02:11:28 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 244 seconds) |
2022-07-13 02:12:06 +0200 | <talismanick> | And, re possible node dependence, it's likely that it can drop Node for Deno (lighter, partially backwards-compatible rewrite in Rust from author of Node) |
2022-07-13 02:12:26 +0200 | <talismanick> | Depending on how it uses Node, that is |
2022-07-13 02:13:02 +0200 | <talismanick> | I've learned a bit about alternatives in my crusade to purge Node from anything I do |
2022-07-13 02:13:15 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::909a) |
2022-07-13 02:13:46 +0200 | <arahael> | i was surprised to learn that node's gc, and js's gc in general, is a reference counting scheme. |
2022-07-13 02:15:22 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-07-13 02:15:25 +0200 | <Axman6> | I should write more JS with cyclic data structures... |
2022-07-13 02:15:45 +0200 | ph88 | (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2022-07-13 02:15:49 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-07-13 02:16:40 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-07-13 02:17:18 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-07-13 02:19:18 +0200 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 276 seconds) |
2022-07-13 02:22:11 +0200 | xff0x | (~xff0x@2405:6580:b080:900:9e06:cb70:78ee:9dbc) (Ping timeout: 272 seconds) |
2022-07-13 02:22:54 +0200 | <Axman6> | geschwindig: you can write foo (someInt :: Int) (someBar :: Bar) = ... which I've don on $work projectsd where functions had lots of arguments. you might need a language extension to do that but GHC will tell you if you do need it |
2022-07-13 02:28:08 +0200 | <talismanick> | Is gi-gtk still the best library for a mostly-declarative, implementation-details-hidden GTK GUI? |
2022-07-13 02:28:43 +0200 | <talismanick> | err, gi-gtk-declarative |
2022-07-13 02:28:44 +0200 | <talismanick> | https://hackage.haskell.org/package/gi-gtk-declarative |
2022-07-13 02:30:21 +0200 | <talismanick> | I started working with it a while back and liked it, but got sidetracked and never returned |
2022-07-13 02:31:26 +0200 | <talismanick> | Never used gtk2hs (that's the standard one, right), but the former looked more idiomatic |
2022-07-13 02:32:38 +0200 | <glguy> | I've used gi-gtk together with glade. Is this an alternative to glade? |
2022-07-13 02:33:28 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-07-13 02:36:58 +0200 | bontaq` | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds) |
2022-07-13 02:38:39 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 02:39:26 +0200 | nightbreak | nightbreak[Away] |
2022-07-13 02:39:37 +0200 | jargon | (~jargon@184.101.188.251) |
2022-07-13 02:40:04 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 02:42:08 +0200 | slack6215 | (~slack1256@186.11.84.89) (Remote host closed the connection) |
2022-07-13 02:48:44 +0200 | <jackdk> | Axman6: you are right - type annotations in pattern bindings need `-XScopedTypeVariables` |
2022-07-13 02:49:32 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 02:49:59 +0200 | <talismanick> | glguy: In a sense, yeah. You lay out your GUI, "as the ancients would have", via text commands to put this next to that or nest it over yonder |
2022-07-13 02:51:00 +0200 | <talismanick> | but, it goes beyond eliminating the need to (presumably) wire Glade output to gi-gtk - it has its own language of "events" overlaying GTK's native, imperative notion of "signals" |
2022-07-13 02:51:02 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 02:51:27 +0200 | <talismanick> | for example ^ |
2022-07-13 02:52:00 +0200 | qhong_ | (~qhong@rescomp-21-400677.stanford.edu) |
2022-07-13 02:52:51 +0200 | <Axman6> | > let foldr (f :: a -> b -> b) (z :: b) ([] :: [a]) = z; foldr (f :: a -> b -> b) (z :: b) (x:xs :: [a]) = f x (foldr f z xs) in foldr (:) [] [1,2,3] |
2022-07-13 02:52:53 +0200 | <lambdabot> | [1,2,3] |
2022-07-13 02:55:10 +0200 | qhong | (~qhong@DN200ouju.stanford.edu) (Ping timeout: 240 seconds) |
2022-07-13 02:58:20 +0200 | califax | (~califax@user/califx) (Ping timeout: 268 seconds) |
2022-07-13 02:58:33 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
2022-07-13 02:58:44 +0200 | califax | (~califax@user/califx) |
2022-07-13 02:58:47 +0200 | cosimone | (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Remote host closed the connection) |
2022-07-13 02:58:57 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 276 seconds) |
2022-07-13 02:59:17 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-07-13 02:59:40 +0200 | cosimone | (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) |
2022-07-13 02:59:52 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2022-07-13 03:00:11 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-07-13 03:01:51 +0200 | <Axman6> | Where's Dons when you need him |
2022-07-13 03:02:46 +0200 | <talismanick> | Wow, I'm amazed reactive-banana is still kicking |
2022-07-13 03:03:29 +0200 | <talismanick> | It really does live up to the first (fake) testimonial from its wiki page: |
2022-07-13 03:03:30 +0200 | <talismanick> | "In the programming-language world, one rule of survival is simple: dance or die. This library makes dancing easy." – Simon Banana Jones |
2022-07-13 03:04:53 +0200 | <glguy> | talismanick: in my case I automated away the wiring of the glade to my app |
2022-07-13 03:04:56 +0200 | <glguy> | (using ghc.generics) |
2022-07-13 03:06:33 +0200 | <talismanick> | glguy: Glade outputs... XML, if I'm not mistaken? Did you throw an XML->ADT parser at it and match up what came out with ghc.generics? |
2022-07-13 03:08:57 +0200 | <edwardk> | Axman6: didn't he move back to .au? you should be able to go knock on his door |
2022-07-13 03:09:28 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-07-13 03:10:00 +0200 | <glguy> | talismanick: I did it from a data type, but that could have been automated away with template haskell (I just didn't go that route) |
2022-07-13 03:10:21 +0200 | <glguy> | https://github.com/glguy/CookieCalculator/blob/master/gui/Main.hs#L44-L55 |
2022-07-13 03:10:23 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 03:10:37 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2022-07-13 03:11:52 +0200 | <glguy> | The declarative thing seems like it'd be nice for a dynamically defined UI, though |
2022-07-13 03:13:15 +0200 | <talismanick> | glguy: that's actually why I looked up reactive-banana again - there was reactive-banana-gi-gtk, and I was wondering if I could use the two together |
2022-07-13 03:13:32 +0200 | <Axman6> | edwardk: yeah, but he's stopped showing up here. I don't have a car do popping down the road to Sydney is a bit more difficult |
2022-07-13 03:13:37 +0200 | <Axman6> | so* |
2022-07-13 03:16:44 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-07-13 03:16:58 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Remote host closed the connection) |
2022-07-13 03:17:24 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 03:17:56 +0200 | entheogenesis[m] | (~entheogen@2001:470:69fc:105::1:e7c4) |
2022-07-13 03:18:48 +0200 | orion | (~orion@user/orion) |
2022-07-13 03:20:41 +0200 | <orion> | Hello. Does Herbert Valerio Riedel (hvr) hang out here? If so, what is his pseudonym? |
2022-07-13 03:22:38 +0200 | <talismanick> | glguy: is this... a program to play Cookie Clicker for you? |
2022-07-13 03:22:46 +0200 | <talismanick> | A) that's awesome |
2022-07-13 03:22:49 +0200 | <talismanick> | B) why |
2022-07-13 03:23:23 +0200 | <talismanick> | C) why is the repo dominated in size by a .c file too large to be displayed in the browser |
2022-07-13 03:24:14 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-07-13 03:24:32 +0200 | <Axman6> | I'm trying to build glean on macOS - seems that macOS defines isinf as a macro, and then one of the C++ deps tried to define a function with the same name without checking first -_- |
2022-07-13 03:26:19 +0200 | <jackdk> | Axman6: I recommend s/mac/nix/ |
2022-07-13 03:29:30 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2022-07-13 03:29:49 +0200 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) |
2022-07-13 03:30:00 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 244 seconds) |
2022-07-13 03:31:43 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-07-13 03:32:20 +0200 | finsternis | (~X@23.226.237.192) |
2022-07-13 03:32:38 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-07-13 03:33:40 +0200 | mixfix41 | (~sdenynine@user/mixfix41) |
2022-07-13 03:34:50 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 03:35:06 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-13 03:37:03 +0200 | abhinav | (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) |
2022-07-13 03:39:45 +0200 | <glguy> | talismanick: it was a model of cookie clicker that I used to try out combinations of upgrades to prioritize my purchases |
2022-07-13 03:40:01 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 03:40:35 +0200 | <glguy> | talismanick: the C file is the game icons png/gif (don't remember) stashed in a C array |
2022-07-13 03:40:49 +0200 | <glguy> | I think I meant to not commit that; it must have sneaked in at some point |
2022-07-13 03:41:28 +0200 | <glguy> | It used to be able to generate very accurate values for cookies per second, click, etc, but the game has moved on since I implemented it and I haven't kept up |
2022-07-13 03:43:38 +0200 | <glguy> | cookie clicker ends up getting surprisingly complicated when you're trying to generate cookies efficiently; there are a number of different strategies with varying levels of reliability and output and user involvement |
2022-07-13 03:44:26 +0200 | g | (x@libera/staff/glguy) |
2022-07-13 03:46:42 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2022-07-13 03:47:44 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection) |
2022-07-13 03:48:07 +0200 | simpleauthority | (~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-07-13 03:48:32 +0200 | simpleauthority | (~simpleaut@user/simpleauthority) |
2022-07-13 03:49:48 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 03:51:21 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-07-13 03:53:08 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 03:53:45 +0200 | onr | (~onr@user/onr) |
2022-07-13 04:00:50 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 255 seconds) |
2022-07-13 04:01:02 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) |
2022-07-13 04:09:51 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 04:11:30 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 04:12:14 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) |
2022-07-13 04:16:13 +0200 | brettgilio | (~brettgili@c9yh.net) (Remote host closed the connection) |
2022-07-13 04:18:37 +0200 | brettgilio | (~brettgili@c9yh.net) |
2022-07-13 04:19:59 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 272 seconds) |
2022-07-13 04:20:01 +0200 | brettgilio | (~brettgili@c9yh.net) (Client Quit) |
2022-07-13 04:20:37 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 04:20:40 +0200 | brettgilio | (~brettgili@c9yh.net) |
2022-07-13 04:21:17 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-07-13 04:21:36 +0200 | brettgilio | (~brettgili@c9yh.net) (Client Quit) |
2022-07-13 04:21:53 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 272 seconds) |
2022-07-13 04:22:24 +0200 | brettgilio | (~brettgili@c9yh.net) |
2022-07-13 04:22:28 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 04:26:50 +0200 | td_ | (~td@94.134.91.223) (Ping timeout: 244 seconds) |
2022-07-13 04:27:26 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 04:28:36 +0200 | <edwardk> | orion: he used to, quite actively. not so much these days. nick: hvr |
2022-07-13 04:28:48 +0200 | <orion> | Thank you edwardk. |
2022-07-13 04:28:51 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 04:28:59 +0200 | td_ | (~td@muedsl-82-207-238-241.citykom.de) |
2022-07-13 04:29:50 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds) |
2022-07-13 04:31:51 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 04:34:33 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-07-13 04:38:12 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 244 seconds) |
2022-07-13 04:41:30 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-07-13 04:41:31 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds) |
2022-07-13 04:42:38 +0200 | wz1000 | (~zubin@static.11.113.47.78.clients.your-server.de) (Ping timeout: 255 seconds) |
2022-07-13 04:44:03 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-07-13 04:44:03 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-13 04:44:03 +0200 | finn_elija | FinnElija |
2022-07-13 04:45:26 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 04:47:54 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) (Quit: Client closed) |
2022-07-13 04:50:20 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 04:54:05 +0200 | onr | (~onr@user/onr) (Quit: Leaving) |
2022-07-13 04:56:07 +0200 | sagax | (~sagax_nb@user/sagax) |
2022-07-13 05:02:49 +0200 | geschwindig | (~John_Ivan@user/john-ivan/x-1515935) (Ping timeout: 256 seconds) |
2022-07-13 05:03:01 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-07-13 05:06:44 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 05:07:53 +0200 | Cajun | (~Cajun@user/cajun) |
2022-07-13 05:15:30 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2022-07-13 05:15:37 +0200 | orion | (~orion@user/orion) (Quit: Leaving...) |
2022-07-13 05:20:47 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 05:27:30 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2022-07-13 05:30:01 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-07-13 05:30:01 +0200 | noteness | (~noteness@user/noteness) (Read error: Connection reset by peer) |
2022-07-13 05:30:22 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 05:30:24 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-13 05:34:14 +0200 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
2022-07-13 05:38:31 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 05:41:36 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 05:43:20 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 05:48:18 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2022-07-13 05:49:22 +0200 | Adran | (adran@botters/adran) (Quit: Este é o fim.) |
2022-07-13 05:58:41 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 05:59:02 +0200 | nightbreak[Away] | nightbreak |
2022-07-13 06:00:51 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-13 06:01:10 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 06:01:14 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 06:06:11 +0200 | toluene | (~toluene@user/toulene) (Quit: Ping timeout (120 seconds)) |
2022-07-13 06:09:03 +0200 | toluene | (~toluene@user/toulene) |
2022-07-13 06:09:46 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 06:14:37 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 06:16:00 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 06:17:46 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 06:22:50 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2022-07-13 06:27:28 +0200 | dschrempf | (~dominik@mobiledyn-62-240-134-33.mrsn.at) |
2022-07-13 06:27:43 +0200 | vglfr | (~vglfr@coupling.penchant.volia.net) |
2022-07-13 06:31:44 +0200 | notzmv | (~zmv@user/notzmv) |
2022-07-13 06:33:50 +0200 | forell | (~forell@user/forell) (Ping timeout: 255 seconds) |
2022-07-13 06:37:29 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-07-13 06:40:01 +0200 | kenran | (~kenran@200116b82b67ed0072df3d95acc6d4a7.dip.versatel-1u1.de) |
2022-07-13 06:40:34 +0200 | qhong_ | qhong |
2022-07-13 06:40:37 +0200 | forell | (~forell@user/forell) |
2022-07-13 06:41:45 +0200 | kenran | (~kenran@200116b82b67ed0072df3d95acc6d4a7.dip.versatel-1u1.de) (Client Quit) |
2022-07-13 06:44:18 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 06:49:01 +0200 | <talismanick> | Are there actively-maintained libraries to display subsets of HTML, like in emails? |
2022-07-13 06:52:08 +0200 | <talismanick> | blizzard-html? |
2022-07-13 07:00:26 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Remote host closed the connection) |
2022-07-13 07:05:37 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
2022-07-13 07:13:52 +0200 | mmhat | (~mmh@p200300f1c7090757ee086bfffe095315.dip0.t-ipconnect.de) |
2022-07-13 07:14:34 +0200 | nightbreak | (~nightbrea@2600:1700:70d1:d800:7997:c6a5:32b7:3d2e) (Quit: Signing off for now...) |
2022-07-13 07:16:55 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-07-13 07:17:40 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 07:20:27 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 07:22:23 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-07-13 07:22:31 +0200 | sagax | (~sagax_nb@user/sagax) (Quit: Konversation terminated!) |
2022-07-13 07:26:01 +0200 | mbuf | (~Shakthi@122.165.55.71) |
2022-07-13 07:28:25 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
2022-07-13 07:31:45 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:55e:c980:c5f4:9be5) |
2022-07-13 07:33:30 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 07:34:17 +0200 | nightbreak_ | (~nightbrea@2600:1700:70d1:d800:7997:c6a5:32b7:3d2e) |
2022-07-13 07:35:10 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-13 07:44:12 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-13 07:50:03 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-07-13 07:51:52 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 07:54:47 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 07:57:06 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
2022-07-13 08:02:48 +0200 | dschrempf | (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Ping timeout: 244 seconds) |
2022-07-13 08:13:18 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds) |
2022-07-13 08:13:49 +0200 | frost | (~frost@user/frost) |
2022-07-13 08:20:42 +0200 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.5) |
2022-07-13 08:21:44 +0200 | dcoutts | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) |
2022-07-13 08:22:37 +0200 | john | (~john@60.254.0.204) |
2022-07-13 08:23:00 +0200 | juri_ | (~juri@84-19-175-179.pool.ovpn.com) (Ping timeout: 276 seconds) |
2022-07-13 08:23:49 +0200 | dcoutts_ | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) (Ping timeout: 272 seconds) |
2022-07-13 08:24:59 +0200 | dcoutts_ | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) |
2022-07-13 08:26:35 +0200 | schweers | (~user@2001:9e8:be68:9d00:aaa1:59ff:fe3f:235c) |
2022-07-13 08:26:47 +0200 | dcoutts | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) (Ping timeout: 255 seconds) |
2022-07-13 08:26:59 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 08:30:01 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 08:30:05 +0200 | Batzy | (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-07-13 08:31:05 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Quit: Konversation terminated!) |
2022-07-13 08:32:29 +0200 | dolio | (~dolio@130.44.130.54) (Ping timeout: 256 seconds) |
2022-07-13 08:32:41 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:55e:c980:c5f4:9be5) (Ping timeout: 272 seconds) |
2022-07-13 08:32:42 +0200 | Batzy | (~quassel@user/batzy) |
2022-07-13 08:36:09 +0200 | dcoutts | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) |
2022-07-13 08:38:02 +0200 | dcoutts_ | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) (Ping timeout: 255 seconds) |
2022-07-13 08:38:12 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 272 seconds) |
2022-07-13 08:40:31 +0200 | benin0 | (~benin@183.82.29.162) |
2022-07-13 08:40:55 +0200 | schweers | (~user@2001:9e8:be68:9d00:aaa1:59ff:fe3f:235c) (Ping timeout: 272 seconds) |
2022-07-13 08:45:09 +0200 | dcoutts_ | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) |
2022-07-13 08:45:09 +0200 | Vajb | (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2022-07-13 08:45:20 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
2022-07-13 08:47:53 +0200 | dcoutts | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) (Ping timeout: 272 seconds) |
2022-07-13 08:48:00 +0200 | dolio | (~dolio@130.44.130.54) |
2022-07-13 08:48:38 +0200 | bilegeek | (~bilegeek@2600:1008:b051:ad72:b292:6384:9c6:e29c) |
2022-07-13 08:50:30 +0200 | dcoutts__ | (~duncan@host86-151-9-13.range86-151.btcentralplus.com) |
2022-07-13 08:53:30 +0200 | dcoutts_ | (~duncan@host86-176-29-6.range86-176.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-07-13 08:53:42 +0200 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-07-13 08:54:24 +0200 | shriekingnoise | (~shrieking@201.212.175.181) (Quit: Quit) |
2022-07-13 08:54:53 +0200 | winny | (~weechat@user/winny) (Remote host closed the connection) |
2022-07-13 08:54:59 +0200 | dcoutts_ | (~duncan@host109-149-38-36.range109-149.btcentralplus.com) |
2022-07-13 08:55:30 +0200 | winny | (~weechat@user/winny) |
2022-07-13 08:56:13 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection) |
2022-07-13 08:56:52 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 08:57:35 +0200 | dcoutts__ | (~duncan@host86-151-9-13.range86-151.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-07-13 09:00:03 +0200 | noteness | (~noteness@user/noteness) (Read error: Connection reset by peer) |
2022-07-13 09:00:03 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-07-13 09:00:18 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
2022-07-13 09:00:30 +0200 | dcoutts_ | (~duncan@host109-149-38-36.range109-149.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-07-13 09:00:47 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 09:00:51 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-13 09:01:13 +0200 | nightbreak_ | nightbreak[Away] |
2022-07-13 09:02:21 +0200 | dcoutts_ | (~duncan@host86-151-9-74.range86-151.btcentralplus.com) |
2022-07-13 09:06:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 09:07:20 +0200 | coot | (~coot@213.134.190.95) |
2022-07-13 09:09:55 +0200 | bilegeek | (~bilegeek@2600:1008:b051:ad72:b292:6384:9c6:e29c) (Quit: Leaving) |
2022-07-13 09:12:02 +0200 | noteness | (~noteness@user/noteness) (Ping timeout: 268 seconds) |
2022-07-13 09:12:40 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 09:13:59 +0200 | <albet70> | how to merge others cabal project into my project? |
2022-07-13 09:16:50 +0200 | dcoutts | (~duncan@host86-151-9-74.range86-151.btcentralplus.com) |
2022-07-13 09:17:10 +0200 | elkcl | (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 240 seconds) |
2022-07-13 09:17:12 +0200 | dcoutts_ | (~duncan@host86-151-9-74.range86-151.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 09:17:25 +0200 | nschoe | (~quassel@178.251.84.79) |
2022-07-13 09:17:50 +0200 | <[exa]> | albet70: as in "use more packages in 1 project directory" ? there's `cabal.project` for that |
2022-07-13 09:18:07 +0200 | <[exa]> | AFAIK you just list the project subdirectories there and that's it |
2022-07-13 09:18:36 +0200 | <[exa]> | roughly like this: https://cabal.readthedocs.io/en/3.6/cabal-project.html |
2022-07-13 09:21:05 +0200 | zmt00 | (~zmt00@user/zmt00) (Read error: Connection reset by peer) |
2022-07-13 09:21:16 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-07-13 09:21:40 +0200 | dcoutts_ | (~duncan@host86-151-9-74.range86-151.btcentralplus.com) |
2022-07-13 09:22:30 +0200 | dcoutts | (~duncan@host86-151-9-74.range86-151.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 09:22:31 +0200 | zmt00 | (~zmt00@user/zmt00) |
2022-07-13 09:24:21 +0200 | abhinav | (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
2022-07-13 09:25:50 +0200 | dcoutts_ | (~duncan@host86-151-9-74.range86-151.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 09:29:31 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-07-13 09:29:35 +0200 | dcoutts | (~duncan@host165-120-97-107.range165-120.btcentralplus.com) |
2022-07-13 09:31:17 +0200 | <albet70> | I use 'cabal v2-install --lib scotty' to install scotty, but runghc told me couldn't load module 'Network.Wai' ... a member of the hidden package 'wai-3.2.3' |
2022-07-13 09:31:51 +0200 | <albet70> | why there always hidden package what the heck that supposed to be |
2022-07-13 09:34:21 +0200 | <[exa]> | if you don't declare that you need the package, it's hidden. How do you compile your project? with ghc or with cabal? |
2022-07-13 09:34:54 +0200 | Cajun | (~Cajun@user/cajun) (Ping timeout: 252 seconds) |
2022-07-13 09:35:58 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-07-13 09:36:50 +0200 | dcoutts | (~duncan@host165-120-97-107.range165-120.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 09:37:00 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 09:37:20 +0200 | Cajun | (~Cajun@user/cajun) |
2022-07-13 09:37:21 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) |
2022-07-13 09:37:41 +0200 | dcoutts | (~duncan@host213-122-124-201.range213-122.btcentralplus.com) |
2022-07-13 09:38:19 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 09:39:36 +0200 | <jackdk> | I'm about to run out the door, but I think albet70 just needs to be set up with a cabal package for his work, so that he can add any dependencies that he needs |
2022-07-13 09:39:38 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 09:40:00 +0200 | dcoutts_ | (~duncan@host213-122-124-145.range213-122.btcentralplus.com) |
2022-07-13 09:40:32 +0200 | acidjnk_new | (~acidjnk@p200300d6e7058698ed7ff12f14b44c79.dip0.t-ipconnect.de) |
2022-07-13 09:40:59 +0200 | Guest|38 | (~Guest|38@89.253.138.59) |
2022-07-13 09:42:02 +0200 | dcoutts__ | (~duncan@host213-122-124-189.range213-122.btcentralplus.com) |
2022-07-13 09:42:17 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) |
2022-07-13 09:42:32 +0200 | dcoutts | (~duncan@host213-122-124-201.range213-122.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 09:44:23 +0200 | `2jt | (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Remote host closed the connection) |
2022-07-13 09:44:36 +0200 | dcoutts_ | (~duncan@host213-122-124-145.range213-122.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 09:48:22 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 09:49:38 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 268 seconds) |
2022-07-13 09:49:57 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 272 seconds) |
2022-07-13 09:52:00 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 09:52:29 +0200 | chomwitt | (~chomwitt@2a02:587:dc0d:4a00:99fe:ae00:5424:6d23) |
2022-07-13 09:55:19 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-07-13 09:55:21 +0200 | jumper149 | (~jumper149@2001:a61:51a8:e202:d123:92ae:67ca:73e3) |
2022-07-13 09:55:24 +0200 | jumper149 | (~jumper149@2001:a61:51a8:e202:d123:92ae:67ca:73e3) (Client Quit) |
2022-07-13 09:55:47 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) |
2022-07-13 09:55:49 +0200 | jumper149 | (~jumper149@2001:a61:51a8:e202:d123:92ae:67ca:73e3) |
2022-07-13 09:55:59 +0200 | jumper149 | (~jumper149@2001:a61:51a8:e202:d123:92ae:67ca:73e3) (Client Quit) |
2022-07-13 09:56:28 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 09:58:41 +0200 | jumper149 | (~jumper149@2001:a61:51a8:e202:d123:92ae:67ca:73e3) |
2022-07-13 09:58:52 +0200 | chele | (~chele@user/chele) |
2022-07-13 09:58:59 +0200 | jumper149 | (~jumper149@2001:a61:51a8:e202:d123:92ae:67ca:73e3) (Client Quit) |
2022-07-13 09:59:19 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) |
2022-07-13 10:05:16 +0200 | fockerize | (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-07-13 10:05:21 +0200 | lottaquestions | (~nick@S0106a84e3f794893.ca.shawcable.net) |
2022-07-13 10:05:23 +0200 | <fockerize> | [1..10] ^. ix 1 :: (Num a, Enum a, Monoid a) => a |
2022-07-13 10:05:38 +0200 | <fockerize> | it complains Int not a Monoid |
2022-07-13 10:05:56 +0200 | <Axman6> | Int is not a monoid |
2022-07-13 10:06:07 +0200 | <Axman6> | % :t ix |
2022-07-13 10:06:07 +0200 | <yahb2> | <interactive>:1:1: error: ; • Variable not in scope: ix ; • Perhaps you meant one of these: ; ‘id’ (imported from Prelude), ‘it’ (line 94) |
2022-07-13 10:06:17 +0200 | <Axman6> | % :t Control.Lens.At.ix |
2022-07-13 10:06:17 +0200 | <c_wraith> | what happens if there is no value at index 1 in the list? |
2022-07-13 10:06:17 +0200 | <yahb2> | <interactive>:1:1: error: ; Not in scope: ‘Control.Lens.At.ix’ ; No module named ‘Control.Lens.At’ is imported. |
2022-07-13 10:06:45 +0200 | <Axman6> | you possibly want to use ^? |
2022-07-13 10:06:55 +0200 | <c_wraith> | or at instead of ix |
2022-07-13 10:07:10 +0200 | <fockerize> | do i need to unwrap from a maybe? |
2022-07-13 10:07:16 +0200 | <Axman6> | % [1.. 10 :: Int] ^. ix 1 |
2022-07-13 10:07:16 +0200 | <yahb2> | <interactive>:136:17: error: ; • Variable not in scope: (^.) :: [Int] -> t0 -> t ; • Perhaps you meant one of these: ; ‘^’ (imported from Prelude), ‘.’ (imported from Prelude), ; ... |
2022-07-13 10:07:28 +0200 | <Axman6> | % import Control.Lens |
2022-07-13 10:07:28 +0200 | <yahb2> | <no location info>: error: ; Could not find module ‘Control.Lens’ ; It is not a module in the current program, or in any known package. |
2022-07-13 10:07:32 +0200 | <Axman6> | D: |
2022-07-13 10:07:41 +0200 | <c_wraith> | just use lambdabot |
2022-07-13 10:07:45 +0200 | <Axman6> | why is yahb2 so uninformed |
2022-07-13 10:07:52 +0200 | <Axman6> | does lambdabot have any of the lens stuff? |
2022-07-13 10:07:53 +0200 | <c_wraith> | > [1 .. 10] ^. at 1 |
2022-07-13 10:07:55 +0200 | <lambdabot> | error: |
2022-07-13 10:07:55 +0200 | <lambdabot> | • No instance for (At [Integer]) arising from a use of ‘e_11101’ |
2022-07-13 10:07:55 +0200 | <lambdabot> | • In the expression: e_11101 |
2022-07-13 10:08:12 +0200 | <c_wraith> | oh, right. lists can't be At |
2022-07-13 10:08:18 +0200 | <c_wraith> | > [1 .. 10] ^? ix 1 |
2022-07-13 10:08:20 +0200 | <lambdabot> | Just 2 |
2022-07-13 10:08:29 +0200 | dcoutts_ | (~duncan@host213-122-124-249.range213-122.btcentralplus.com) |
2022-07-13 10:09:34 +0200 | <fockerize> | [1..10] ^. pre (ix 1) . non 0 |
2022-07-13 10:09:38 +0200 | ccntrq | (~Thunderbi@2a01:c22:90b1:6100:1d89:f6ad:e13f:6833) |
2022-07-13 10:09:42 +0200 | <fockerize> | > [1..10] ^. pre (ix 1) . non 0 |
2022-07-13 10:09:44 +0200 | <lambdabot> | 2 |
2022-07-13 10:10:12 +0200 | <fockerize> | ok just checking if there's other canonical way of doing this |
2022-07-13 10:10:30 +0200 | <Axman6> | > [1.. 10::Int] ^? ix 1 |
2022-07-13 10:10:32 +0200 | <lambdabot> | Just 2 |
2022-07-13 10:10:38 +0200 | <fockerize> | > [1..10] ^. pre (ix 11) . non 0 |
2022-07-13 10:10:40 +0200 | <lambdabot> | 0 |
2022-07-13 10:11:29 +0200 | dcoutts__ | (~duncan@host213-122-124-189.range213-122.btcentralplus.com) (Ping timeout: 272 seconds) |
2022-07-13 10:13:42 +0200 | lottaquestions | (~nick@S0106a84e3f794893.ca.shawcable.net) (Quit: Konversation terminated!) |
2022-07-13 10:14:39 +0200 | benin0 | (~benin@183.82.29.162) (Ping timeout: 272 seconds) |
2022-07-13 10:14:45 +0200 | <Profpatsch> | When I have a left fold from postgres, I guess I don’t want to use a [] as the intermediate result type right? |
2022-07-13 10:15:06 +0200 | <Profpatsch> | cause append is horrible |
2022-07-13 10:15:53 +0200 | <Profpatsch> | In the same vein, is Validation (NonEmpty err) a even a good idea? |
2022-07-13 10:16:04 +0200 | <Profpatsch> | When using it with applicative instances that is |
2022-07-13 10:17:24 +0200 | chomwitt | (~chomwitt@2a02:587:dc0d:4a00:99fe:ae00:5424:6d23) (Ping timeout: 276 seconds) |
2022-07-13 10:18:44 +0200 | mud | (~mud@user/kadoban) (Remote host closed the connection) |
2022-07-13 10:19:02 +0200 | Katarushisu | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2022-07-13 10:19:04 +0200 | <Profpatsch> | But looks like there isn’t even a Map.fromSeq |
2022-07-13 10:19:09 +0200 | mud | (~mud@user/kadoban) |
2022-07-13 10:21:30 +0200 | phma | (phma@2001:5b0:211c:eca8:4705:335b:2d2:d9c2) (Read error: Connection reset by peer) |
2022-07-13 10:22:25 +0200 | raym | (~raym@user/raym) (Quit: kernel update, rebooting...) |
2022-07-13 10:22:30 +0200 | phma | (phma@2001:5b0:211f:568:3cfb:a496:a509:3082) |
2022-07-13 10:22:44 +0200 | thaumavorio | (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-07-13 10:24:01 +0200 | thaumavorio | (~thaumavor@thaumavor.io) |
2022-07-13 10:24:14 +0200 | dextaa8 | dextaa |
2022-07-13 10:25:20 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 10:27:22 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-07-13 10:28:29 +0200 | dcoutts | (~duncan@host86-177-125-93.range86-177.btcentralplus.com) |
2022-07-13 10:29:38 +0200 | kuribas | (~user@silversquare.silversquare.eu) |
2022-07-13 10:30:02 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 10:30:19 +0200 | <kuribas> | ugh, my project for making a record of lenses is going totally out of hand... |
2022-07-13 10:30:35 +0200 | dcoutts_ | (~duncan@host213-122-124-249.range213-122.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 10:31:39 +0200 | <kuribas> | using generics |
2022-07-13 10:31:50 +0200 | wagle | (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-07-13 10:31:59 +0200 | <kuribas> | Now I am using an existential to hide a type variable, then unsafeCoerce to pull it out again. |
2022-07-13 10:32:13 +0200 | <kuribas> | I wonder if I shouldn't just scrap the idea, and go with template haskell instead. |
2022-07-13 10:32:16 +0200 | wagle | (~wagle@quassel.wagle.io) |
2022-07-13 10:32:30 +0200 | <kuribas> | The generics will be probably slower as well. |
2022-07-13 10:32:46 +0200 | <fockerize> | I have a MyData record type which contains a field(MyField) of type Num. how to make instance Num MyData to be the same as the field MyField? |
2022-07-13 10:32:59 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-07-13 10:33:27 +0200 | <fockerize> | so that I don't have to define all the functions required by the class Num |
2022-07-13 10:33:32 +0200 | <kuribas> | fockerize: you cannot |
2022-07-13 10:33:33 +0200 | <fockerize> | by hand |
2022-07-13 10:33:35 +0200 | <kuribas> | unless it's a newtype |
2022-07-13 10:33:51 +0200 | Pickchea | (~private@user/pickchea) |
2022-07-13 10:34:11 +0200 | <fockerize> | kuribas: that's sad |
2022-07-13 10:34:11 +0200 | vglfr | (~vglfr@coupling.penchant.volia.net) (Ping timeout: 244 seconds) |
2022-07-13 10:34:12 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 244 seconds) |
2022-07-13 10:35:52 +0200 | <merijn> | fockerize: Also, that sounds like a terrible idea that should not be attempted >.> |
2022-07-13 10:36:06 +0200 | <kuribas> | that also |
2022-07-13 10:36:47 +0200 | vglfr | (~vglfr@coupling.penchant.volia.net) |
2022-07-13 10:36:54 +0200 | <merijn> | Whenever you think "I want X to be an instance of Num" and you are *not* writing an algebra library where X is something resembling a number, just go for a walk until the insanity passes :) |
2022-07-13 10:37:00 +0200 | <kuribas> | fockerize: make lenses for your record. |
2022-07-13 10:37:24 +0200 | <kuribas> | fockerize: then you can update the field using "over myFieldLens" |
2022-07-13 10:37:32 +0200 | <kuribas> | :t over |
2022-07-13 10:37:34 +0200 | <lambdabot> | ASetter s t a b -> (a -> b) -> s -> t |
2022-07-13 10:37:53 +0200 | <kuribas> | much saner |
2022-07-13 10:37:59 +0200 | <kuribas> | and also more general |
2022-07-13 10:39:47 +0200 | <kuribas> | or with generic-lens: over field @"myField" (* 2) |
2022-07-13 10:44:16 +0200 | <kuribas> | https://hackage.haskell.org/package/generic-lens-2.2.1.0/docs/Data-Generics-Product-Fields.html#v:… |
2022-07-13 10:44:59 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-07-13 10:44:59 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Write error: Connection reset by peer) |
2022-07-13 10:44:59 +0200 | noteness | (~noteness@user/noteness) (Write error: Connection reset by peer) |
2022-07-13 10:44:59 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Write error: Connection reset by peer) |
2022-07-13 10:44:59 +0200 | winny | (~weechat@user/winny) (Read error: Connection reset by peer) |
2022-07-13 10:44:59 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer) |
2022-07-13 10:44:59 +0200 | califax | (~califax@user/califx) (Read error: Connection reset by peer) |
2022-07-13 10:45:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Remote host closed the connection) |
2022-07-13 10:45:21 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-13 10:45:22 +0200 | califax | (~califax@user/califx) |
2022-07-13 10:45:23 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 10:45:24 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-07-13 10:45:30 +0200 | winny | (~weechat@user/winny) |
2022-07-13 10:45:32 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-07-13 10:46:04 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-13 10:46:14 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 10:46:33 +0200 | winny | (~weechat@user/winny) (Remote host closed the connection) |
2022-07-13 10:46:40 +0200 | ubert | (~Thunderbi@91.141.39.36.wireless.dyn.drei.com) |
2022-07-13 10:46:58 +0200 | winny | (~weechat@user/winny) |
2022-07-13 10:48:08 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 244 seconds) |
2022-07-13 10:50:18 +0200 | jargon | (~jargon@184.101.188.251) (Remote host closed the connection) |
2022-07-13 10:50:34 +0200 | schweers | (~user@p200300e34f1b3c008e5a2f37be14a79a.dip0.t-ipconnect.de) |
2022-07-13 10:50:58 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-07-13 10:51:55 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-07-13 10:54:51 +0200 | <albet70> | I have a cabal project named "upload-files", and "cd upload-files; cabal init" got upload-files.cabal, now there's a cabal project called scotty-login-session on github, I git clone it into my upload-files, now how can use the third party modules in my code by config cabal.project? |
2022-07-13 10:55:36 +0200 | <albet70> | I read the doc about cabal.project, sorry I don't get it |
2022-07-13 10:57:11 +0200 | <albet70> | I know I can just cd scotty-login-session and use cabal v2-install --lib to install it, then config upload-files.cabal to use it, is there other proper way? |
2022-07-13 10:58:15 +0200 | <albet70> | I can't find kind of this question on google, it's so few people to use it? |
2022-07-13 10:58:28 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 10:59:57 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 11:00:15 +0200 | Guest|38 | (~Guest|38@89.253.138.59) (Ping timeout: 272 seconds) |
2022-07-13 11:02:37 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 11:02:39 +0200 | dcoutts_ | (~duncan@host86-158-23-99.range86-158.btcentralplus.com) |
2022-07-13 11:03:00 +0200 | dcoutts | (~duncan@host86-177-125-93.range86-177.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-07-13 11:07:51 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-13 11:08:06 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 11:10:07 +0200 | `2jt | (~jtomas@84.78.228.192) |
2022-07-13 11:10:16 +0200 | wz1000 | (~zubin@static.11.113.47.78.clients.your-server.de) |
2022-07-13 11:13:21 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-07-13 11:14:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 11:14:40 +0200 | Igloo | (~ian@matrix.chaos.earth.li) |
2022-07-13 11:14:43 +0200 | coot | (~coot@213.134.190.95) |
2022-07-13 11:15:27 +0200 | noctux | (~noctux@user/noctux) (Read error: Connection reset by peer) |
2022-07-13 11:16:03 +0200 | ix | (~ix@82-71-2-184.dsl.in-addr.zen.co.uk) (Ping timeout: 244 seconds) |
2022-07-13 11:16:48 +0200 | Pickchea | (~private@user/pickchea) |
2022-07-13 11:17:36 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-07-13 11:18:47 +0200 | bjobjo | (~bjobjo@user/bjobjo) (Quit: leaving) |
2022-07-13 11:18:58 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-13 11:24:25 +0200 | <[exa]> | albet70: the "install it" goes to local project directories, it is still separated from other packages. Do you see the example on the top of the cabal.project docs? |
2022-07-13 11:25:44 +0200 | Guest|38 | (~Guest|38@89.253.138.59) |
2022-07-13 11:25:50 +0200 | <[exa]> | the only thing from that you need is the first line -- just put it into your "upload-files" directory next to "upload-files.cabal", i.e. into file "upload-files/cabal.project" |
2022-07-13 11:26:05 +0200 | <[exa]> | that tells cabal you have local packages in that directory's subdirectories |
2022-07-13 11:26:37 +0200 | <[exa]> | then you put the scotty-login-session as a subdirectory there, i.e. you will have `upload-files/scotty-login-session` |
2022-07-13 11:27:03 +0200 | <[exa]> | and then it should just work™ |
2022-07-13 11:27:38 +0200 | <[exa]> | (just checking -- do you have a dependency declared in upload-files.cabal? it should explicitly say that it needs the scotty-login-session package.) |
2022-07-13 11:31:06 +0200 | pie__ | (~pie_bnc@user/pie/x-2818909) () |
2022-07-13 11:31:27 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2022-07-13 11:31:30 +0200 | noctux | (~noctux@user/noctux) |
2022-07-13 11:32:08 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 11:33:09 +0200 | <albet70> | "[exa] :the only thing from that you need is the first line -- just put it into your "upload-files" directory next to "upload-files.cabal", i.e. into file "upload-files/cabal.project"", the first line is "package: */*.cabal"? just write this into cabal.project? |
2022-07-13 11:33:22 +0200 | <albet70> | "[exa] :(just checking -- do you have a dependency declared in upload-files.cabal? it should explicitly say that it needs the scotty-login-session package.)", yes, I do |
2022-07-13 11:35:43 +0200 | mmhat | (~mmh@p200300f1c7090757ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-07-13 11:36:32 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-07-13 11:36:38 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 11:38:33 +0200 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
2022-07-13 11:39:51 +0200 | <albet70> | now I have upload-files/scotty-login-session and upload-files/cabal.project, just one line "package: */*.cabal" in it, and in upload-files.cabal's build-depends, there is scotty-login-session, but when I run "cabal run " it tells no target given and no package in current directory |
2022-07-13 11:41:15 +0200 | nschoe | (~quassel@178.251.84.79) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-07-13 11:41:28 +0200 | nschoe | (~quassel@178.251.84.79) |
2022-07-13 11:44:35 +0200 | `2jt | (~jtomas@84.78.228.192) (Ping timeout: 272 seconds) |
2022-07-13 11:44:36 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-07-13 11:45:09 +0200 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 276 seconds) |
2022-07-13 11:45:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 11:47:00 +0200 | hsman | (~hsman@80.95.197.227) |
2022-07-13 11:47:11 +0200 | drlkf | (~drlkf@ns327185.ip-37-187-109.eu) (Quit: q=) |
2022-07-13 11:47:44 +0200 | drlkf | (~drlkf@ns327185.ip-37-187-109.eu) |
2022-07-13 11:48:48 +0200 | mmhat | (~mmh@p200300f1c7090754ee086bfffe095315.dip0.t-ipconnect.de) |
2022-07-13 11:48:49 +0200 | <hsman> | Hello all! I recently started using Haskell and I like what I've seen so far. Can somebody please point me to a good, open-source project to learn from? \ |
2022-07-13 11:50:30 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Ping timeout: 268 seconds) |
2022-07-13 11:54:33 +0200 | __monty__ | (~toonn@user/toonn) |
2022-07-13 11:54:47 +0200 | <[exa]> | hsman: depends on what you want to learn. The whole hackage has "source" buttons, so you can literally click any function you like in the docs and see how people do it |
2022-07-13 11:55:20 +0200 | <[exa]> | albet70: do you have `upload-files.cabal` ? |
2022-07-13 11:55:35 +0200 | <[exa]> | that should be the starting point of your current project |
2022-07-13 11:59:29 +0200 | <hsman> | I would like to learn how to structure the project, how to "include" files etc. My experience this far is only with the usual suspects (C++, Python etc) where you have quite a lot of liberty on how to organise files etc. |
2022-07-13 11:59:42 +0200 | CiaoSen | (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-07-13 12:01:08 +0200 | <hsman> | albet70: I haven't used cabal |
2022-07-13 12:01:23 +0200 | CiaoSen | (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Client Quit) |
2022-07-13 12:04:00 +0200 | CiaoSen | (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-07-13 12:04:32 +0200 | Everything | (~Everythin@37.115.210.35) |
2022-07-13 12:05:48 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 12:07:27 +0200 | <chreekat> | albet70: it sounds like you just want to use scotty-login-session as a dependency in your project, right? If that's the case you don't want to download it manually, you just want to add it as a dependency in your project. You do that by editing your project's cabal file |
2022-07-13 12:10:05 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-07-13 12:10:24 +0200 | <chreekat> | Also if you just want to use it as a dependency, you don't need to bother with cabal.project file yet. That's basically only for projects that contain multiple Haskell packages. But you've just got one so far, "upload-files" |
2022-07-13 12:10:46 +0200 | `2jt | (~jtomas@84.78.228.192) |
2022-07-13 12:13:08 +0200 | <[exa]> | hsman: then this is probably for you https://wiki.haskell.org/How_to_write_a_Haskell_program |
2022-07-13 12:13:20 +0200 | <chreekat> | hsman: a Haskell package is defined by a cabal file. Unfortunately I haven't approached this from the newcomer perspective in a while, and I don't know if any good tutorials or examples for getting started off the top of my head. Fwiw the cabal docs are at https://cabal.readthedocs.io/en/3.6/ |
2022-07-13 12:13:43 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Ping timeout: 272 seconds) |
2022-07-13 12:15:56 +0200 | <chreekat> | Ah it looks like https://en.m.wikibooks.org/wiki/Haskell/Packaging has a link to a simple example package |
2022-07-13 12:16:16 +0200 | toluene | (~toluene@user/toulene) (Quit: Ping timeout (120 seconds)) |
2022-07-13 12:16:18 +0200 | Vajb | (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) |
2022-07-13 12:16:21 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
2022-07-13 12:17:48 +0200 | toluene | (~toluene@user/toulene) |
2022-07-13 12:18:10 +0200 | merijn | (~merijn@86.86.29.250) |
2022-07-13 12:18:18 +0200 | <albet70> | "🟢 [exa] :albet70: do you have `upload-files.cabal` ?", yes, I have |
2022-07-13 12:18:18 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds) |
2022-07-13 12:18:50 +0200 | Everything | (~Everythin@37.115.210.35) () |
2022-07-13 12:19:25 +0200 | <hsman> | Thanks. I'll have a look |
2022-07-13 12:19:58 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-07-13 12:22:10 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 12:24:16 +0200 | <schweers> | Since I recently ran `stack clean` on my project, my builds fail with this mysterious error: https://pastebin.com/gZx9bBD4 Does anyone have an idea what might be going on here? |
2022-07-13 12:26:53 +0200 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) (Read error: Connection reset by peer) |
2022-07-13 12:27:12 +0200 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) |
2022-07-13 12:28:36 +0200 | fjmorazan | (~quassel@user/fjmorazan) (Remote host closed the connection) |
2022-07-13 12:29:45 +0200 | fjmorazan | (~quassel@user/fjmorazan) |
2022-07-13 12:30:35 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 268 seconds) |
2022-07-13 12:30:37 +0200 | <schweers> | On a possibly related note: are there known problems with both cabal and stack when using debian unstable? I get warnings about GHC being very new. Also cabal won’t build my project, because it can’t satisfy the dependencies for some reason. It seems to be a problem with different versions. |
2022-07-13 12:31:12 +0200 | alexhandy2 | (~trace@user/trace) |
2022-07-13 12:31:32 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) (Quit: WeeChat 3.5) |
2022-07-13 12:33:23 +0200 | MajorBiscuit | (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) |
2022-07-13 12:33:42 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-07-13 12:34:11 +0200 | alexhandy | (~trace@user/trace) (Read error: Connection reset by peer) |
2022-07-13 12:34:17 +0200 | CiaoSen | (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-07-13 12:34:23 +0200 | alexhandy | (~trace@user/trace) |
2022-07-13 12:36:13 +0200 | ccapndave | (~ccapndave@xcpe-194-230-18-110.cgn.res.adslplus.ch) |
2022-07-13 12:36:56 +0200 | phma | (phma@2001:5b0:211f:568:3cfb:a496:a509:3082) (Read error: Connection reset by peer) |
2022-07-13 12:37:40 +0200 | alexhandy2 | (~trace@user/trace) (Ping timeout: 244 seconds) |
2022-07-13 12:37:42 +0200 | phma | (~phma@host-67-44-208-126.hnremote.net) |
2022-07-13 12:39:10 +0200 | <chreekat> | schweers: that warning looks specific to stack, which I hear doesn't support certain versions of ghc yet. In general, the interplay of versions of Haskell software (compiler, build tools, libraries) is sufficiently complex that relying on distro packages nearly doesn't work. For libraries you can rely on cabal/stack, and for compilers and cabal/stack themselves you can look at ghcup |
2022-07-13 12:40:32 +0200 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) |
2022-07-13 12:40:56 +0200 | <schweers> | So the general recommendation of the haskell community is to use ghcup instead of distro packages? |
2022-07-13 12:41:14 +0200 | <maerwald> | schweers: that's an excellent choice |
2022-07-13 12:44:33 +0200 | <Clint> | schweers: unstable is a mess right now due to the GHC 9 transition; if you want something usable you'd need to use stable or testing |
2022-07-13 12:47:03 +0200 | <[exa]> | schweers: distro packages usually serve for powering the distro haskell software distribution (e.g., compiling pandoc for debians), which is very likely not what you want as a programmer |
2022-07-13 12:47:31 +0200 | <[exa]> | albet70: where do you run the 'cabal install' ? should be next to that upload-files.cabal file. |
2022-07-13 12:48:08 +0200 | <schweers> | I see that it’s a mess at the time. I normally prefer to use distro packages, but it seems that for many languages that’s no longer a good choice. |
2022-07-13 12:49:06 +0200 | ccapndave | (~ccapndave@xcpe-194-230-18-110.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com) |
2022-07-13 12:49:13 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-07-13 12:50:32 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-07-13 12:51:18 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-13 12:51:28 +0200 | <john> | Hi .. I have a type signature munge :: (x -> y) -> (y -> (w, z)) -> x -> w for which the implementation in haskell book is |
2022-07-13 12:51:49 +0200 | <john> | munge :: (x -> y) -> (y -> (w, z)) -> x -> w |
2022-07-13 12:52:13 +0200 | <john> | sorry |
2022-07-13 12:52:37 +0200 | <john> | munge xy ywz x = fst $ ywz $ xy x |
2022-07-13 12:52:48 +0200 | <john> | how did they get the fst function here ?? |
2022-07-13 12:53:14 +0200 | <john> | :t munge xy ywz x = fst $ ywz $ xy x |
2022-07-13 12:53:15 +0200 | <lambdabot> | error: parse error on input ‘=’ |
2022-07-13 12:54:05 +0200 | Guest|38 | (~Guest|38@89.253.138.59) (Ping timeout: 255 seconds) |
2022-07-13 12:55:17 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 12:56:28 +0200 | <geekosaur> | :t let munge xy ywz x = fst $ ywz $ xy x in munge |
2022-07-13 12:56:29 +0200 | <lambdabot> | (t1 -> t2) -> (t2 -> (a, b)) -> t1 -> a |
2022-07-13 12:57:41 +0200 | Julius | (~Julius@ip5f5abb4c.dynamic.kabel-deutschland.de) |
2022-07-13 12:58:16 +0200 | Julius | (~Julius@ip5f5abb4c.dynamic.kabel-deutschland.de) (Client Quit) |
2022-07-13 12:59:01 +0200 | <geekosaur> | and I don't really understand the question, beyond that `ywz` is returning `(a,b)` so if we want just `a` then we have to use `fst` |
2022-07-13 12:59:08 +0200 | absence_ | absence |
2022-07-13 13:00:03 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-07-13 13:00:03 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-07-13 13:00:04 +0200 | <john> | "ywz is returning (a,b)" ? |
2022-07-13 13:00:39 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-07-13 13:01:10 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-13 13:01:19 +0200 | <geekosaur> | this comes from the type signature, compared to what the function is doing |
2022-07-13 13:01:30 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-07-13 13:01:39 +0200 | <john> | geekosaur: Can you explain the type signature "munge :: (x -> y) -> (y -> (w, z)) -> x -> w" |
2022-07-13 13:01:49 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-07-13 13:01:56 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) |
2022-07-13 13:01:57 +0200 | <geekosaur> | yes, based on the implementation |
2022-07-13 13:01:59 +0200 | pmarg | (~pmarg@2a01:799:159f:9b00:6584:89a5:7099:99c5) |
2022-07-13 13:02:17 +0200 | cheater | (~Username@user/cheater) (Quit: Bitchx: Better than peer) |
2022-07-13 13:02:18 +0200 | <albet70> | "🟢 [exa] :albet70: where do you run the 'cabal install' ? should be next to that upload-files.cabal file.", you mean I need to run "cabal install" inside upload-files before "cabal run"? |
2022-07-13 13:02:21 +0200 | <geekosaur> | fst (ywz (xy x)) |
2022-07-13 13:02:45 +0200 | <geekosaur> | (turning the `$`s into parentheses to show that it's function application) |
2022-07-13 13:03:22 +0200 | <geekosaur> | so this indicates that `ywz` and `xy` must be functions, and the type signature is showing you the types of these functions |
2022-07-13 13:04:07 +0200 | <geekosaur> | `xy` is a function from `x` to `y`, and `ywz` is a function from `y` to a tuple `(w,z)` |
2022-07-13 13:04:15 +0200 | <john> | I understood munge as a function which takes xy which in turn takes another function ywz which in turn takes an argument x resulting in an output w" .. does that sound right? |
2022-07-13 13:04:28 +0200 | <geekosaur> | not quite |
2022-07-13 13:04:49 +0200 | <geekosaur> | `xy` does not take that function. `munge xy` does |
2022-07-13 13:05:01 +0200 | <john> | yes |
2022-07-13 13:05:22 +0200 | <geekosaur> | (partial application, that is) |
2022-07-13 13:05:25 +0200 | <john> | yes |
2022-07-13 13:05:35 +0200 | <geekosaur> | `xy` is just a function from `x` to `y` |
2022-07-13 13:05:41 +0200 | <john> | ok |
2022-07-13 13:05:53 +0200 | <geekosaur> | `ywz` is a function from `y` to `(w,z)` |
2022-07-13 13:05:56 +0200 | mjacob | (~mjacob@adrastea.uberspace.de) (Read error: Connection reset by peer) |
2022-07-13 13:06:05 +0200 | <john> | ok |
2022-07-13 13:06:09 +0200 | <geekosaur> | then we want, according to the type of `munge`, just the `w` |
2022-07-13 13:06:18 +0200 | <geekosaur> | so it applies `fst` to the result |
2022-07-13 13:06:49 +0200 | <john> | in such a scenario.. y refers to the function fst? |
2022-07-13 13:07:15 +0200 | <geekosaur> | it *is* kinda difficul;t to trace through this because it all looks like type variable soup 🙂 but if you trace through them it becomes fairly obvious |
2022-07-13 13:07:23 +0200 | <geekosaur> | no |
2022-07-13 13:07:38 +0200 | <geekosaur> | `fst` is not a parameter, it's a function from the Prelude |
2022-07-13 13:07:43 +0200 | <john> | yes |
2022-07-13 13:08:11 +0200 | <geekosaur> | `y` is the same `y` produced by `xy` |
2022-07-13 13:08:42 +0200 | <john> | ok |
2022-07-13 13:10:09 +0200 | <geekosaur> | in some sense you can think of `$` as pipelining values from one function to another, so `ywz $ xy x` computes `xy x` and sends the result to `ywz` |
2022-07-13 13:10:13 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 13:10:20 +0200 | <geekosaur> | then the result of that is sent to `fst` |
2022-07-13 13:10:24 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-07-13 13:10:26 +0200 | cheater | (~Username@user/cheater) |
2022-07-13 13:10:54 +0200 | <geekosaur> | (in general function application and function composition go right to left, not left to right) |
2022-07-13 13:11:21 +0200 | <john> | and that necessarily has to give the value (w,z) and we want to get w out so we apply fst ?? |
2022-07-13 13:11:42 +0200 | mjacob | (~mjacob@adrastea.uberspace.de) |
2022-07-13 13:12:22 +0200 | <geekosaur> | yes |
2022-07-13 13:12:29 +0200 | <john> | got it.. |
2022-07-13 13:12:35 +0200 | bontaq` | (~user@ool-45779fe5.dyn.optonline.net) |
2022-07-13 13:13:49 +0200 | <john> | one more advice.. you mentioned tracing through the it.. how do you do it.? I understand when you have real values you can compute / solve a bit and see if its lining along but how do you do it with abstract values? |
2022-07-13 13:15:22 +0200 | <geekosaur> | you can still see the flow of types. you also need the implementation as guidance, though |
2022-07-13 13:15:31 +0200 | hpc | (~juzz@ip98-169-32-242.dc.dc.cox.net) |
2022-07-13 13:15:38 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2022-07-13 13:16:28 +0200 | xff0x | (~xff0x@2405:6580:b080:900:226f:8243:60d1:9235) |
2022-07-13 13:16:28 +0200 | <geekosaur> | but, for example, since `w` only appears in the tuple `(w,z)` and as the result type, you can tell immediately that the tuple must be the result of `ywz` |
2022-07-13 13:16:38 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-07-13 13:16:38 +0200 | bjobjo | (~bjobjo@user/bjobjo) |
2022-07-13 13:17:05 +0200 | <john> | ok |
2022-07-13 13:17:18 +0200 | <absence> | is there a way to "rebalance" tuples automatically, e.g. ((x, y), z) -> (x, (y, z)), without spelling out all possible permutations? i realise that such tuples are different types, so i guess it would involve something like generics/th |
2022-07-13 13:17:51 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-07-13 13:18:15 +0200 | <geekosaur> | yeh, probably generics |
2022-07-13 13:19:00 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Ping timeout: 244 seconds) |
2022-07-13 13:19:10 +0200 | <geekosaur> | it's kinda unfortunate that tuples don't behave somewhat like lists (iirc they do in some other haskell-like languages😞 (a,b,c) is actually (a,(b,c)), and so on |
2022-07-13 13:20:12 +0200 | <fockerize> | any web scrapers that also supports modification or updates? |
2022-07-13 13:20:37 +0200 | <fockerize> | I'm fond of the scalpel library, but it can't update files |
2022-07-13 13:22:10 +0200 | <absence> | geekosaur: that sounds nice... do you know if there's a library that already does something like that with generics? |
2022-07-13 13:22:45 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-07-13 13:23:01 +0200 | <geekosaur[m]> | Not offhand |
2022-07-13 13:26:19 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 13:27:50 +0200 | john | (~john@60.254.0.204) (Ping timeout: 255 seconds) |
2022-07-13 13:30:25 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 13:32:50 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-07-13 13:33:17 +0200 | jtomas | (~jtomas@84.78.228.192) |
2022-07-13 13:34:13 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-07-13 13:34:38 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-07-13 13:34:50 +0200 | `2jt | (~jtomas@84.78.228.192) (Read error: Connection reset by peer) |
2022-07-13 13:35:15 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-07-13 13:36:08 +0200 | `2jt | (~jtomas@84.78.228.192) |
2022-07-13 13:37:02 +0200 | <schweers> | Can someone explain this cabal line to me? [__1] rejecting: base-4.14.3.0/installed-4.14.3.0 (conflict: aufb => base^>=4.11.3.0 && <5) |
2022-07-13 13:37:06 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 13:37:17 +0200 | <schweers> | Why does 4.14.3 not satisfy >=4.11.3.0? |
2022-07-13 13:37:31 +0200 | <schweers> | Also: what does ^>= mean, compared to >=? |
2022-07-13 13:38:10 +0200 | jtomas | (~jtomas@84.78.228.192) (Ping timeout: 260 seconds) |
2022-07-13 13:38:49 +0200 | <merijn> | schweers: See the 2nd half of: https://cabal.readthedocs.io/en/3.6/cabal-package.html#pkg-field-build-depends |
2022-07-13 13:39:19 +0200 | cheater | (~Username@user/cheater) (Quit: (BitchX) If you gaze into the abyss, the abyss gazes also into you) |
2022-07-13 13:40:18 +0200 | <schweers> | Oh, I see, thank you very much! |
2022-07-13 13:40:45 +0200 | <merijn> | I'm guessing the <5 constraint comes from another package |
2022-07-13 13:40:47 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-07-13 13:41:19 +0200 | <merijn> | And it's really just a conflict of ^>=4.11.3.0 not allowing 4.14 |
2022-07-13 13:41:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 13:42:19 +0200 | raym | (~raym@user/raym) |
2022-07-13 13:43:10 +0200 | [exa] | (exa@user/exa/x-3587197) (Ping timeout: 240 seconds) |
2022-07-13 13:44:00 +0200 | [exa] | (exa@srv3.blesmrt.net) |
2022-07-13 13:46:02 +0200 | emanon421 | (~emanon42@103.120.19.44) |
2022-07-13 13:47:24 +0200 | cheater | (~Username@user/cheater) |
2022-07-13 13:47:37 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 13:47:54 +0200 | emanon42 | (~emanon42@103.120.19.44) (Ping timeout: 272 seconds) |
2022-07-13 13:47:54 +0200 | emanon421 | emanon42 |
2022-07-13 13:51:41 +0200 | merijn | (~merijn@86.86.29.250) (Ping timeout: 255 seconds) |
2022-07-13 13:52:04 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Ping timeout: 244 seconds) |
2022-07-13 13:57:26 +0200 | john | (~john@115.96.219.230) |
2022-07-13 14:05:30 +0200 | bliminse | (~bliminse@user/bliminse) (Ping timeout: 240 seconds) |
2022-07-13 14:06:57 +0200 | cheater | (~Username@user/cheater) (Read error: Connection reset by peer) |
2022-07-13 14:07:28 +0200 | bliminse | (~bliminse@user/bliminse) |
2022-07-13 14:18:25 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) |
2022-07-13 14:21:11 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-07-13 14:23:55 +0200 | pmarg | (~pmarg@2a01:799:159f:9b00:6584:89a5:7099:99c5) (Remote host closed the connection) |
2022-07-13 14:27:45 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-07-13 14:29:10 +0200 | `2jt | (~jtomas@84.78.228.192) (Ping timeout: 240 seconds) |
2022-07-13 14:29:28 +0200 | schweers | (~user@p200300e34f1b3c008e5a2f37be14a79a.dip0.t-ipconnect.de) (Remote host closed the connection) |
2022-07-13 14:30:47 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 14:31:13 +0200 | alexhandy2 | (~trace@user/trace) |
2022-07-13 14:31:34 +0200 | dschrempf | (~dominik@mobiledyn-62-240-134-33.mrsn.at) |
2022-07-13 14:33:59 +0200 | alexhandy | (~trace@user/trace) (Read error: Connection reset by peer) |
2022-07-13 14:34:19 +0200 | alexhandy | (~trace@user/trace) |
2022-07-13 14:35:28 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-07-13 14:37:32 +0200 | alexhandy2 | (~trace@user/trace) (Ping timeout: 244 seconds) |
2022-07-13 14:37:45 +0200 | pgas | (~pg@190.247.245.154) |
2022-07-13 14:38:25 +0200 | img | (~img@user/img) |
2022-07-13 14:39:47 +0200 | fserucas | (~fserucas@89.214.118.110) |
2022-07-13 14:39:51 +0200 | fserucas_ | (~fserucas@89.214.118.110) |
2022-07-13 14:41:51 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-13 14:42:24 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Remote host closed the connection) |
2022-07-13 14:42:37 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-13 14:43:45 +0200 | Guest34 | (~Guest34@152.7.255.203) |
2022-07-13 14:47:40 +0200 | phma | (~phma@host-67-44-208-126.hnremote.net) (Read error: Connection reset by peer) |
2022-07-13 14:47:58 +0200 | raym | (~raym@user/raym) (Ping timeout: 240 seconds) |
2022-07-13 14:48:19 +0200 | dextaa | (~DV@user/dextaa) (Read error: Connection reset by peer) |
2022-07-13 14:48:38 +0200 | phma | (~phma@2001:5b0:211c:45d8:dcca:18c7:bf12:f383) |
2022-07-13 14:50:22 +0200 | dextaa | (~DV@user/dextaa) |
2022-07-13 14:51:09 +0200 | dextaa | (~DV@user/dextaa) (Read error: Connection reset by peer) |
2022-07-13 14:51:55 +0200 | <qrpnxz> | there a way to get ghc to do an action when the garbage collector is called on an object? |
2022-07-13 14:52:32 +0200 | ccntrq | (~Thunderbi@2a01:c22:90b1:6100:1d89:f6ad:e13f:6833) (Ping timeout: 244 seconds) |
2022-07-13 14:52:35 +0200 | bontaq` | bontaq |
2022-07-13 14:53:03 +0200 | <qrpnxz> | like __gc in lua |
2022-07-13 14:53:22 +0200 | dextaa | (~DV@user/dextaa) |
2022-07-13 14:53:27 +0200 | <kuribas> | qrpnxz: if you use the FFI you can make your own finalizer. |
2022-07-13 14:53:36 +0200 | <kuribas> | as far as I remember |
2022-07-13 14:54:19 +0200 | <qrpnxz> | hmm thanks. |
2022-07-13 14:54:33 +0200 | <qrpnxz> | Think i can get by with just a bracket actually, but that's good to know. |
2022-07-13 14:54:35 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 14:54:52 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) |
2022-07-13 14:55:56 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 14:56:58 +0200 | jpds1 | jpds |
2022-07-13 14:59:07 +0200 | <geekosaur> | there is ForeignPtr |
2022-07-13 14:59:38 +0200 | ccntrq | (~Thunderbi@dynamic-095-112-112-176.95.112.pool.telefonica.de) |
2022-07-13 14:59:38 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 15:00:23 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-07-13 15:01:06 +0200 | mima | (~mmh@aftr-62-216-210-233.dynamic.mnet-online.de) (Quit: leaving) |
2022-07-13 15:01:23 +0200 | ubert | (~Thunderbi@91.141.39.36.wireless.dyn.drei.com) (Quit: ubert) |
2022-07-13 15:01:31 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 15:02:21 +0200 | shriekingnoise | (~shrieking@201.212.175.181) |
2022-07-13 15:03:20 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::909a) |
2022-07-13 15:06:39 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 276 seconds) |
2022-07-13 15:07:50 +0200 | Colere | (~colere@about/linux/staff/sauvin) (Ping timeout: 240 seconds) |
2022-07-13 15:08:33 +0200 | Colere | (~colere@about/linux/staff/sauvin) |
2022-07-13 15:09:28 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 15:09:36 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds) |
2022-07-13 15:11:00 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-07-13 15:11:07 +0200 | Furor | (~colere@about/linux/staff/sauvin) |
2022-07-13 15:12:58 +0200 | john | (~john@115.96.219.230) (Quit: Leaving) |
2022-07-13 15:13:43 +0200 | Colere | (~colere@about/linux/staff/sauvin) (Ping timeout: 244 seconds) |
2022-07-13 15:14:29 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
2022-07-13 15:18:01 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds) |
2022-07-13 15:19:18 +0200 | chomwitt | (~chomwitt@2a02:587:dc0d:4a00:2f00:f9a4:8560:d503) |
2022-07-13 15:20:20 +0200 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-13 15:25:08 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-07-13 15:25:39 +0200 | ccntrq1 | (~Thunderbi@2a01:c23:9146:7000:ddce:cb28:98cc:4397) |
2022-07-13 15:26:03 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-13 15:26:10 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 15:27:27 +0200 | ccntrq | (~Thunderbi@dynamic-095-112-112-176.95.112.pool.telefonica.de) (Ping timeout: 276 seconds) |
2022-07-13 15:27:27 +0200 | ccntrq1 | ccntrq |
2022-07-13 15:28:45 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
2022-07-13 15:29:36 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 15:32:11 +0200 | dcoutts_ | (~duncan@host86-158-23-99.range86-158.btcentralplus.com) (Remote host closed the connection) |
2022-07-13 15:32:29 +0200 | dcoutts_ | (~duncan@host86-158-23-99.range86-158.btcentralplus.com) |
2022-07-13 15:35:31 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 15:36:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 15:36:33 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds) |
2022-07-13 15:38:21 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 15:39:16 +0200 | ystael | (~ystael@user/ystael) (Quit: Lost terminal) |
2022-07-13 15:40:36 +0200 | dcoutts | (~duncan@host86-151-44-236.range86-151.btcentralplus.com) |
2022-07-13 15:41:50 +0200 | dcoutts_ | (~duncan@host86-158-23-99.range86-158.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 15:42:34 +0200 | geschwindig | (~John_Ivan@user/john-ivan/x-1515935) |
2022-07-13 15:43:59 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 15:45:40 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 15:49:26 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-07-13 15:49:33 +0200 | juri_ | (~juri@84-19-175-179.pool.ovpn.com) |
2022-07-13 15:49:41 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-07-13 15:50:45 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.5) |
2022-07-13 15:51:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 15:51:20 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 15:51:38 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-07-13 15:53:38 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2022-07-13 15:54:24 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 15:55:41 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-13 15:56:13 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 15:57:06 +0200 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
2022-07-13 15:57:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 15:57:38 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-13 15:58:34 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
2022-07-13 15:58:43 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-13 15:58:51 +0200 | dcoutts_ | (~duncan@host86-151-44-236.range86-151.btcentralplus.com) |
2022-07-13 15:59:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 15:59:41 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-13 15:59:41 +0200 | dcoutts | (~duncan@host86-151-44-236.range86-151.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 16:00:11 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-07-13 16:00:20 +0200 | raym | (~raym@user/raym) |
2022-07-13 16:00:37 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-13 16:01:13 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 16:02:10 +0200 | fockerize | (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds) |
2022-07-13 16:03:10 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-07-13 16:06:29 +0200 | dcoutts | (~duncan@host86-151-44-236.range86-151.btcentralplus.com) |
2022-07-13 16:07:50 +0200 | dcoutts_ | (~duncan@host86-151-44-236.range86-151.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 16:08:38 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-07-13 16:10:20 +0200 | dcoutts_ | (~duncan@host86-176-29-82.range86-176.btcentralplus.com) |
2022-07-13 16:10:44 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 16:11:13 +0200 | MajorBiscuit | (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 272 seconds) |
2022-07-13 16:12:04 +0200 | MajorBiscuit | (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) |
2022-07-13 16:12:10 +0200 | dcoutts | (~duncan@host86-151-44-236.range86-151.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 16:12:40 +0200 | dcoutts | (~duncan@host86-167-90-210.range86-167.btcentralplus.com) |
2022-07-13 16:14:07 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 16:14:41 +0200 | dcoutts_ | (~duncan@host86-176-29-82.range86-176.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 16:17:31 +0200 | fserucas__ | (~fserucas@1.75.114.89.rev.vodafone.pt) |
2022-07-13 16:18:17 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 16:19:38 +0200 | fserucas_ | (~fserucas@89.214.118.110) (Ping timeout: 240 seconds) |
2022-07-13 16:19:51 +0200 | fserucas_ | (~fserucas@1.75.114.89.rev.vodafone.pt) |
2022-07-13 16:20:43 +0200 | fserucas | (~fserucas@89.214.118.110) (Ping timeout: 272 seconds) |
2022-07-13 16:24:15 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-07-13 16:27:57 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) |
2022-07-13 16:28:43 +0200 | <maerwald[m]> | https://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-200002.6 |
2022-07-13 16:28:57 +0200 | <maerwald[m]> | I'm wondering if base's Char type violates the standard |
2022-07-13 16:29:18 +0200 | <maerwald[m]> | As in: is the description of Char in the standard exhaustive? |
2022-07-13 16:30:09 +0200 | <maerwald[m]> | Because it doesn't speak of unicode codepoint, it is much more specific. But it's not clear to me whether it demands only those properties |
2022-07-13 16:30:18 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds) |
2022-07-13 16:32:34 +0200 | elkcl | (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
2022-07-13 16:33:02 +0200 | <dolio> | https://www.haskell.org/onlinereport/haskell2010/haskellch6.html#x13-1190006.1.2 |
2022-07-13 16:33:41 +0200 | <geekosaur> | https://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-160002.2 has it hidden in graphic |
2022-07-13 16:34:19 +0200 | <dolio> | Or do you mean, it doesn't say you're allowed to use actual codepoints in a string? |
2022-07-13 16:34:27 +0200 | <geekosaur> | interestingly, the spec disallows literal unicode whitespace |
2022-07-13 16:35:03 +0200 | <geekosaur> | (since it calls for space instead of whitechar) |
2022-07-13 16:35:41 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 16:35:43 +0200 | frost | (~frost@user/frost) |
2022-07-13 16:35:47 +0200 | <maerwald[m]> | dolio: Char allows surrogates even |
2022-07-13 16:35:53 +0200 | <maerwald[m]> | I don't see that in the spec |
2022-07-13 16:36:32 +0200 | <maerwald[m]> | This causes issues for IsString class |
2022-07-13 16:36:44 +0200 | dextaa | (~DV@user/dextaa) (Read error: Connection reset by peer) |
2022-07-13 16:38:39 +0200 | <geekosaur> | (actually it also excludes literal tabs, which makes me think it's the standard that is buggy) |
2022-07-13 16:38:57 +0200 | dextaa | (~DV@user/dextaa) |
2022-07-13 16:39:56 +0200 | <dolio> | What is the space lexeme used for? |
2022-07-13 16:41:17 +0200 | <geekosaur> | it's used in the definition of whitechar which in turn is used in the definition of whitestuff |
2022-07-13 16:41:35 +0200 | <geekosaur> | space → a space (https://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-160002.2) |
2022-07-13 16:41:36 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-07-13 16:42:38 +0200 | <dolio> | Yeah, I saw that. But I don't have an encyclopedic knowledge of everywhere else `space` is referred to. And without that, it's not obvious that having a symbol for exactly an ascii space is a bug. |
2022-07-13 16:43:25 +0200 | <geekosaur> | I didn';t say it was. I said that using it in the definition of Char and String literals probably is, because it excludes both Unicode whitespace codepoints and literal tabs |
2022-07-13 16:43:44 +0200 | <geekosaur> | and that whitechar was probably intended |
2022-07-13 16:44:24 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-07-13 16:45:09 +0200 | <dolio> | Can't be whitechar. |
2022-07-13 16:45:24 +0200 | <dolio> | It'd have to be filtered, at least. |
2022-07-13 16:45:25 +0200 | <geekosaur> | it also looks to me like grapheme covers most non-whitespace Unicode codepoints, so they're valid in Char and String literals. dunno on a quick look whether that would include surrogates |
2022-07-13 16:45:27 +0200 | <maerwald[m]> | Unicode standard chapter 22 defines Symbols. From my understanding, that excludes surrogates |
2022-07-13 16:45:30 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 240 seconds) |
2022-07-13 16:45:40 +0200 | <dolio> | Which I assume is what the subscript means. |
2022-07-13 16:46:10 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5) |
2022-07-13 16:46:12 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 16:46:43 +0200 | juri_ | (~juri@84-19-175-179.pool.ovpn.com) (Ping timeout: 244 seconds) |
2022-07-13 16:46:53 +0200 | <maerwald[m]> | https://imgur.com/a/px8MqRQ |
2022-07-13 16:49:19 +0200 | <geekosaur> | but I also think excluding surrogates from Char is a similar problem to excluding negative numbers from Word: for the most part it's defined at runtime, not compile time |
2022-07-13 16:50:40 +0200 | <geekosaur> | literals should exclude them, but excluding them from base would require every operation on Char or String to check for them |
2022-07-13 16:51:18 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2022-07-13 16:51:50 +0200 | <maerwald[m]> | geekosaur: yes but IsString doesn't just work on literals |
2022-07-13 16:53:27 +0200 | juri_ | (~juri@dynamic-089-204-138-046.89.204.138.pool.telefonica.de) |
2022-07-13 16:53:32 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 16:54:26 +0200 | <geekosaur> | dolio, what did you mean by "can't be whitechar"? |
2022-07-13 16:55:25 +0200 | <geekosaur> | oh, that newline would need to be filtered? (and probablky vertical tab) |
2022-07-13 16:55:43 +0200 | <geekosaur> | that's unfortunate, yes |
2022-07-13 16:55:59 +0200 | <geekosaur> | but then this feels like the whole grammar needs to be carefully gone over |
2022-07-13 16:56:21 +0200 | chomwitt | (~chomwitt@2a02:587:dc0d:4a00:2f00:f9a4:8560:d503) (Remote host closed the connection) |
2022-07-13 16:56:40 +0200 | <dolio> | Right, it has stuff that can't be allowed in a character literal. |
2022-07-13 16:56:42 +0200 | chomwitt | (~chomwitt@2a02:587:dc0d:4a00:deae:e1cf:72:7368) |
2022-07-13 16:57:09 +0200 | <dolio> | There needs to be a 'within line whitespace' token or something. |
2022-07-13 16:57:27 +0200 | raym | (~raym@user/raym) (Ping timeout: 272 seconds) |
2022-07-13 16:57:38 +0200 | raym | (~raym@user/raym) |
2022-07-13 16:58:43 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 16:59:04 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-07-13 17:00:17 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 17:02:10 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2022-07-13 17:02:23 +0200 | pgas | (~pg@190.247.245.154) (Leaving) |
2022-07-13 17:02:37 +0200 | pgas | (~pg@190.247.245.154) |
2022-07-13 17:04:10 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-13 17:05:09 +0200 | dcoutts_ | (~duncan@host86-167-90-210.range86-167.btcentralplus.com) |
2022-07-13 17:11:01 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-07-13 17:11:07 +0200 | frost | (~frost@user/frost) |
2022-07-13 17:16:26 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) |
2022-07-13 17:16:55 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds) |
2022-07-13 17:18:13 +0200 | yax | (~yax@2402:e280:3e30:264:6382:23ae:df6a:b0e1) |
2022-07-13 17:18:36 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 17:18:48 +0200 | cheater | (~Username@user/cheater) |
2022-07-13 17:18:55 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-07-13 17:18:56 +0200 | yax | (~yax@2402:e280:3e30:264:6382:23ae:df6a:b0e1) (Changing host) |
2022-07-13 17:18:56 +0200 | yax | (~yax@user/yax/x-9576643) |
2022-07-13 17:18:57 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-13 17:19:21 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-13 17:19:24 +0200 | yax | (~yax@user/yax/x-9576643) () |
2022-07-13 17:19:39 +0200 | yax | (~yax@user/yax/x-9576643) |
2022-07-13 17:19:55 +0200 | yax | yax__ |
2022-07-13 17:20:01 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 17:20:10 +0200 | ulvarrefr | (~user@185.24.53.152) |
2022-07-13 17:20:29 +0200 | yax__ | (~yax@user/yax/x-9576643) () |
2022-07-13 17:21:14 +0200 | yax__ | (~yax@user/yax/x-9576643) |
2022-07-13 17:21:31 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
2022-07-13 17:22:08 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 17:23:04 +0200 | zebrag | (~chris@user/zebrag) |
2022-07-13 17:23:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 17:24:29 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 17:24:39 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-07-13 17:26:14 +0200 | nek0 | (~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat) |
2022-07-13 17:27:12 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 268 seconds) |
2022-07-13 17:27:40 +0200 | nek0 | (~nek0@2a01:4f8:222:2b41::12) |
2022-07-13 17:28:34 +0200 | juri_ | (~juri@dynamic-089-204-138-046.89.204.138.pool.telefonica.de) (Read error: Connection reset by peer) |
2022-07-13 17:29:27 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-07-13 17:30:23 +0200 | PiDelport | (uid25146@id-25146.lymington.irccloud.com) |
2022-07-13 17:30:33 +0200 | juri_ | (~juri@dynamic-089-204-138-046.89.204.138.pool.telefonica.de) |
2022-07-13 17:30:47 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-07-13 17:32:51 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 17:35:11 +0200 | HaxCPU | Andrew |
2022-07-13 17:37:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Remote host closed the connection) |
2022-07-13 17:39:33 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-13 17:40:30 +0200 | stoned | Hash |
2022-07-13 17:41:01 +0200 | dcoutts__ | (~duncan@host86-155-218-160.range86-155.btcentralplus.com) |
2022-07-13 17:41:23 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 268 seconds) |
2022-07-13 17:42:26 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-13 17:43:32 +0200 | dcoutts | (~duncan@host86-167-90-210.range86-167.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 17:43:45 +0200 | dcoutts_ | (~duncan@host86-167-90-210.range86-167.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-07-13 17:44:03 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2022-07-13 17:44:13 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-13 17:44:46 +0200 | frost | (~frost@user/frost) (Ping timeout: 252 seconds) |
2022-07-13 17:45:59 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 17:46:06 +0200 | dcoutts_ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 17:46:50 +0200 | Andrew | HaxCPU |
2022-07-13 17:47:23 +0200 | schweers | (~user@2001:9e8:be68:9d00:aaa1:59ff:fe3f:235c) |
2022-07-13 17:47:51 +0200 | dcoutts__ | (~duncan@host86-155-218-160.range86-155.btcentralplus.com) (Ping timeout: 276 seconds) |
2022-07-13 17:49:19 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-07-13 17:50:06 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection) |
2022-07-13 17:50:14 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) |
2022-07-13 17:52:25 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
2022-07-13 17:54:39 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-07-13 17:56:05 +0200 | skubcat | (~Guest48@156.57.184.235) |
2022-07-13 17:56:07 +0200 | dschrempf | (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5) |
2022-07-13 17:56:23 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 17:57:36 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 276 seconds) |
2022-07-13 17:57:44 +0200 | <sm> | is there a more robust, featureful, portable regex lib than regex-tdfa these days ? |
2022-07-13 17:58:53 +0200 | ccntrq | (~Thunderbi@2a01:c23:9146:7000:ddce:cb28:98cc:4397) (Remote host closed the connection) |
2022-07-13 17:59:12 +0200 | ccntrq | (~Thunderbi@2a01:c23:9146:7000:ddce:cb28:98cc:4397) |
2022-07-13 17:59:43 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-07-13 18:00:43 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 18:01:50 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
2022-07-13 18:02:06 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Remote host closed the connection) |
2022-07-13 18:02:29 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:02:37 +0200 | dcoutts__ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:05:51 +0200 | dcoutts_ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 272 seconds) |
2022-07-13 18:06:16 +0200 | dcoutts_ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:07:30 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 18:07:38 +0200 | juri_ | (~juri@dynamic-089-204-138-046.89.204.138.pool.telefonica.de) (Ping timeout: 240 seconds) |
2022-07-13 18:07:58 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds) |
2022-07-13 18:08:23 +0200 | dcoutts__ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 272 seconds) |
2022-07-13 18:08:38 +0200 | acidjnk_new | (~acidjnk@p200300d6e7058698ed7ff12f14b44c79.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-07-13 18:08:45 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:09:30 +0200 | Guest8527 | (~Guest85@ti0185a400-0748.bb.online.no) |
2022-07-13 18:09:38 +0200 | juri_ | (~juri@84-19-175-179.pool.ovpn.com) |
2022-07-13 18:12:06 +0200 | MajorBiscuit | (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Read error: Connection reset by peer) |
2022-07-13 18:15:36 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 18:16:57 +0200 | ccntrq | (~Thunderbi@2a01:c23:9146:7000:ddce:cb28:98cc:4397) (Remote host closed the connection) |
2022-07-13 18:22:05 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.5) |
2022-07-13 18:24:13 +0200 | mmhat | (~mmh@p200300f1c7090754ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5) |
2022-07-13 18:24:15 +0200 | chomwitt | (~chomwitt@2a02:587:dc0d:4a00:deae:e1cf:72:7368) (Ping timeout: 276 seconds) |
2022-07-13 18:24:45 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-13 18:25:10 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-13 18:26:33 +0200 | kuribas | (~user@silversquare.silversquare.eu) (Quit: ERC (IRC client for Emacs 26.3)) |
2022-07-13 18:27:10 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds) |
2022-07-13 18:27:47 +0200 | biberu | (~biberu@user/biberu) |
2022-07-13 18:31:32 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 18:31:36 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 244 seconds) |
2022-07-13 18:32:36 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-07-13 18:32:38 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) |
2022-07-13 18:36:16 +0200 | yax__ | (~yax@user/yax/x-9576643) (Ping timeout: 268 seconds) |
2022-07-13 18:38:05 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 18:43:02 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Ping timeout: 272 seconds) |
2022-07-13 18:43:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 18:46:58 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) |
2022-07-13 18:49:43 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Remote host closed the connection) |
2022-07-13 18:49:54 +0200 | schweers | (~user@2001:9e8:be68:9d00:aaa1:59ff:fe3f:235c) (ERC 5.4 (IRC client for GNU Emacs 28.1)) |
2022-07-13 18:50:01 +0200 | dcoutts__ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:50:06 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:50:27 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
2022-07-13 18:51:21 +0200 | fockerize | (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-07-13 18:52:10 +0200 | dcoutts_ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 18:53:58 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-07-13 18:54:50 +0200 | chomwitt | (~chomwitt@2a02:587:dc0d:4a00:dd89:2ce:aa76:b885) |
2022-07-13 18:56:14 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 18:58:30 +0200 | dcoutts_ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:59:21 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 276 seconds) |
2022-07-13 18:59:30 +0200 | dcoutts__ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 18:59:45 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 18:59:48 +0200 | jese | (~nikola@178-221-112-41.dynamic.isp.telekom.rs) |
2022-07-13 19:00:17 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-13 19:00:28 +0200 | sander | (~sander@user/sander) (Quit: So long! :)) |
2022-07-13 19:00:36 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-13 19:00:57 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 268 seconds) |
2022-07-13 19:01:38 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-07-13 19:01:38 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-07-13 19:01:41 +0200 | allbery_b | geekosaur |
2022-07-13 19:03:26 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-07-13 19:04:42 +0200 | <jese> | Where can i see with which versions of base my compiler comes with? |
2022-07-13 19:05:31 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 19:05:35 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-07-13 19:05:35 +0200 | jinsun | Guest2672 |
2022-07-13 19:05:35 +0200 | Guest2672 | (~jinsun@user/jinsun) (Killed (tungsten.libera.chat (Nickname regained by services))) |
2022-07-13 19:05:35 +0200 | jinsun__ | jinsun |
2022-07-13 19:06:36 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 19:10:57 +0200 | <[exa]> | jese: I'm usually looking at the output of `ghc-pkg list` but there might be better ways |
2022-07-13 19:11:05 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-07-13 19:11:46 +0200 | <[exa]> | AFAIK the ghc and base versions are pretty much fixed 1:1, so you might have luck with just `ghc --version` and looking base up on the internet (if there's a page about it :D ) |
2022-07-13 19:13:02 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-07-13 19:13:09 +0200 | yax___ | (~yax@user/yax/x-9576643) |
2022-07-13 19:14:26 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 19:15:06 +0200 | <geekosaur> | https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history |
2022-07-13 19:16:19 +0200 | <[exa]> | oh beautiful |
2022-07-13 19:16:33 +0200 | mbuf | (~Shakthi@122.165.55.71) (Quit: Leaving) |
2022-07-13 19:17:32 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Remote host closed the connection) |
2022-07-13 19:17:53 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 19:17:57 +0200 | <geekosaur> | but as mentioned, to see which version your compiler comes with, "ghc-pkg list base" |
2022-07-13 19:18:49 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 268 seconds) |
2022-07-13 19:19:18 +0200 | pmarg | (~pmarg@2a01:799:159f:9b00:893e:346:2854:a0fd) |
2022-07-13 19:19:57 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 272 seconds) |
2022-07-13 19:20:20 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-07-13 19:20:30 +0200 | Guest45 | (~Guest45@bras-base-okvlon5405w-grc-53-70-30-46-127.dsl.bell.ca) |
2022-07-13 19:20:48 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
2022-07-13 19:21:48 +0200 | yax___ | (~yax@user/yax/x-9576643) (Remote host closed the connection) |
2022-07-13 19:24:04 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-07-13 19:24:56 +0200 | econo | (uid147250@user/econo) |
2022-07-13 19:25:20 +0200 | coot | (~coot@213.134.190.95) |
2022-07-13 19:27:30 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 240 seconds) |
2022-07-13 19:29:19 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 19:32:09 +0200 | <jese> | i see i have only one version of base; i thought i have more of them. can i install other versions of base or is base always tied to the compiler? |
2022-07-13 19:32:42 +0200 | <[exa]> | base is very tightly glued to the compiler |
2022-07-13 19:32:54 +0200 | <[exa]> | if you want another base, you probably need another ghc |
2022-07-13 19:32:54 +0200 | <Rembane> | jese: You can have many versions of base but base is always tied to the compiler. Both ghcup and stack helps you manage different version of ghc. |
2022-07-13 19:33:22 +0200 | <geekosaur> | well, there was one compiler which supported two versions of base. it's the reason they don't do that any more |
2022-07-13 19:34:03 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 19:38:38 +0200 | <jese> | Rembane: what about cabal? can it automatically select ghc to use based upon base constraints of a package i want to build? |
2022-07-13 19:38:56 +0200 | <jese> | (probably not but let's give it a try) |
2022-07-13 19:39:14 +0200 | <geekosaur> | cabal can't autoselect one for you but you can select one for it with -w |
2022-07-13 19:39:25 +0200 | <Rembane> | jese: What geekosaur said |
2022-07-13 19:39:30 +0200 | <geekosaur> | I'm unclear on whether that's intended as a future feature |
2022-07-13 19:39:59 +0200 | janus | (janus@anubis.0x90.dk) |
2022-07-13 19:40:15 +0200 | <jese> | i get it |
2022-07-13 19:40:17 +0200 | <janus> | which ghc releases, if any, include the driver rework patch ? https://gitlab.haskell.org/ghc/ghc/-/commit/25977ab542a30df4ae71d9699d015bcdd1ab7cfb |
2022-07-13 19:41:14 +0200 | <janus> | if i click the '...' next to 'branches unavailable' it says 9.4.1-alpha1, I guess that means its not in 9.2? |
2022-07-13 19:42:19 +0200 | <geekosaur> | yeh, that looks like it's in 9.4pre |
2022-07-13 19:46:01 +0200 | dcoutts__ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 19:48:34 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 19:48:34 +0200 | dcoutts_ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 19:48:58 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 19:50:55 +0200 | dcoutts__ | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-07-13 19:55:18 +0200 | <jese> | if i use stack will the process of building, installing, and selecting the appropriate compiler version be carried out automatically? so that i don't have to bother with both ghcup and cabal. |
2022-07-13 19:57:15 +0200 | <geekosaur> | stack doesn't select automatically either. it lives and dies by the resolver you specify |
2022-07-13 19:57:44 +0200 | <geekosaur> | it just autoselects a bunch of compatible libraries for you, not just base, from the resolver |
2022-07-13 19:57:48 +0200 | acidjnk_new | (~acidjnk@p200300d6e7058698ed7ff12f14b44c79.dip0.t-ipconnect.de) |
2022-07-13 19:58:56 +0200 | nightbreak[Away] | nightbreak_ |
2022-07-13 19:58:58 +0200 | <jese> | okay thanks |
2022-07-13 19:59:33 +0200 | Guest34 | (~Guest34@152.7.255.203) (Quit: Client closed) |
2022-07-13 20:00:04 +0200 | hsman | (~hsman@80.95.197.227) (Quit: Client closed) |
2022-07-13 20:03:08 +0200 | <jese> | /exit/exit |
2022-07-13 20:03:10 +0200 | jese | (~nikola@178-221-112-41.dynamic.isp.telekom.rs) (Quit: leaving) |
2022-07-13 20:05:57 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-07-13 20:06:22 +0200 | kenran | (~kenran@200116b82b67ed00effa09132c8744c8.dip.versatel-1u1.de) |
2022-07-13 20:08:17 +0200 | causal | (~user@50.35.83.177) |
2022-07-13 20:09:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 20:14:02 +0200 | sander | (~sander@user/sander) |
2022-07-13 20:15:04 +0200 | Guest45 | (~Guest45@bras-base-okvlon5405w-grc-53-70-30-46-127.dsl.bell.ca) (Quit: Client closed) |
2022-07-13 20:15:13 +0200 | <romes[m]> | what’s the best way of debugging an infinite loop |
2022-07-13 20:15:42 +0200 | Dutchgriffon | (~Laurens@70.36.53.134) |
2022-07-13 20:16:06 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Remote host closed the connection) |
2022-07-13 20:16:30 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) |
2022-07-13 20:17:48 +0200 | vglfr | (~vglfr@coupling.penchant.volia.net) (Remote host closed the connection) |
2022-07-13 20:18:11 +0200 | vglfr | (~vglfr@coupling.penchant.volia.net) |
2022-07-13 20:18:15 +0200 | gurkenglas | (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) |
2022-07-13 20:19:36 +0200 | <ski> | romes[m] : i guess you could try binary search, maybe |
2022-07-13 20:19:43 +0200 | <ski> | ("staring hard" is also an option) |
2022-07-13 20:19:46 +0200 | dcoutts_ | (~duncan@host109-149-38-92.range109-149.btcentralplus.com) |
2022-07-13 20:20:11 +0200 | <ski> | (but it really depends on the nature of the code which exhibited the loop) |
2022-07-13 20:20:28 +0200 | <romes[m]> | hahahahah |
2022-07-13 20:20:35 +0200 | <romes[m]> | I have littered everything with traces |
2022-07-13 20:20:41 +0200 | <romes[m]> | I am at a loss ahah |
2022-07-13 20:20:54 +0200 | <romes[m]> | I cannot figure out what is looping |
2022-07-13 20:21:07 +0200 | dcoutts | (~duncan@host86-150-18-52.range86-150.btcentralplus.com) (Ping timeout: 244 seconds) |
2022-07-13 20:21:10 +0200 | <romes[m]> | it feels like it just stops |
2022-07-13 20:21:25 +0200 | <ski> | i'm assuming you're talking about a data loop, rather than a control loop ? |
2022-07-13 20:21:42 +0200 | <monochrom> | If your debugging messages are not being printed infinitely, then your debugging messages are not part of the infinite loop. |
2022-07-13 20:22:00 +0200 | <romes[m]> | indeed monochrom |
2022-07-13 20:22:05 +0200 | <romes[m]> | but i’ve run out of ideas where to place more of them |
2022-07-13 20:22:14 +0200 | <monochrom> | But we gotta up the game and ask: What's the best way to ask a question? |
2022-07-13 20:22:19 +0200 | <romes[m]> | i was ready to turn to actual profiling/debugging |
2022-07-13 20:22:34 +0200 | <ski> | monochrom : surely to ask it as open-ended as possible ? |
2022-07-13 20:22:52 +0200 | <monochrom> | Yeah, in #math it would be "hi how do I solve equations?" |
2022-07-13 20:23:01 +0200 | <romes[m]> | ski: how would you differentiate them |
2022-07-13 20:23:25 +0200 | <ski> | i'm not sure i know how to differentiate (nor integrate) questions .. sounds interesting, though |
2022-07-13 20:23:25 +0200 | <Rembane> | romes[m]: Does the infinite loop make the program eventually crash? |
2022-07-13 20:23:28 +0200 | [exa] | suspects a traditional case of let x = x. romes[m], did you check your lets? |
2022-07-13 20:23:58 +0200 | <romes[m]> | but all is good, I’ll stare harder. I just realized I had never really asked “so how would the best way look like” |
2022-07-13 20:24:47 +0200 | <romes[m]> | Yeah, I’m going to revert some bits |
2022-07-13 20:24:47 +0200 | <romes[m]> | the program doesn’t crash; i’ll double check the let’s |
2022-07-13 20:25:26 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds) |
2022-07-13 20:25:29 +0200 | <[exa]> | esp. the nice great looking let's in `do` blocks tend to eeeasily mix with harmless `x <- x` binds |
2022-07-13 20:25:47 +0200 | <ski> | for a data loop, i guess there's a cyclic path somewhere .. so all points on the cycle contributes to the loop (or, if you break it anywhere, the loop disappears). so that would suggest not looking for a particular spot in code (although it can be that), but a set of spots, contributing to the cycle (a global property) |
2022-07-13 20:25:53 +0200 | <Rembane> | romes[m]: If the program doesn't crash it either means that you have infinite RAM or that it doesn't allocate in the infinite loop. |
2022-07-13 20:26:37 +0200 | <ski> | (or that what it allocates is GCed, i guess ?) |
2022-07-13 20:26:45 +0200 | <monochrom> | Rembane: In my case, Chrome crashed. (Explanation: Linux OOM handler chose to kill Chrome rather than my Haskell program. >:) ) |
2022-07-13 20:26:46 +0200 | <romes[m]> | Rembane good insight |
2022-07-13 20:26:57 +0200 | <romes[m]> | LOL |
2022-07-13 20:27:19 +0200 | talismanick | (~talismani@2601:200:c100:3850::dd64) (Ping timeout: 244 seconds) |
2022-07-13 20:27:34 +0200 | <romes[m]> | ski: right; those are trickier. mine is in a hotspot. i’m starting to feel like exa might be right |
2022-07-13 20:27:36 +0200 | <Rembane> | monochrom: That's a good symtom. :D |
2022-07-13 20:27:46 +0200 | <romes[m]> | those x <- x bindings are indeed misleading |
2022-07-13 20:27:53 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 20:28:18 +0200 | <monochrom> | Heh yesterday my student wrote "numberHelper left >>= \left -> ..." |
2022-07-13 20:28:25 +0200 | <ski> | try adding some `rec' to your `do's |
2022-07-13 20:28:30 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-13 20:28:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 20:28:57 +0200 | <ski> | monochrom : and they were then confused ? |
2022-07-13 20:28:58 +0200 | noteness | (~noteness@user/noteness) |
2022-07-13 20:29:42 +0200 | <monochrom> | Naw, he knew he had two different "left"s, just too lazy to think of a better name at an early stage, eventually he did the proper renaming. |
2022-07-13 20:30:02 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-13 20:30:02 +0200 | <ski> | ic |
2022-07-13 20:30:06 +0200 | <monochrom> | It was actually OK because the 1st "left" would not be used again. |
2022-07-13 20:30:44 +0200 | <ski> | in OCaml, they often suggest using (non-recursive) `let foo = ..foo..'s |
2022-07-13 20:30:49 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Read error: Connection reset by peer) |
2022-07-13 20:31:07 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-13 20:31:07 +0200 | AWizzArd | (~code@gehrels.uberspace.de) (Read error: Connection reset by peer) |
2022-07-13 20:31:18 +0200 | <ski> | (for different versions of "the same thing") |
2022-07-13 20:32:30 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 20:32:48 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-07-13 20:33:44 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) |
2022-07-13 20:33:56 +0200 | feliix42 | (~felix@gibbs.uberspace.de) |
2022-07-13 20:35:15 +0200 | <seriously> | Hey question... am i reading this bit here wrong? https://paste.tomsmeding.com/ExKVF9us |
2022-07-13 20:35:33 +0200 | <monochrom> | Going back to debugging messages, I guess the difference between my success and other people's failure is because I add debugging messages to where I think nothing goes wrong, other people add to where they thing something goes wrong. |
2022-07-13 20:35:49 +0200 | <seriously> | Does the refactored function not take any arguments? |
2022-07-13 20:36:10 +0200 | <darkling> | seriously: It returns a function. |
2022-07-13 20:36:10 +0200 | <monochrom> | Now consider the fact that human nature confirmation bias implies that I actually have a better chance. |
2022-07-13 20:36:17 +0200 | <[exa]> | seriously: that's perfectly okay |
2022-07-13 20:36:32 +0200 | <darkling> | seriously: So you can then pass an argument to it, and it'll evalute its thing. |
2022-07-13 20:36:43 +0200 | AWizzArd | (~code@gehrels.uberspace.de) |
2022-07-13 20:38:38 +0200 | <ski> | seriously : it does take an input |
2022-07-13 20:38:50 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 20:38:53 +0200 | <seriously> | but wont the compiler complain that its a partial function? The definition doesnt match any patteerns |
2022-07-13 20:38:55 +0200 | <ski> | (albeit not explicitly, in that code) |
2022-07-13 20:39:00 +0200 | <ski> | no |
2022-07-13 20:39:41 +0200 | <monochrom> | Patterns are not compulsory in defining functions. (or defining anything.) |
2022-07-13 20:39:59 +0200 | <[exa]> | seriously: (mathspeak:) it matches a single empty pattern |
2022-07-13 20:40:04 +0200 | <ski> | `even . length . greaterThan100' *is* a function, myTest' is declared to be a function (further, with matching input and output types). so there is no problem defining the latter to be equal to the former |
2022-07-13 20:40:07 +0200 | <monochrom> | You answer one single question. |
2022-07-13 20:40:09 +0200 | <romes[m]> | [exa]: let b = b + 1 :))))))))))))) |
2022-07-13 20:40:09 +0200 | PiDelport | (uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-13 20:40:24 +0200 | <ski> | [exa] : how's that mathspeak ? |
2022-07-13 20:40:25 +0200 | <monochrom> | Does "even . length . greaterThan100" have type "[Integer] -> Bool"? |
2022-07-13 20:40:32 +0200 | <monochrom> | If yes, then you're done. |
2022-07-13 20:40:36 +0200 | <[exa]> | romes[m]: that was the loop? :D |
2022-07-13 20:40:37 +0200 | <monochrom> | No but. |
2022-07-13 20:41:02 +0200 | <romes[m]> | [exa]: not literally but something like that |
2022-07-13 20:41:04 +0200 | <romes[m]> | your prediction was spot on |
2022-07-13 20:41:04 +0200 | <ski> | romes[m] : perhaps you should have added `b :: Natural' .. |
2022-07-13 20:41:15 +0200 | <monochrom> | You know, at this level, you don't even care whether "[Integer] -> Bool" is a function type. |
2022-07-13 20:41:47 +0200 | <[exa]> | haha lol good. Hope it helped. :D |
2022-07-13 20:41:57 +0200 | <romes[m]> | i finally understood why you might want to have explicit recursive lets |
2022-07-13 20:42:02 +0200 | <[exa]> | ski: I meant the tone there. :] |
2022-07-13 20:42:27 +0200 | <romes[m]> | the name didn’t even exist before the let :) i meant |
2022-07-13 20:42:56 +0200 | <ski> | i don't think math people talk about matching patterns too much .. |
2022-07-13 20:43:01 +0200 | <romes[m]> | * (null) |
2022-07-13 20:43:25 +0200 | <ski> | seriously : anyway, the definition is not "partial". and not matching patterns (explicitly) wouldn't make it partial, anyway |
2022-07-13 20:43:37 +0200 | <monochrom> | ski, math people include degenerate cases all the time, e.g., "a circle" can have radius 0. |
2022-07-13 20:43:51 +0200 | <ski> | sure |
2022-07-13 20:44:32 +0200 | <seriously> | How does myTest', when called, know what argument to apply itself too |
2022-07-13 20:44:41 +0200 | <ski> | (although, `1' is (nowadays) not a prime number. and an empty space is not connected) |
2022-07-13 20:45:10 +0200 | <ski> | myTest' [42] |
2022-07-13 20:45:22 +0200 | <ski> | = (even . length . greaterThan100) [42] |
2022-07-13 20:45:35 +0200 | <ski> | = even ((length . greaterThan100) [42]) |
2022-07-13 20:45:50 +0200 | <ski> | = even (length (greaterThan100 [42])) |
2022-07-13 20:45:56 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) |
2022-07-13 20:45:59 +0200 | <ski> | = ... |
2022-07-13 20:46:41 +0200 | <darkling> | seriously: The Haskell syntax is very very simple: "f x" means apply the function f to the thing x. |
2022-07-13 20:47:35 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 20:47:52 +0200 | <darkling> | So it doesn't need to know anything extra here -- invoking myTest' (which takes no parameters) returns a function which takes a parameter and returns a Bool. |
2022-07-13 20:48:02 +0200 | <seriously> | I see... I guess just up to this point it seemed mandatory to give a function definition arguments if its type demanded it... just through me off |
2022-07-13 20:48:54 +0200 | <seriously> | looking at it this way, myTest' [42], helps |
2022-07-13 20:49:23 +0200 | <monochrom> | I showed my students "f = \x -> ..." |
2022-07-13 20:49:52 +0200 | <monochrom> | from which point onwards it's a slippery slope to conclude that "f = <any expression of the right type>" is OK. |
2022-07-13 20:50:40 +0200 | <monochrom> | I also showed early on "v :: Integer ; v = 4" so they know that "definition" is not limited to "functions". |
2022-07-13 20:51:43 +0200 | fockerize | (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5) |
2022-07-13 20:52:06 +0200 | <darkling> | I was reaching for that one just now, but wasn't sure I could do the explanation justice. |
2022-07-13 20:55:10 +0200 | <monochrom> | Well, there is a cultural shock because the imperative culture is to make a big artificial fuss about syntactically distinguishing function definitions and non-function definitions. |
2022-07-13 20:55:10 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) (Quit: Client closed) |
2022-07-13 20:55:45 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) |
2022-07-13 20:56:02 +0200 | alp | (~alp@user/alp) |
2022-07-13 20:56:19 +0200 | <seriously> | Is there a way for me to stay in the chat without leaving; so I can review conversations later? |
2022-07-13 20:57:08 +0200 | <geekosaur> | use matrix instead of irc directly? |
2022-07-13 20:57:20 +0200 | <geekosaur> | (or irccloud or other service that does the same) |
2022-07-13 20:57:29 +0200 | <monochrom> | It took me a couple of years of teaching before I realized I could break that curse by the simple act of showing "n :: Int ; n = 4" and "f :: X->Y; f = \x -> ...", and stating that "f x = ..." is syntax sugar for the lambda version. |
2022-07-13 20:57:35 +0200 | <geekosaur> | you might however want to look at the logs url in the /topic |
2022-07-13 20:58:22 +0200 | <seriously> | ok |
2022-07-13 20:59:23 +0200 | <monochrom> | I also took the time to explain "X -> (Y -> Z)" and "\x -> \y -> ..." and even "f x = \y -> ...", at which point nothing is sacred. |
2022-07-13 20:59:44 +0200 | <ski> | monochrom : it's hard to even remember the time before this lesson was grokked |
2022-07-13 21:00:00 +0200 | <geekosaur> | I keep my client idling on the channel but I'm also on matrix because element for android is better than the android irc clients I've found; but it means I can pop onto app.element.io as well |
2022-07-13 21:00:08 +0200 | alexhandy2 | (~trace@user/trace) |
2022-07-13 21:00:57 +0200 | <monochrom> | Yeah, but I have the benefit of observing beginner questions in here and in my office hours. |
2022-07-13 21:01:39 +0200 | ski | nods |
2022-07-13 21:02:48 +0200 | skubcat | (~Guest48@156.57.184.235) (Quit: Client closed) |
2022-07-13 21:03:30 +0200 | alexhandy | (~trace@user/trace) (Ping timeout: 244 seconds) |
2022-07-13 21:03:32 +0200 | <ski> | [exa] : i guess i would've been less thrown off if you'd said something like "it matches a single case with no patterns" |
2022-07-13 21:04:08 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) |
2022-07-13 21:05:03 +0200 | sander | sndr |
2022-07-13 21:05:47 +0200 | <ski> | ("empty pattern" made me think of e.g. the "absurd patterns" in Agda .. like in Haskell, you have `foo :: Void -> ...; foo v = case v of {}'. in Agda, that'd be `foo : Void -> ...; foo ()' (no definiens/body/right-hand-side), `()' being the absurd pattern .. personally, i write overscore instead (with an RHS)) |
2022-07-13 21:06:39 +0200 | <ski> | foo ‾ = ‾ -- i.e. |
2022-07-13 21:07:31 +0200 | <monochrom> | -_- |
2022-07-13 21:07:37 +0200 | <monochrom> | I mean heh |
2022-07-13 21:08:04 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-07-13 21:08:30 +0200 | <monochrom> | But they should totally consider the syntax foo ^ = ^ |
2022-07-13 21:09:13 +0200 | <seriously> | *Instead of thinking about what we want to do with each element, we can instead think about making incremental transformations to the entire input, using the existing recursion patterns that we know of. * |
2022-07-13 21:09:16 +0200 | <seriously> | this |
2022-07-13 21:09:20 +0200 | <ski> | (`‾' being the neutral element for disjunctive / or- patterns, just like the wildcard `_' is the neutral element for conjunctive / and- patterns (of which `<var> @ <pat>' is a special case)) |
2022-07-13 21:09:21 +0200 | yauhsien | (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 276 seconds) |
2022-07-13 21:09:28 +0200 | <seriously> | is said nicely** |
2022-07-13 21:09:34 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-13 21:09:39 +0200 | talismanick | (~talismani@campus-045-135.ucdavis.edu) |
2022-07-13 21:09:45 +0200 | talismanick | (~talismani@campus-045-135.ucdavis.edu) (Remote host closed the connection) |
2022-07-13 21:10:01 +0200 | talismanick | (~talismani@campus-045-135.ucdavis.edu) |
2022-07-13 21:10:04 +0200 | <ski> | monochrom : heh, i think i've used `^' occasionally, when i only had access to ASCII |
2022-07-13 21:10:26 +0200 | <ski> | seriously : where does that come from ? |
2022-07-13 21:10:40 +0200 | <seriously> | https://www.seas.upenn.edu/~cis1940/spring13/lectures/04-higher-order.html |
2022-07-13 21:10:41 +0200 | <ski> | talk about wholemeal vs. piecemeal programming ? |
2022-07-13 21:10:43 +0200 | <monochrom> | I don't think it is said nicely. But it's because I don't think it can be said nicely at all. At least not until a few concrete examples are shown. |
2022-07-13 21:10:46 +0200 | <seriously> | yeah |
2022-07-13 21:11:28 +0200 | <seriously> | true I mean it makes better sense now after everything that was said here |
2022-07-13 21:11:33 +0200 | Guest8527 | (~Guest85@ti0185a400-0748.bb.online.no) (Quit: Client closed) |
2022-07-13 21:11:47 +0200 | <monochrom> | This is also why I refuse to explain monads in words. |
2022-07-13 21:11:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Remote host closed the connection) |
2022-07-13 21:12:30 +0200 | ski | . o O ( <https://en.wikipedia.org/wiki/Ostensive_definition> ) |
2022-07-13 21:12:57 +0200 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2022-07-13 21:12:58 +0200 | <Rembane> | monochrom: Do you give the equations and point to the paper? |
2022-07-13 21:13:06 +0200 | <monochrom> | Nah. |
2022-07-13 21:13:35 +0200 | <monochrom> | Examples. Use cases. Equations (but supported by examples and use cases). |
2022-07-13 21:13:42 +0200 | <seriously> | I suppose I will try to write all my functions in the "composed" style from now on, for practice |
2022-07-13 21:14:08 +0200 | <ski> | seriously : it is good practice .. but it can also be taken too far |
2022-07-13 21:14:52 +0200 | <ski> | @pointless myTest xs = even (length (greaterThan100 xs)) |
2022-07-13 21:14:52 +0200 | <lambdabot> | myTest = even . length . greaterThan100 |
2022-07-13 21:14:53 +0200 | <monochrom> | Haskell does have the advantage that you can do algebra and it explains a whole lot, and then you understand why Dijkstra says a formula is worth a thousand pictures. |
2022-07-13 21:15:40 +0200 | <ski> | @pointless greaterThan100 xs = filter (\x -> x > 100) xs |
2022-07-13 21:15:40 +0200 | <lambdabot> | greaterThan100 = filter (> 100) |
2022-07-13 21:15:53 +0200 | <Rembane> | monochrom: I dig that. |
2022-07-13 21:16:33 +0200 | <seriously> | probably best to keep a standard tho no?? if Im going to do it to long functions to make them short; shouldnt I just do it to the simple ones too? |
2022-07-13 21:16:58 +0200 | <seriously> | easier to read theas a whole |
2022-07-13 21:17:00 +0200 | <seriously> | then* |
2022-07-13 21:17:23 +0200 | <monochrom> | Keep 15 standards |
2022-07-13 21:18:14 +0200 | <monochrom> | The Haskell community is one of the very few sane communities that understand that one coding style guide doesn't fit all. |
2022-07-13 21:18:35 +0200 | <monochrom> | There we have another cultural shock. |
2022-07-13 21:20:01 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) (Ping timeout: 244 seconds) |
2022-07-13 21:20:32 +0200 | <ski> | seriously : i mean, sometimes if you do it to a function, the code just becomes pretty much incomprehensible (especially after a week or a month) |
2022-07-13 21:21:04 +0200 | ski | was looking for a suitable example in CIS194 to illustrate this on, but didn't find one |
2022-07-13 21:22:09 +0200 | Guest85 | (~Guest85@ti0185a400-0748.bb.online.no) |
2022-07-13 21:22:11 +0200 | <ski> | @pointless pythagoreanDiagonal x y = sqrt (x^2 + y^2) -- i guess this example will do ? |
2022-07-13 21:22:11 +0200 | <lambdabot> | pythagoreanDiagonal = (sqrt .) . (. (^ 2)) . (+) . (^ 2) |
2022-07-13 21:22:19 +0200 | <monochrom> | Yeah |
2022-07-13 21:22:40 +0200 | <ski> | seriously : would you prefer reading the "pointful" version, or the "pointless" one ? |
2022-07-13 21:22:46 +0200 | ulvarrefr | (~user@185.24.53.152) (Ping timeout: 268 seconds) |
2022-07-13 21:23:08 +0200 | <seriously> | lol gotcha |
2022-07-13 21:23:18 +0200 | <monochrom> | Even in Unix pipelining, we realize that pipelining is very limiting. A general data flow diagram does not always look like a line. |
2022-07-13 21:24:10 +0200 | <ski> | it can be nice mental gymnastics to explore and try to stretch your ability to formulate code like this, once in a while .. but you should probably think twice before committing such code to your code base |
2022-07-13 21:25:42 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
2022-07-13 21:25:50 +0200 | <ski> | (sometimes it can be warranted. e.g. using `liftA2 (+)' (using `Applicative (rho ->)') or specific (with practice) recognizable idioms like `(f .) . g' or `(post .) . (. pre)' .. but you should probably such sparingly) |
2022-07-13 21:26:48 +0200 | <monochrom> | I don't go as far as (f .) . g |
2022-07-13 21:26:55 +0200 | <seriously> | maybe then "point-style" is generally best for functions that work on list inputs |
2022-07-13 21:26:56 +0200 | <ski> | monochrom : reminds me of a shell that allowed naming pipes (not as files), passing them as explicit parameters to shell-defined procedures (actually the shell was inspired by logic programming) |
2022-07-13 21:28:10 +0200 | <monochrom> | bash has "cmd (< cmd2) (> cmd3)" for non-linear data flow diagrams |
2022-07-13 21:28:24 +0200 | <monochrom> | (Haskell has Arrow proc->do notation, heh) |
2022-07-13 21:28:35 +0200 | <geekosaur> | ksh had the notion of a (single) "coprocess" |
2022-07-13 21:28:38 +0200 | PiDelport | (uid25146@id-25146.lymington.irccloud.com) |
2022-07-13 21:28:47 +0200 | <geekosaur> | I think zsh generalized that |
2022-07-13 21:29:18 +0200 | shapr | (~user@2600:4040:2d31:7100:a4a4:5e03:eeb6:d024) |
2022-07-13 21:30:33 +0200 | <ski> | "one coding style guide doesn't fit all" -- as much as i have some quite particular idiosyncratic preferences and tendencies in code, i realize my personal style isn't for everyone (and shouldn't be) (although i'm not loathe to show examples of, or give suggestions regarding, my opinions about it) .. what matters most is how well *you* can understand your code |
2022-07-13 21:30:56 +0200 | pmarg | (~pmarg@2a01:799:159f:9b00:893e:346:2854:a0fd) (Remote host closed the connection) |
2022-07-13 21:31:25 +0200 | <exarkun> | that matters most until it matters more that someone else can understand your code :) |
2022-07-13 21:31:42 +0200 | <darkling> | And how much the other people that have to read your code can do so. :) |
2022-07-13 21:31:48 +0200 | <monochrom> | Yeah I s/self/everyone who work with this code/ |
2022-07-13 21:31:52 +0200 | <ski> | yes (i was thinking about adding that the "you" that's relevant can vary) |
2022-07-13 21:32:00 +0200 | <monochrom> | Sure, 99% of the time it's self again, but meh |
2022-07-13 21:32:17 +0200 | <monochrom> | Naw, since I teach, 99% of the time it's my poor students haha. |
2022-07-13 21:33:16 +0200 | Guest85 | (~Guest85@ti0185a400-0748.bb.online.no) (Quit: Client closed) |
2022-07-13 21:33:37 +0200 | <monochrom> | Ugh now I see my code sometimes uses >> and sometimes uses *> and it's now inconsistent for no good reason :) |
2022-07-13 21:33:58 +0200 | <monochrom> | (worksforme wontfix) |
2022-07-13 21:34:10 +0200 | <ski> | seriously : it's good to lurk around and see what style and idioms people use and suggest. but in the end, you have to decide what is reasonable in your circumstance. but you should try to understand the commonly proposed options, and preferably the *reasons* for them (then you can make a more informed decision) |
2022-07-13 21:34:10 +0200 | <Bulby[m]> | mood |
2022-07-13 21:34:11 +0200 | <EvanR> | what matters most is if someone else can understand the code. Where someone else = you in 1 or more months from now |
2022-07-13 21:34:54 +0200 | <darkling> | "Which idiot wrote this code? Oh, yeah, that darkling knew nothing." |
2022-07-13 21:35:25 +0200 | <EvanR> | this test has been flunked many times by using "clever tricks" in the code |
2022-07-13 21:35:40 +0200 | <darkling> | I'm sure there's stuff in our codebase at work that, 5 years from now, will be the subject of a refactoring exercise initiated with the phrase "yes, that's a darkling special" :) |
2022-07-13 21:36:00 +0200 | <EvanR> | xkcd code review metric "wtfs per minute" |
2022-07-13 21:37:48 +0200 | nek0 | (~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat) |
2022-07-13 21:37:52 +0200 | ski | agrees with everything said in the last eight minutes, or so |
2022-07-13 21:39:14 +0200 | <ski> | seriously : it's more related to whether the processing can be expressed more or less as a "linear pipeline" or not, i think |
2022-07-13 21:39:55 +0200 | <ski> | (reminds me of concatenative programming, like in Forth e.g. ..) |
2022-07-13 21:42:11 +0200 | <seriously> | ski ok ill keep that in mind... while were on the subject of coding standards; I've found myself doing this alot... could be an imperative habit of mine manifesting into functional style: https://paste.tomsmeding.com/igJBGaD1 |
2022-07-13 21:42:32 +0200 | phma | (~phma@2001:5b0:211c:45d8:dcca:18c7:bf12:f383) (Read error: Connection reset by peer) |
2022-07-13 21:42:50 +0200 | <seriously> | What is the general opinion on that ... "by that, I mean the code in there 'where' block" |
2022-07-13 21:43:24 +0200 | <ski> | you mean the `where'-naming ? .. yea, you do |
2022-07-13 21:43:50 +0200 | phma | (phma@2001:5b0:210d:adb8:1b94:33b4:266b:899a) |
2022-07-13 21:44:02 +0200 | <ski> | sometimes, it's nice to give some names to intermediate results (documenting their intended interpretation somewhat) |
2022-07-13 21:44:41 +0200 | <ski> | sometimes, it doesn't really help comprehension, and just clutters up the code (and may be annoying to have to conjure up a name for it) |
2022-07-13 21:45:58 +0200 | <darkling> | Yeah, names as documentation is a very good reason for doing that sort of thing. |
2022-07-13 21:47:53 +0200 | <EvanR> | I just like a where clause so the sub-definitions don't extend down and to the right like a messed up stairway |
2022-07-13 21:48:16 +0200 | <ski> | > (last . transpose . chunksOf 3) "abcdefghijkl" |
2022-07-13 21:48:18 +0200 | <lambdabot> | "cfil" |
2022-07-13 21:48:46 +0200 | <ski> | > (map last . chunksOf 3) "abcdefghijkl" -- also as |
2022-07-13 21:48:47 +0200 | <lambdabot> | "cfil" |
2022-07-13 21:49:32 +0200 | <EvanR> | moving "dot chain" function definitions into a where clause can also serve to remove parentheses, esp if you use this function multiple times |
2022-07-13 21:50:11 +0200 | <ski> | (the `transpose' idea is nice, if you want to split a list/stream into `n' ones (alternating), process those separately, and then interleave them back into a single one again) |
2022-07-13 21:50:26 +0200 | TonyStone | (~TonyStone@2603-7080-8607-c36a-81b9-1e80-00bb-4a85.res6.spectrum.com) (Remote host closed the connection) |
2022-07-13 21:50:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-13 21:51:15 +0200 | fserucas__ | (~fserucas@1.75.114.89.rev.vodafone.pt) (Remote host closed the connection) |
2022-07-13 21:51:23 +0200 | <ski> | darkling : otoh, naming a loop is often just clutter :) |
2022-07-13 21:51:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-13 21:51:32 +0200 | fserucas__ | (~fserucas@1.75.114.89.rev.vodafone.pt) |
2022-07-13 21:51:38 +0200 | fserucas_ | (~fserucas@1.75.114.89.rev.vodafone.pt) (Read error: Connection reset by peer) |
2022-07-13 21:52:08 +0200 | pavonia | (~user@user/siracusa) |
2022-07-13 21:52:46 +0200 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
2022-07-13 21:52:47 +0200 | fserucas | (~fserucas@1.75.114.89.rev.vodafone.pt) |
2022-07-13 21:53:41 +0200 | <darkling> | Yeha, it needs care. And of course, you're an idiot 3 months from now. :) |
2022-07-13 21:54:17 +0200 | nek0 | (~nek0@2a01:4f8:222:2b41::12) |
2022-07-13 21:55:38 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 21:56:02 +0200 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2022-07-13 21:56:22 +0200 | EvanR | (~EvanR@user/evanr) |
2022-07-13 21:59:20 +0200 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2022-07-13 22:00:11 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds) |
2022-07-13 22:00:58 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-13 22:01:39 +0200 | dcoutts | (~duncan@host109-149-38-92.range109-149.btcentralplus.com) |
2022-07-13 22:01:43 +0200 | yax__ | (~yax@user/yax/x-9576643) |
2022-07-13 22:02:23 +0200 | kenran | (~kenran@200116b82b67ed00effa09132c8744c8.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
2022-07-13 22:03:54 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-07-13 22:06:07 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) (Quit: Client closed) |
2022-07-13 22:07:40 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) |
2022-07-13 22:09:35 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 22:10:49 +0200 | slack1256 | (~slack1256@191.125.99.86) |
2022-07-13 22:12:15 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 22:13:16 +0200 | jgeerds | (~jgeerds@55d437cf.access.ecotel.net) |
2022-07-13 22:15:05 +0200 | <ski> | or .. you were an idiot, 3 months ago, perpetually |
2022-07-13 22:16:52 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Ping timeout: 244 seconds) |
2022-07-13 22:17:25 +0200 | <EvanR> | not being an idiot is always 40 years away |
2022-07-13 22:17:37 +0200 | Furor | Colere |
2022-07-13 22:17:48 +0200 | <Rembane> | When I stop being an idiot I stop learning. |
2022-07-13 22:18:46 +0200 | Guest34 | (~Guest34@2605:a601:a615:f600:81b3:7572:de1c:534d) |
2022-07-13 22:19:17 +0200 | bliminse | (~bliminse@user/bliminse) |
2022-07-13 22:23:58 +0200 | dcoutts__ | (~duncan@host86-151-9-33.range86-151.btcentralplus.com) |
2022-07-13 22:24:50 +0200 | dcoutts_ | (~duncan@host109-149-38-92.range109-149.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-07-13 22:25:47 +0200 | dcoutts_ | (~duncan@host86-151-9-33.range86-151.btcentralplus.com) |
2022-07-13 22:26:09 +0200 | dcoutts | (~duncan@host109-149-38-92.range109-149.btcentralplus.com) (Ping timeout: 272 seconds) |
2022-07-13 22:26:21 +0200 | <Bulby[m]> | and imo, not learning is BORING |
2022-07-13 22:26:35 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) |
2022-07-13 22:27:18 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-07-13 22:40:43 +0200 | dfg | (dfg@user/dfg) (Remote host closed the connection) |
2022-07-13 22:40:54 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-07-13 22:40:58 +0200 | <yax__> | i was born a god |
2022-07-13 22:41:03 +0200 | gustik | (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) |
2022-07-13 22:42:06 +0200 | dfg | (~dfg@dfg.rocks) |
2022-07-13 22:42:06 +0200 | dfg | (~dfg@dfg.rocks) (Changing host) |
2022-07-13 22:42:06 +0200 | dfg | (~dfg@user/dfg) |
2022-07-13 22:42:37 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-07-13 22:43:22 +0200 | [exa] | (exa@srv3.blesmrt.net) (Changing host) |
2022-07-13 22:43:22 +0200 | [exa] | (exa@user/exa/x-3587197) |
2022-07-13 22:44:28 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-13 22:44:43 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-07-13 22:45:04 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) (Ping timeout: 252 seconds) |
2022-07-13 22:45:58 +0200 | talismanick | (~talismani@campus-045-135.ucdavis.edu) (Ping timeout: 240 seconds) |
2022-07-13 22:46:38 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) |
2022-07-13 22:47:50 +0200 | <slack1256> | The `compactAdd` function is the efficient way to append data to `Compact a` in the sense it will not re-copy the data already on the compact, right? |
2022-07-13 22:49:22 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 22:49:28 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) |
2022-07-13 22:49:38 +0200 | nightbreak_ | nightbreak[Away] |
2022-07-13 22:50:01 +0200 | <maerwald> | hey, I also want in on the idiot club |
2022-07-13 22:51:34 +0200 | <slack1256> | In this sense, a compact regions serves as an older manually promoted generation. I wonder if I could set up 4 generations. Not much data apart from this really long lived data structure will reach it. |
2022-07-13 22:51:51 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) |
2022-07-13 22:52:28 +0200 | cosimone` | (~user@93-44-186-171.ip98.fastwebnet.it) |
2022-07-13 22:54:01 +0200 | cosimone | (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Ping timeout: 272 seconds) |
2022-07-13 22:54:18 +0200 | <EvanR> | behind the scenes compactAdd achieves what you said by taking on to a linked list of compacts? xD |
2022-07-13 22:54:24 +0200 | <monochrom> | I am an egomaniac. Anyone care to join me and form the egomaniac club? >:) |
2022-07-13 22:54:35 +0200 | aisa | (~serum@2a02:8388:6bc1:1d00:6ddd:7a24:70:80) |
2022-07-13 22:54:47 +0200 | <monochrom> | (P.S. Of course it is the, not an, egomaniac club!) |
2022-07-13 22:55:14 +0200 | <Rembane> | monochrom: I would love to join your meetings, but not your club. :D |
2022-07-13 22:55:21 +0200 | <monochrom> | haha |
2022-07-13 22:55:31 +0200 | <monochrom> | I'm a collegial egomaniac haha |
2022-07-13 22:56:15 +0200 | <Rembane> | ^^ |
2022-07-13 22:57:08 +0200 | <darkling> | Is anybody else th eonly member of hte solipsist society? |
2022-07-13 22:57:38 +0200 | sektor[m] | (~sektor@2001:470:69fc:105::2:3f60) |
2022-07-13 22:57:58 +0200 | seriously | (~seriously@ool-18bd55d4.dyn.optonline.net) (Quit: Client closed) |
2022-07-13 22:58:18 +0200 | <slack1256> | EvanR: Oh no no, the list is just for example purposes. I mean you obvious can cost on a list and preserve the most of the structure. |
2022-07-13 22:58:56 +0200 | <slack1256> | What I am asking is this: given that I only added a cons, will compactAdd make pay the cost of waiting for the whole list instead of just the new head? |
2022-07-13 23:00:13 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-07-13 23:01:30 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2022-07-13 23:02:13 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-13 23:03:45 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 276 seconds) |
2022-07-13 23:03:46 +0200 | geekosaur | decides to avoid the clubs |
2022-07-13 23:04:13 +0200 | Rembane | hands geekosaur a sword instead |
2022-07-13 23:04:18 +0200 | <monochrom> | "I believe in talking nicely but chairing a bigger club" >:) |
2022-07-13 23:04:32 +0200 | <darkling> | I'll stick with slings and arrows. |
2022-07-13 23:04:41 +0200 | <monochrom> | w00t arrows |
2022-07-13 23:04:50 +0200 | <monochrom> | We have arrows in Haskell haha. |
2022-07-13 23:05:18 +0200 | <Rembane> | You'll have no chance against my profunctors! Ha! |
2022-07-13 23:05:39 +0200 | <monochrom> | Monads are like clubs. You use a club to slam two layers into one. club :: M (M a) -> M a |
2022-07-13 23:06:15 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-07-13 23:06:38 +0200 | ski | . o O ( "<shapr> I'm addicted to arrows. * shapr begins his own paper \"Generalizing Arrows to Spears\" <shapr> Spears can do anything efficiently, but they have sixty thousand laws they must satisfy, and we haven't actually found one yet. <raphael> maybe \"Generalizing Arrows to Nuclear Weapons\" would simply be: unsafeInterleaveIO" ) |
2022-07-13 23:06:47 +0200 | <monochrom> | Alternatively, a 1000-page book like CLRS or HFFPP also works. >:) |
2022-07-13 23:07:52 +0200 | <Rembane> | :D |
2022-07-13 23:10:59 +0200 | <EvanR> | unsafeInterleaveIO seems more like a dr strange spell, whereas unsafeCoerce seems like the nuclear option. Unstoppable force followed by contamination xD |
2022-07-13 23:11:29 +0200 | alp | (~alp@user/alp) (Remote host closed the connection) |
2022-07-13 23:11:48 +0200 | alp | (~alp@user/alp) |
2022-07-13 23:12:18 +0200 | <ski> | i've argued before that it shouldn't really be called `unsafe' |
2022-07-13 23:12:27 +0200 | <ski> | (unlike `unsafeInterleaveST') |
2022-07-13 23:12:38 +0200 | <int-e> | they're both capable footguns when put into capable hands |
2022-07-13 23:12:43 +0200 | <monochrom> | What do you prefer to call it? |
2022-07-13 23:12:47 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-13 23:13:00 +0200 | <ski> | how about just `interleaveIO' ? |
2022-07-13 23:13:36 +0200 | <ski> | (also, i don't really like the whole "unsafe" terminology .. there's many different notions of unsafe) |
2022-07-13 23:13:43 +0200 | <monochrom> | Hrm. I am sympathetic to that. |
2022-07-13 23:14:36 +0200 | <EvanR> | such as the rust version of safety. If it's written in rust, it's safe. Otherwise it's unsafe xD |
2022-07-13 23:14:40 +0200 | <int-e> | Hmm. unsafeInterleaveIO was named before nodup when it could produce observably impure values. |
2022-07-13 23:14:49 +0200 | <ski> | (Mercury uses "promise" instead, together with a description of the conditions under which it's safe to use, and which the programmer has as a proof obligation) |
2022-07-13 23:14:51 +0200 | <[exa]> | one should have a few levels of unsafe that allow to distinguish reasonably safe stuff from unsafePerformIO |
2022-07-13 23:15:01 +0200 | <monochrom> | Well, my similar gripe is about the simpleton dichotomy of "strict" and "non-strict". |
2022-07-13 23:16:06 +0200 | <ski> | (e.g. `promise_det'(erministic),`promise_equivalent_solutions',`promise_semipure',..) |
2022-07-13 23:16:09 +0200 | <int-e> | Also... how does unsafeInterleaveIO work wrt. exceptions when the value is used inside STM? I think there's still the thing that aborting an STM action doesn't cause an exception breaking stuff like withMVar. |
2022-07-13 23:16:54 +0200 | nate4 | (~nate@98.45.169.16) |
2022-07-13 23:18:01 +0200 | <EvanR> | how about pure and not pure |
2022-07-13 23:18:23 +0200 | <EvanR> | by what calculus can we know what is and isn't "really pure" |
2022-07-13 23:18:31 +0200 | <geekosaur> | hm, isn't that a ghc / rts violation then? (unsafeInterleaveIO is supposed to swallow/ignore exceptions, but doesn't) |
2022-07-13 23:18:32 +0200 | <dolio> | What happens in STM when you divide by 0? |
2022-07-13 23:18:43 +0200 | [Leary] | (~Leary]@122-58-224-198-vdsl.sparkbb.co.nz) (Ping timeout: 272 seconds) |
2022-07-13 23:18:49 +0200 | <dolio> | Or run out of memory? |
2022-07-13 23:18:59 +0200 | <ski> | i've suggested `promisePureIO' for `unsafePerformIO' before (with the understanding that `promisePureIO . return = id') |
2022-07-13 23:19:54 +0200 | <int-e> | that reminds me of the naming of irrefutable patterns |
2022-07-13 23:20:11 +0200 | <int-e> | in that it requires logic to interpret correctly |
2022-07-13 23:20:56 +0200 | merijn | (~merijn@c-001-001-023.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
2022-07-13 23:21:00 +0200 | <EvanR> | promisePureIO makes sense. Is every place unsafePerformIO used in the standard library pure? xD |
2022-07-13 23:21:16 +0200 | <EvanR> | otherwise that would be hypocritical! |
2022-07-13 23:21:17 +0200 | <int-e> | ...global variables... |
2022-07-13 23:21:41 +0200 | [exa] | discovers don'tPerformIO is a valid identifier |
2022-07-13 23:21:47 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-07-13 23:21:50 +0200 | <ski> | int-e : logic, how ? |
2022-07-13 23:21:52 +0200 | <int-e> | (decidedly impure; the trick there is to ensure perfect sharing) |
2022-07-13 23:22:07 +0200 | <int-e> | ski: who's doing the promising here? |
2022-07-13 23:22:14 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 23:22:24 +0200 | <geekosaur> | [exa], acme-dont |
2022-07-13 23:22:48 +0200 | <ski> | promising what, re irrefutable patterns ? that they can't be refuted, always matches ? |
2022-07-13 23:23:31 +0200 | <ski> | i guess the matching "promises" that in some sense, while later the actual subpattern may fail, when the branch has already been comitted to |
2022-07-13 23:23:48 +0200 | <EvanR> | a global variable can be pure, imagine the meaning of the term socrates. As long as all programs referring to socrates refer to the same guy, and he can hold values for you, it's referentially transparent xD |
2022-07-13 23:24:06 +0200 | <monochrom> | hahahaha |
2022-07-13 23:24:33 +0200 | <int-e> | Oh that. Well, I know what "irrefutable patterns" means (they match; they fail instead of being refuted at that point), but I think "lazy patterns", while less precise, would be easier to understand. |
2022-07-13 23:24:36 +0200 | <[exa]> | geekosaur: I knew it was somewhere! |
2022-07-13 23:25:10 +0200 | <ski> | EvanR : makes me think of mobile code |
2022-07-13 23:26:03 +0200 | <ski> | perhaps "delayed patterns" could be another option |
2022-07-13 23:26:11 +0200 | <EvanR> | I was going to use king of france but that's a different connotation |
2022-07-13 23:26:30 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-07-13 23:26:57 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 272 seconds) |
2022-07-13 23:27:30 +0200 | <monochrom> | Yeah that gives me baldness anxiety haha |
2022-07-13 23:28:10 +0200 | <ski> | if a program spawns a thread on a different node in the network, do you expect it to communicate with your node in order to access the "global variable", or to have its own instance ? |
2022-07-13 23:28:29 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-07-13 23:28:45 +0200 | <ski> | (you can express such things in Alice ML, iirc) |
2022-07-13 23:29:22 +0200 | <EvanR> | if you wanted it to not be so global, you should have passed it in as an argument xD |
2022-07-13 23:29:51 +0200 | <monochrom> | Yes I passed it in by reference. |
2022-07-13 23:29:51 +0200 | <EvanR> | taking global variables literally for fun and profit |
2022-07-13 23:30:54 +0200 | <EvanR> | point was originally... if that's what it means, accessing it by means of unsafePerformIO shouldn't violate your promise |
2022-07-13 23:31:11 +0200 | <ski> | <https://www.ps.uni-saarland.de/alice/manual/distribution.html> |
2022-07-13 23:31:22 +0200 | <EvanR> | having different instances is where it gets complicated |
2022-07-13 23:31:43 +0200 | kyborg2011 | (~kyborg201@217.147.170.194) |
2022-07-13 23:32:05 +0200 | dextaa | (~DV@user/dextaa) (Read error: Connection reset by peer) |
2022-07-13 23:33:10 +0200 | alexhandy2 | (~trace@user/trace) (Read error: Connection reset by peer) |
2022-07-13 23:33:28 +0200 | alexhandy | (~trace@user/trace) |
2022-07-13 23:33:56 +0200 | ski | . o O ( "This implies that you must be careful not to use sited values in a service!" ) |
2022-07-13 23:34:11 +0200 | kyborg2011 | (~kyborg201@217.147.170.194) (Remote host closed the connection) |
2022-07-13 23:35:12 +0200 | kyborg2011 | (~kyborg201@217.147.170.194) |
2022-07-13 23:35:13 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5) |
2022-07-13 23:35:20 +0200 | dextaa | (~DV@user/dextaa) |
2022-07-13 23:35:23 +0200 | mmhat | (~mmh@p200300f1c7090754ee086bfffe095315.dip0.t-ipconnect.de) |
2022-07-13 23:35:45 +0200 | <yax__> | @pf (\x -> if isAlphaNum x then x else ' ') |
2022-07-13 23:35:45 +0200 | <lambdabot> | Maybe you meant: pl bf |
2022-07-13 23:35:55 +0200 | <yax__> | what |
2022-07-13 23:35:58 +0200 | <yax__> | @help |
2022-07-13 23:35:58 +0200 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
2022-07-13 23:36:09 +0200 | <yax__> | @help list |
2022-07-13 23:36:09 +0200 | <lambdabot> | list [module|command]. Show commands for [module] or the module providing [command]. |
2022-07-13 23:36:13 +0200 | <geekosaur> | it's @pl |
2022-07-13 23:36:17 +0200 | <yax__> | @pl (\x -> if isAlphaNum x then x else ' ') |
2022-07-13 23:36:17 +0200 | <lambdabot> | flip (if' =<< isAlphaNum) ' ' |
2022-07-13 23:36:24 +0200 | Guest34 | (~Guest34@2605:a601:a615:f600:81b3:7572:de1c:534d) (Ping timeout: 252 seconds) |
2022-07-13 23:36:28 +0200 | <[exa]> | yax__: contrary to the popular belief it's a pointless form |
2022-07-13 23:36:33 +0200 | <yax__> | nvm im better of with it being point full |
2022-07-13 23:37:28 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::909a) |
2022-07-13 23:40:15 +0200 | kyborg2011 | (~kyborg201@217.147.170.194) (Ping timeout: 272 seconds) |
2022-07-13 23:41:27 +0200 | <ski> | i remember seeing `cond p f g x = if p x then f x else g x' defined |
2022-07-13 23:41:28 +0200 | janus | (janus@anubis.0x90.dk) () |
2022-07-13 23:42:10 +0200 | tomgus1 | (~tomgus1@97e50351.skybroadband.com) (Ping timeout: 240 seconds) |
2022-07-13 23:42:10 +0200 | <ski> | (which'd make that `cond isAlphaNum id (const ' ')') |
2022-07-13 23:44:40 +0200 | <monochrom> | I wrote a shell script that went: if ... ; then cat foo ; else grep "$city" foo fi | sort | ... |
2022-07-13 23:44:46 +0200 | pagnol | (~me@213-205-209-87.ftth.glasoperator.nl) |
2022-07-13 23:44:58 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-13 23:45:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-13 23:49:09 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) (Remote host closed the connection) |
2022-07-13 23:49:13 +0200 | <hpc> | functional bash is entertainingly weird |
2022-07-13 23:49:21 +0200 | <hpc> | and sometimes unentertainingly |
2022-07-13 23:49:27 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:a9e5:8234:e3a4:dc0e) |
2022-07-13 23:49:37 +0200 | <monochrom> | Hey you liked it! Let me tell you a recursive shell function I wrote, too |
2022-07-13 23:49:43 +0200 | <hpc> | you know how you can do x="--a --b", and then "foo $x" runs foo with two arguments? |
2022-07-13 23:50:01 +0200 | <hpc> | if you do x = "foo --a" and then "$x --b", it tries to find a binary named "foo --a" :( |
2022-07-13 23:51:20 +0200 | <monochrom> | piper() { if [ $# -eq 0 ]; then cat; else p=$1 ; shift ; "$p" | piper "$@" ; fi ; } |
2022-07-13 23:51:59 +0200 | <monochrom> | So "piper x y z" means "x | y | z" (or more precisely "x | y | z | cat" but cat is the identity of the | monoid) |
2022-07-13 23:52:18 +0200 | <hpc> | another member of the useless use of cat club! |
2022-07-13 23:52:26 +0200 | <hpc> | i always start my pipelines with cat too |
2022-07-13 23:52:30 +0200 | <hpc> | cat file | grep foo |
2022-07-13 23:52:51 +0200 | <hpc> | this is definitely #haskell material :D |
2022-07-13 23:53:25 +0200 | <hpc> | although, i like calling it the pipe monoid |
2022-07-13 23:55:00 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-07-13 23:55:34 +0200 | <hpc> | i like thinking of rust code as a big monad too, because of they way their blocks work |
2022-07-13 23:55:42 +0200 | <hpc> | returning isn't a return keyword that changes control flow |
2022-07-13 23:55:48 +0200 | <hpc> | it's just the value of the last line of the block |
2022-07-13 23:55:59 +0200 | <hpc> | kind of like do, with implicit pure |
2022-07-13 23:56:22 +0200 | <monochrom> | Yeah they have a ? marker for an ExceptT IO monad. |
2022-07-13 23:56:31 +0200 | <hpc> | and the async keyword |
2022-07-13 23:57:42 +0200 | <hpc> | no joke, the first time i ever wrote rust code, i got to where i needed to write a case statement about 5 minutes into trying stuff out |
2022-07-13 23:57:52 +0200 | <hpc> | and thought "wow, this is basically low-level haskell" |
2022-07-13 23:57:53 +0200 | img | (~img@user/img) |
2022-07-13 23:58:05 +0200 | jeetelongname | (~jeet@cpc96970-rdng25-2-0-cust390.15-3.cable.virginm.net) |
2022-07-13 23:58:38 +0200 | segfaultfizzbuzz | (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds) |
2022-07-13 23:58:45 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-07-13 23:59:16 +0200 | <hpc> | its record syntax feels really natural too, and i think it's reproducible with a few language extensions |
2022-07-13 23:59:28 +0200 | Pickchea | (~private@user/pickchea) |
2022-07-13 23:59:41 +0200 | <hpc> | maybe ghc could bring back something like the glasgow extensions, and just have a quick "rust records" flag that turns them all on at once |