2023-08-23 00:02:17 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-08-23 00:05:48 +0200 | <monochrom> | I think I also heard that some macos updates/upgrades cost money. |
2023-08-23 00:06:14 +0200 | michalz | (~michalz@185.246.207.205) (Remote host closed the connection) |
2023-08-23 00:10:20 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 248 seconds) |
2023-08-23 00:11:25 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2023-08-23 00:13:02 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-08-23 00:15:34 +0200 | <geekosaur> | they also EOL hardware in some upgrades |
2023-08-23 00:16:10 +0200 | <monochrom> | yeah :( |
2023-08-23 00:17:26 +0200 | <monochrom> | Two decades ago I admired the Macbook and I said to myself "one day when I have money I should switch to Macbook". |
2023-08-23 00:17:49 +0200 | <monochrom> | I had no money for the next decade, therefore disaster averted >:D |
2023-08-23 00:18:41 +0200 | <monochrom> | By the time I had money, I had had also seen enough tech support questions on #haskell that "OK nevermind, I'll stick to Linux". |
2023-08-23 00:19:04 +0200 | <monochrom> | (more accurately "Linux on cheap x86 laptops") |
2023-08-23 00:22:55 +0200 | matijja | (~matijja@193.77.181.201) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-08-23 00:23:34 +0200 | matijja | (~matijja@193.77.181.201) |
2023-08-23 00:25:18 +0200 | acidjnk | (~acidjnk@p200300d6e7072f1038e78ce6e398439b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-08-23 00:26:21 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-08-23 00:26:31 +0200 | bramhaag7 | (~bramhaag@198.8.58.39) (Quit: The Lounge - https://thelounge.chat) |
2023-08-23 00:33:01 +0200 | ft | (~ft@p4fc2ad78.dip0.t-ipconnect.de) (Remote host closed the connection) |
2023-08-23 00:50:26 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-23 00:50:45 +0200 | <EvanR> | my macbook air just died, not 10 years old |
2023-08-23 00:51:27 +0200 | <EvanR> | a lot of replacement keys were thrown at this guy to keep it afloat |
2023-08-23 00:51:51 +0200 | <EvanR> | it also wasn't really getting OS updates |
2023-08-23 00:54:12 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 240 seconds) |
2023-08-23 00:58:42 +0200 | Achylles | (~Achylles_@45.182.57.81) |
2023-08-23 01:01:07 +0200 | <shapr> | Rembane: I'm using gandi vps because it has a NixOS image option, but gandi has gone downhill since being sold, so I'll have to find something else |
2023-08-23 01:01:43 +0200 | <shapr> | EvanR: what's the replacement? maybe a frame.work ? |
2023-08-23 01:04:42 +0200 | geekosaur | grins |
2023-08-23 01:13:29 +0200 | falafel | (~falafel@216.68.6.51.dyn.plus.net) |
2023-08-23 01:15:50 +0200 | paddymahoney | (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) |
2023-08-23 01:22:45 +0200 | <EvanR> | currently the "replacement" is an underpowered 5 year old dell inspiron laptop that has been doing windows updates for a week |
2023-08-23 01:23:12 +0200 | bilegeek | (~bilegeek@2600:1008:b084:26e1:642d:15c:b0a8:d815) |
2023-08-23 01:23:20 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-23 01:23:47 +0200 | ski | (~ski@129.16.31.191) |
2023-08-23 01:28:42 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-08-23 01:33:44 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-08-23 01:43:31 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 244 seconds) |
2023-08-23 01:44:11 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-08-23 01:44:15 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2023-08-23 01:45:30 +0200 | Lord_of_Life_ | Lord_of_Life |
2023-08-23 01:58:40 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::d547) |
2023-08-23 01:59:05 +0200 | mvk | (~mvk@2607:fea8:5c9a:a600::1c6d) |
2023-08-23 01:59:09 +0200 | <Inst> | i sort of got bored and decided to make a joke library, although I hope it's actually useful (asset manager for file deployment within, alongside, or from the network) |
2023-08-23 01:59:24 +0200 | <Inst> | it's a joke because i'm glossing on all sorts of ridiculous types |
2023-08-23 01:59:56 +0200 | <Inst> | datatypecontexts are dead, right? There's no other way to put out a constraint on a newtype, right? |
2023-08-23 02:03:16 +0200 | <Inst> | type families maybe? |
2023-08-23 02:05:14 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer) |
2023-08-23 02:05:25 +0200 | ulysses4ever | (~artem@2601:249:4380:8950:f474:e3f8:9806:671) |
2023-08-23 02:07:02 +0200 | <EvanR> | GADTs can hold a type class dictionary by putting a context on the ctor |
2023-08-23 02:07:30 +0200 | <EvanR> | a newtype can only have 1 component |
2023-08-23 02:09:02 +0200 | <Inst> | ah, so it's an implementation problem? Probably I should just stop procrastinating by trying to play around with fancy types and actually build stuff instead |
2023-08-23 02:09:22 +0200 | abrantesasf | (~abrantesa@177.137.232.92) |
2023-08-23 02:12:13 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 02:12:50 +0200 | <geekosaur> | datatype contexts apply when building a value but you can't recover the information when you use the value. GADTs include a dictionary so the information can be recovered |
2023-08-23 02:14:44 +0200 | <Inst> | i maen i should focus on features instead, instead of this fancy type nonsense |
2023-08-23 02:15:11 +0200 | <Inst> | i just got besotted by someone on Discourse who was abusing monadic do with writer |
2023-08-23 02:15:24 +0200 | <Inst> | i thought it'd be cool to replace a 2D list with a do block |
2023-08-23 02:15:41 +0200 | ski | . o O ( `newtype Dict cxt = cxt => WrapDict -- one component' ) |
2023-08-23 02:16:37 +0200 | sm | (~sm@plaintextaccounting/sm) (Ping timeout: 245 seconds) |
2023-08-23 02:18:57 +0200 | <EvanR> | nice |
2023-08-23 02:19:28 +0200 | bopqod | (~ubuntu@user/bopqod) |
2023-08-23 02:23:28 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-08-23 02:24:35 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-08-23 02:25:02 +0200 | <[Leary]> | In reality, you probably have to settle for `newtype Dict cxt = Dict{ withDict :: forall r. (cxt => r) -> r }`. |
2023-08-23 02:26:05 +0200 | <[Leary]> | Not sure if that saves you anything over the `data` version. |
2023-08-23 02:30:29 +0200 | NewtonTrendy | (uid282092@user/bopqod) () |
2023-08-23 02:31:38 +0200 | bopqod | NewtonTrendy |
2023-08-23 02:38:04 +0200 | ski | (~ski@129.16.31.191) (Ping timeout: 248 seconds) |
2023-08-23 02:43:44 +0200 | libertyprime | (~libertypr@203.96.203.44) (Quit: Lost terminal) |
2023-08-23 02:45:30 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds) |
2023-08-23 02:47:44 +0200 | mima | (~mmh@aftr-62-216-211-141.dynamic.mnet-online.de) (Ping timeout: 256 seconds) |
2023-08-23 02:49:28 +0200 | Square2 | (~Square4@user/square) (Ping timeout: 250 seconds) |
2023-08-23 02:53:21 +0200 | falafel | (~falafel@216.68.6.51.dyn.plus.net) (Ping timeout: 246 seconds) |
2023-08-23 02:54:09 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-23 02:59:43 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 03:02:16 +0200 | artem | (~artem@73.145.241.118) |
2023-08-23 03:03:24 +0200 | troydm | (~troydm@user/troydm) (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) |
2023-08-23 03:04:12 +0200 | sm | (~sm@plaintextaccounting/sm) (Ping timeout: 260 seconds) |
2023-08-23 03:04:28 +0200 | troydm | (~troydm@user/troydm) |
2023-08-23 03:04:57 +0200 | ulysses4ever | (~artem@2601:249:4380:8950:f474:e3f8:9806:671) (Ping timeout: 245 seconds) |
2023-08-23 03:06:20 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds) |
2023-08-23 03:07:24 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::d547) (Remote host closed the connection) |
2023-08-23 03:07:42 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::7d) |
2023-08-23 03:10:38 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-08-23 03:11:48 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-23 03:13:46 +0200 | <EvanR> | Inst, you're glossing, like, using gloss to visualize types? cool |
2023-08-23 03:15:23 +0200 | re101-eel-85 | (~re101-eel@2606:40:48:6841::1064:304e) |
2023-08-23 03:16:45 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-08-23 03:18:02 +0200 | danza_ | (~francesco@an-19-166-29.service.infuturo.it) |
2023-08-23 03:20:36 +0200 | danza__ | (~francesco@151.43.215.52) (Ping timeout: 256 seconds) |
2023-08-23 03:21:33 +0200 | abrantesasf | (~abrantesa@177.137.232.92) (Remote host closed the connection) |
2023-08-23 03:21:43 +0200 | <Inst> | no no no |
2023-08-23 03:21:54 +0200 | <Inst> | i'm working on some side project, i.e, a joke library |
2023-08-23 03:23:21 +0200 | <Inst> | abusing template haskell, and part of the joke was to stuff all the dumb stuff in |
2023-08-23 03:23:30 +0200 | <Inst> | like, make it overly complicated in the backend |
2023-08-23 03:24:00 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-08-23 03:24:32 +0200 | re101-eel-85 | (~re101-eel@2606:40:48:6841::1064:304e) (Ping timeout: 246 seconds) |
2023-08-23 03:28:54 +0200 | razetime | (~quassel@117.254.37.57) |
2023-08-23 03:30:12 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) |
2023-08-23 03:31:19 +0200 | <Inst> | i'm trying to make a lib, my first ever, that extends file embed, lets you deploy files from your executable, produce hashes from them, check them against hashes, and grab them from online, it's a joke lib, very trivial functionality |
2023-08-23 03:31:52 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2023-08-23 03:31:52 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-08-23 03:32:10 +0200 | artem | (~artem@73.145.241.118) (Ping timeout: 245 seconds) |
2023-08-23 03:32:16 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-08-23 03:32:52 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-08-23 03:33:39 +0200 | <Hooloovoo> | it doesn't sound like a very funny joke |
2023-08-23 03:37:24 +0200 | <Inst> | i'm looking for help to try to make it into a fizzbuzz enterprise edition |
2023-08-23 03:37:44 +0200 | <Inst> | i.e, stuff it with dependent types, everything weird and experimental |
2023-08-23 03:42:10 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-08-23 03:47:58 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection) |
2023-08-23 03:51:28 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) |
2023-08-23 03:51:54 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection) |
2023-08-23 03:52:20 +0200 | td_ | (~td@i5387091D.versanet.de) (Ping timeout: 256 seconds) |
2023-08-23 03:53:59 +0200 | td_ | (~td@i53870917.versanet.de) |
2023-08-23 03:54:01 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) |
2023-08-23 03:54:01 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 03:58:27 +0200 | sm | (~sm@plaintextaccounting/sm) (Ping timeout: 246 seconds) |
2023-08-23 03:58:33 +0200 | jabuxas | (~jabuxas@user/jabuxas) |
2023-08-23 04:06:12 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a30:2bd2:51c4:52fd) (Ping timeout: 245 seconds) |
2023-08-23 04:07:22 +0200 | jabuxas | (~jabuxas@user/jabuxas) (Quit: Leaving.) |
2023-08-23 04:07:31 +0200 | jabuxas | (~jabuxas@user/jabuxas) |
2023-08-23 04:08:06 +0200 | mvk | (~mvk@2607:fea8:5c9a:a600::1c6d) (Ping timeout: 246 seconds) |
2023-08-23 04:11:54 +0200 | artem | (~artem@c-73-103-90-145.hsd1.in.comcast.net) |
2023-08-23 04:11:55 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer) |
2023-08-23 04:11:55 +0200 | jabuxas | (~jabuxas@user/jabuxas) (Client Quit) |
2023-08-23 04:15:48 +0200 | nate2 | (~nate@98.45.169.16) |
2023-08-23 04:16:58 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds) |
2023-08-23 04:21:02 +0200 | gatekempt | (~gatekempt@user/gatekempt) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2023-08-23 04:22:44 +0200 | td_ | (~td@i53870917.versanet.de) (Ping timeout: 246 seconds) |
2023-08-23 04:24:22 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) |
2023-08-23 04:24:36 +0200 | td_ | (~td@i5387090D.versanet.de) |
2023-08-23 04:27:49 +0200 | AlexZenon | (~alzenon@178.34.150.48) (Ping timeout: 244 seconds) |
2023-08-23 04:27:53 +0200 | <justsomeguy> | You should define a DSL that generates your real program. |
2023-08-23 04:28:16 +0200 | <justsomeguy> | That will up the complexity... |
2023-08-23 04:28:36 +0200 | Alex_test | (~al_test@178.34.150.48) (Ping timeout: 256 seconds) |
2023-08-23 04:33:21 +0200 | AlexZenon | (~alzenon@178.34.150.48) |
2023-08-23 04:33:31 +0200 | <Inst> | already working the TH, and bashing my head in because it's giving me not in scope errors |
2023-08-23 04:33:41 +0200 | <Inst> | maybe that's why snoyman never expanded file embed to support traversables |
2023-08-23 04:34:20 +0200 | Alex_test | (~al_test@178.34.150.48) |
2023-08-23 04:34:51 +0200 | ft | (~ft@p508db17b.dip0.t-ipconnect.de) |
2023-08-23 04:36:31 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 04:39:03 +0200 | ddellacosta | (~ddellacos@146.70.168.136) (Ping timeout: 246 seconds) |
2023-08-23 04:41:04 +0200 | sm | (~sm@plaintextaccounting/sm) (Ping timeout: 256 seconds) |
2023-08-23 04:41:22 +0200 | ddellacosta | (~ddellacos@146.70.165.10) |
2023-08-23 04:41:28 +0200 | <monochrom> | You're running into what the Scheme people call "hygienic macros" vs variable capture. |
2023-08-23 04:42:30 +0200 | <monochrom> | If you desire variable capture but you actually have a hygienic macro, that will be an unexpected var-not-found. |
2023-08-23 04:43:11 +0200 | <monochrom> | Conversely, if you desire no variable capture but you actually have a non-hygienic (variable-capturing) macro, that will be an unexpected unsoundness. |
2023-08-23 04:50:57 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-08-23 04:50:57 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-08-23 04:50:57 +0200 | finn_elija | FinnElija |
2023-08-23 04:53:21 +0200 | Achylles | (~Achylles_@45.182.57.81) (Quit: Leaving) |
2023-08-23 04:55:37 +0200 | <dolio> | Everyone who's thinking clearly want hygienic macros, though. |
2023-08-23 04:56:08 +0200 | <monochrom> | I agree, hence unsoundness :) |
2023-08-23 04:56:35 +0200 | <dolio> | Manually avoiding variable capture is so much harder to get right than using some extra feature for the times you actually want variable capture. |
2023-08-23 04:59:30 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-08-23 05:05:07 +0200 | myyo | (~myyo@75-166-145-203.hlrn.qwest.net) |
2023-08-23 05:06:18 +0200 | powderhorn | (~powderhor@207-153-12-54.static.fttp.usinternet.com) |
2023-08-23 05:07:27 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 245 seconds) |
2023-08-23 05:07:54 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::7d) (Remote host closed the connection) |
2023-08-23 05:08:34 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::d547) |
2023-08-23 05:10:08 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2023-08-23 05:10:59 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-08-23 05:11:08 +0200 | hugo | (znc@2001:6b0:17:f0a0::17) (Ping timeout: 248 seconds) |
2023-08-23 05:11:28 +0200 | <Inst> | monochrome: the actual issue was that I was playing type tetris because I wanted to use traverse, and somehow created two separate calls to newName |
2023-08-23 05:12:19 +0200 | <monochrom> | OK, so hashwashing OCD :) |
2023-08-23 05:12:27 +0200 | <Inst> | georgeClooney_a2Jg :: ByteString |
2023-08-23 05:12:27 +0200 | <Inst> | georgeClooney_a2Jh |
2023-08-23 05:12:27 +0200 | <Inst> | = |
2023-08-23 05:12:34 +0200 | <Inst> | didn't notice it |
2023-08-23 05:15:40 +0200 | myyo | (~myyo@75-166-145-203.hlrn.qwest.net) (Read error: Connection reset by peer) |
2023-08-23 05:15:41 +0200 | myyo_ | (~myyo@75-166-145-203.hlrn.qwest.net) |
2023-08-23 05:16:36 +0200 | myyo | (~myyo@75-166-145-203.hlrn.qwest.net) |
2023-08-23 05:16:36 +0200 | myyo_ | (~myyo@75-166-145-203.hlrn.qwest.net) (Read error: Connection reset by peer) |
2023-08-23 05:16:59 +0200 | <EvanR> | encode messages in your variables names by spelling everything backwards |
2023-08-23 05:17:03 +0200 | <EvanR> | you know you want to |
2023-08-23 05:18:57 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2023-08-23 05:19:08 +0200 | nate2 | (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
2023-08-23 05:22:00 +0200 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 250 seconds) |
2023-08-23 05:24:48 +0200 | zmt01 | (~zmt00@user/zmt00) |
2023-08-23 05:25:44 +0200 | hgolden_ | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) |
2023-08-23 05:26:05 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 246 seconds) |
2023-08-23 05:26:24 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
2023-08-23 05:27:50 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 246 seconds) |
2023-08-23 05:28:11 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Ping timeout: 246 seconds) |
2023-08-23 05:28:35 +0200 | bilegeek | (~bilegeek@2600:1008:b084:26e1:642d:15c:b0a8:d815) (Quit: Leaving) |
2023-08-23 05:28:53 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-08-23 05:33:32 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::d547) (Remote host closed the connection) |
2023-08-23 05:33:49 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::d547) |
2023-08-23 05:40:09 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Quit: WeeChat 4.0.3) |
2023-08-23 05:40:41 +0200 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) |
2023-08-23 05:44:00 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-08-23 05:45:37 +0200 | myyo | (~myyo@75-166-145-203.hlrn.qwest.net) () |
2023-08-23 05:48:57 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-08-23 06:01:14 +0200 | aforemny_ | (~aforemny@2001:9e8:6cf2:c700:b41f:8d5e:8e07:ee66) |
2023-08-23 06:02:06 +0200 | aforemny | (~aforemny@i59F516F9.versanet.de) (Ping timeout: 245 seconds) |
2023-08-23 06:07:05 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-08-23 06:09:09 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-23 06:11:20 +0200 | johnw | (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
2023-08-23 06:12:01 +0200 | g | (g@libera/staff-emeritus/glguy) (Remote host closed the connection) |
2023-08-23 06:12:09 +0200 | g | (g@libera/staff-emeritus/glguy) |
2023-08-23 06:16:12 +0200 | razetime | (~quassel@117.254.37.57) (Ping timeout: 248 seconds) |
2023-08-23 06:17:52 +0200 | thegeekinside | (~thegeekin@189.180.79.225) (Ping timeout: 260 seconds) |
2023-08-23 06:17:52 +0200 | artem | (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer) |
2023-08-23 06:17:52 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) |
2023-08-23 06:21:37 +0200 | g | (g@libera/staff-emeritus/glguy) (Remote host closed the connection) |
2023-08-23 06:21:45 +0200 | g | (g@libera/staff-emeritus/glguy) |
2023-08-23 06:51:45 +0200 | g | (g@libera/staff-emeritus/glguy) (Remote host closed the connection) |
2023-08-23 06:51:53 +0200 | g | (g@libera/staff-emeritus/glguy) |
2023-08-23 07:01:39 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds) |
2023-08-23 07:02:40 +0200 | razetime | (~quassel@117.254.37.57) |
2023-08-23 07:03:26 +0200 | <dsal> | People are pretty weird about readability and identifier names. I had someone recently say that `x` should have a more detailed (expanded? I don't remember the exact word) name in case maybeSomething of; Just x -> doSomethingWith x; Nothing -> doNothing |
2023-08-23 07:04:16 +0200 | <dsal> | Like, do you need to call this "something"? Because I can look up more easily than I can do long string character matches in my head. |
2023-08-23 07:06:08 +0200 | <c_wraith> | you should call it "theThingIDon'tCareAbout" |
2023-08-23 07:06:17 +0200 | <c_wraith> | fortunately, apostrophes are allowed in identifiers |
2023-08-23 07:07:23 +0200 | <c_wraith> | Though if someone complained about that to me, I'd replace the whole case with a call to maybe |
2023-08-23 07:11:31 +0200 | shapr | (~user@2600:1700:c640:3100:944:4982:f0a2:9b14) (Ping timeout: 246 seconds) |
2023-08-23 07:14:20 +0200 | <mauke> | hey, I just met you |
2023-08-23 07:15:02 +0200 | <Axman6> | dsal: the better name is none at all, maybe doNothing doSomethingWith maybeSomething |
2023-08-23 07:15:49 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-08-23 07:16:34 +0200 | <Axman6> | (and a style I sometimes use is maybeSomething & maybe doNothing doSomethingWith, which can make it clearer what the subject of the code is) |
2023-08-23 07:17:44 +0200 | danza_ | (~francesco@an-19-166-29.service.infuturo.it) (Read error: Connection reset by peer) |
2023-08-23 07:17:50 +0200 | <mauke> | case maybeSomething of Just (doSomethingWith -> y) -> y; Nothing -> doNothing |
2023-08-23 07:18:03 +0200 | danza_ | (~francesco@151.47.200.141) |
2023-08-23 07:18:27 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 246 seconds) |
2023-08-23 07:19:01 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-08-23 07:19:23 +0200 | <monochrom> | Programmers are generally fanatic about superficial coding guides like that. |
2023-08-23 07:20:26 +0200 | <monochrom> | "meaningful names (no exception), at most 60 lines per function (no exception), at most N columns per line (no exception), indentation must be ..." etc etc |
2023-08-23 07:20:32 +0200 | <dsal> | Axman6: That's the direction I usually go. |
2023-08-23 07:21:05 +0200 | <mauke> | a pattern I've seen in real code: case ... of thing@(isCromulent -> True) -> doStuff thing; ... |
2023-08-23 07:22:22 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::d547) (Ping timeout: 246 seconds) |
2023-08-23 07:23:03 +0200 | <monochrom> | Programmers are incapable of unalgorithm it-depends value judgment (that's why they chose algorithmic programming, no?), that is why their coding style guides are simple mechanical checks that mean nothing. |
2023-08-23 07:24:16 +0200 | <monochrom> | One style guide is going to be "never pointfree" and another is going to be "always pointfree". There is not going to be a reasonable style guide that says "pointfree when it makes sense, pointful when it makes sense". |
2023-08-23 07:25:14 +0200 | <mauke> | I thought that was what the perl style guide was about :-) |
2023-08-23 07:25:40 +0200 | johnw | (~johnw@69.62.242.138) |
2023-08-23 07:26:11 +0200 | <mauke> | "there's more than one way to do it, so choose the way that makes the most sense / is clearest for your particular situation" |
2023-08-23 07:26:25 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::725c) |
2023-08-23 07:27:34 +0200 | <dsal> | Drives me insane when people equate longer names to more readable code. It's less readable to me personally, and I worked in a setting where we had people whose job was to study and understand readability and the consensus was that arbitrarily long identifier names don't help much. |
2023-08-23 07:27:48 +0200 | <probie> | monochrom: Rigid, sometimes silly rules make for a few days of "wtf" but months of freedom from irrelevant decisions. It is optimising for employee mental health, and (hopefully) by extension, productivity |
2023-08-23 07:28:08 +0200 | <dsal> | Though length proportional to scope is a handy rule of thumb. The same code that needed something longer than an `x` for the `Just` case had a parameter named `t` on a function that was like, a page long. That was OK, I guess. |
2023-08-23 07:28:58 +0200 | <mauke> | also, identifier huffmanization |
2023-08-23 07:29:10 +0200 | <dsal> | probie: That's true unless the rules are overly prescriptive and make it harder for the people to maintain a codebase to understand the codebase in favor of hypothetical people who aren't familiar with it and have no access to people who are. |
2023-08-23 07:29:42 +0200 | <mauke> | names that you use all the time should be shorter than names you don't (or at least shouldn't) use often |
2023-08-23 07:29:54 +0200 | <dsal> | Yeah, soft rules like that are helpful. |
2023-08-23 07:30:04 +0200 | ddellacosta | (~ddellacos@146.70.165.10) (Ping timeout: 246 seconds) |
2023-08-23 07:30:07 +0200 | <mauke> | (cf. unsafePerformIO) |
2023-08-23 07:30:21 +0200 | <dsal> | But also, a thing you use just one to move one line down doesn't need to be self-documenting when it's actually obvious. |
2023-08-23 07:30:53 +0200 | <monochrom> | probie: Do you have data that shows that silly rules improve mental health? |
2023-08-23 07:30:59 +0200 | <probie> | dsal: I don't inherently disagree, but every place I've worked with super prescriptive rules has been a pleasure to work at, and every place that was "just go for it", was a mediocre experience at best |
2023-08-23 07:31:44 +0200 | <dsal> | I see people doing stuff like `let aThing = mkAThing in useAThing aThing` and like, why is that easier to read than `useAThing mkAThing` ? |
2023-08-23 07:31:52 +0200 | <probie> | monochrom: no, only myself as a data point, but I'm also on the autism spectrum, so that probably ruins even that |
2023-08-23 07:32:22 +0200 | ddellacosta | (~ddellacos@146.70.166.100) |
2023-08-23 07:32:45 +0200 | <monochrom> | Oh if we're only talking about personal experience, my personal experience is that disallowing myself to just use "foo" is the single most source of stress. |
2023-08-23 07:33:22 +0200 | <monochrom> | And when I allow myself to just use "foo" and move on, my productivity increases by 500% instantly. |
2023-08-23 07:33:27 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-08-23 07:33:46 +0200 | <monochrom> | To be sure, I don't abuse "foo", I use it when it really doesn't matter. |
2023-08-23 07:33:49 +0200 | <mauke> | foo', foo'', foo''', foo'''' |
2023-08-23 07:34:17 +0200 | <dsal> | There was some discussion around some coding style stuff in the codebase and a couple of my snippets ended up in the discussion, written a couple different ways. Luckily, I can't remember the details, but they'd be equivalents where I might do something like `something <$> fun1 <*> fun2` and people would be like, do you like that or `do; x <- fun1; y <- fun2; something x y` |
2023-08-23 07:34:38 +0200 | <dsal> | One of them literally used `x` and `y` in one of those situations where the names meant absolutely nothing, but now I've got names and bindings and stuff to consider instead of just like, a simple applicative. |
2023-08-23 07:34:49 +0200 | <mauke> | also, to reduce pointless arguments over names, all types should be called T, all classes C, and all functions f |
2023-08-23 07:35:03 +0200 | <mauke> | if there's a conflict, make a new module |
2023-08-23 07:35:31 +0200 | <dsal> | But the frustrating part is that this will be a helper in a where clause in a function that's got an incredibly robust test suite, but nobody would ever see. vs. the entire API surface of the application which is just a disaster. |
2023-08-23 07:35:43 +0200 | <glguy> | Put f::a in your class C so you can reuse it a bunch |
2023-08-23 07:36:24 +0200 | <glguy> | Easier to remember the name that way |
2023-08-23 07:37:08 +0200 | <dsal> | mauke: I suggested that we not release a reusable framework `Thing` with all of the exported identifiers starting with `thing` (e.g., `thingThing` and `thingThingResultSuccess` and got pointed to a module that named a type `T` as an example of why that's bad or something. |
2023-08-23 07:37:49 +0200 | michalz | (~michalz@185.246.207.203) |
2023-08-23 07:40:06 +0200 | <dsal> | It's hard for me to understand some people's concerns, to be honest. Person didn't want to export a symbol called `Success` because it conflicts with other thing. But that's like, only if you make a giant module importing a bunch of different unqualified modules that export `Success` and want to distinguish them. So like, don't do that. |
2023-08-23 07:40:22 +0200 | <monochrom> | Consider using theDarkLordWhoMustNotBeName next time :) |
2023-08-23 07:40:34 +0200 | <monochrom> | err, theDarkLordWhoMustNotBeNamed |
2023-08-23 07:40:54 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 07:41:38 +0200 | <dsal> | I had someone complain *madly* when I suggested he didn't need a ~7 word identifier that was used once on the line below its definition. Told me he absolutely couldn't read the code unless it contained all the words. |
2023-08-23 07:41:51 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-08-23 07:42:35 +0200 | <dsal> | Something like `someValueFromSomeActionThatDoesAthing <- getSomeValueFromSomeActionThatDoesAthing; doSomeOtherActionWithThisThingIGot someValueFromSomeActionThatDoesAthing` |
2023-08-23 07:44:08 +0200 | <dsal> | Our coding convention strongly recommended not doing that. Management got involved. The guy apparently had some neurodivergence that made it impossible to read code if every symbol didn't have its entire commit history in it. Which makes it pretty hard to work in a codebase where people don't do that. |
2023-08-23 07:47:37 +0200 | <monochrom> | Style guides are written by the victors. |
2023-08-23 07:47:54 +0200 | <monochrom> | History and style guides and "recipes" for success. |
2023-08-23 07:49:01 +0200 | Guest3051 | (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 248 seconds) |
2023-08-23 07:49:10 +0200 | briandaed | (~briandaed@185.234.210.211) |
2023-08-23 07:52:33 +0200 | Guest3051 | (sid1055@id-1055.tinside.irccloud.com) |
2023-08-23 07:58:37 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-23 07:59:10 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05045f4aa7d8e8f055.dip0.t-ipconnect.de) |
2023-08-23 08:05:22 +0200 | <dsal> | People like make rules about things that are easy to make rules about even if they don't have much impact. The things that have a lot of impact are a lot harder to codify, so we'll just leave those as an exercise for the maintainer. |
2023-08-23 08:09:51 +0200 | CiaoSen | (~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef) |
2023-08-23 08:13:53 +0200 | <Axman6> | @quote+ monochrom Style guides are written by the victors. |
2023-08-23 08:13:53 +0200 | <lambdabot> | No quotes match. BOB says: You seem to have forgotten your passwd, enter another! |
2023-08-23 08:14:19 +0200 | <glguy> | Remember |
2023-08-23 08:14:31 +0200 | <dsal> | lambdabot: my password is x |
2023-08-23 08:15:16 +0200 | <Axman6> | @remember monochrom Style guides are written by the victors. |
2023-08-23 08:15:16 +0200 | <lambdabot> | Done. |
2023-08-23 08:15:40 +0200 | <Axman6> | Thanks - took me much longer than I hoped to find that via PM with lambdabot |
2023-08-23 08:26:14 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 08:26:59 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-08-23 08:29:54 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Remote host closed the connection) |
2023-08-23 08:35:05 +0200 | ircbrowse_tom | (~ircbrowse@static.162.49.55.162.clients.your-server.de) (ZNC 1.8.2+deb2build5 - https://znc.in) |
2023-08-23 08:35:21 +0200 | ircbrowse_tom_ | (~ircbrowse@static.162.49.55.162.clients.your-server.de) |
2023-08-23 08:35:29 +0200 | Server | +Cnt |
2023-08-23 08:35:44 +0200 | sympt3 | (~sympt@user/sympt) |
2023-08-23 08:35:53 +0200 | tired- | (~tired@user/tired) |
2023-08-23 08:35:57 +0200 | SheRejoined | (haveident@libera/staff/she/her) |
2023-08-23 08:36:00 +0200 | jackdk_ | (sid373013@cssa/jackdk) |
2023-08-23 08:36:03 +0200 | leeb- | (~leeb@tk2-243-31079.vs.sakura.ne.jp) |
2023-08-23 08:36:04 +0200 | xelxebar_ | (~xelxebar@wilsonb.com) |
2023-08-23 08:36:05 +0200 | stefan-__ | (~cri@42dots.de) |
2023-08-23 08:36:50 +0200 | fiddlerwoaroof | (~fiddlerwo@user/fiddlerwoaroof) |
2023-08-23 08:36:53 +0200 | natto17 | (~natto@129.154.243.159) |
2023-08-23 08:37:04 +0200 | Simikando | (~Simikando@adsl-dyn1.91-127-51.t-com.sk) |
2023-08-23 08:37:26 +0200 | raoul1 | (~raoul@95.179.203.88) |
2023-08-23 08:37:34 +0200 | pie__ | (~pie_bnc@user/pie/x-2818909) |
2023-08-23 08:38:03 +0200 | kjak_ | (~kjak@pool-108-28-157-148.washdc.fios.verizon.net) |
2023-08-23 08:38:03 +0200 | cln_ | (cln@wtf.cx) |
2023-08-23 08:38:05 +0200 | Hecate_ | (~mariposa@user/hecate) |
2023-08-23 08:38:11 +0200 | barrucad1 | (~barrucadu@carcosa.barrucadu.co.uk) |
2023-08-23 08:38:15 +0200 | gnyeki_ | (~gnyeki@li578-216.members.linode.com) |
2023-08-23 08:38:16 +0200 | gnyeki_ | (~gnyeki@li578-216.members.linode.com) (Changing host) |
2023-08-23 08:38:16 +0200 | gnyeki_ | (~gnyeki@user/gnyeki) |
2023-08-23 08:38:17 +0200 | root | (~root@user/institor) |
2023-08-23 08:38:21 +0200 | adium_ | (adium@user/adium) |
2023-08-23 08:38:39 +0200 | user2 | (~user@162.255.84.96) |
2023-08-23 08:38:42 +0200 | root | Guest7973 |
2023-08-23 08:38:46 +0200 | sweater1 | (~sweater@206.81.18.26) |
2023-08-23 08:38:53 +0200 | kaol_ | (~kaol@94-237-42-30.nl-ams1.upcloud.host) |
2023-08-23 08:38:53 +0200 | dontdieych_ | (~alarm@132.226.169.184) |
2023-08-23 08:38:55 +0200 | institor | (~root@user/institor) (Killed (NickServ (GHOST command used by Guest7973))) |
2023-08-23 08:39:04 +0200 | Guest7973 | institor |
2023-08-23 08:39:19 +0200 | She | (haveident@libera/staff/she/her) (*.net *.split) |
2023-08-23 08:39:19 +0200 | kjak | (~kjak@pool-108-28-157-148.washdc.fios.verizon.net) (*.net *.split) |
2023-08-23 08:39:19 +0200 | natto | (~natto@129.154.243.159) (*.net *.split) |
2023-08-23 08:39:19 +0200 | lambdap237 | (~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split) |
2023-08-23 08:39:19 +0200 | SoF | (~skius@user/skius) (*.net *.split) |
2023-08-23 08:39:19 +0200 | sympt | (~sympt@user/sympt) (*.net *.split) |
2023-08-23 08:39:19 +0200 | tired | (~tired@user/tired) (*.net *.split) |
2023-08-23 08:39:19 +0200 | dontdieych | (~alarm@132.226.169.184) (*.net *.split) |
2023-08-23 08:39:19 +0200 | xelxebar | (~xelxebar@wilsonb.com) (*.net *.split) |
2023-08-23 08:39:19 +0200 | jackdk | (sid373013@cssa/jackdk) (*.net *.split) |
2023-08-23 08:39:19 +0200 | gnyeki | (~gnyeki@user/gnyeki) (*.net *.split) |
2023-08-23 08:39:19 +0200 | polux | (~polux@51-15-169-172.rev.poneytelecom.eu) (*.net *.split) |
2023-08-23 08:39:19 +0200 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) (*.net *.split) |
2023-08-23 08:39:19 +0200 | fiddlerw- | (~fiddlerwo@user/fiddlerwoaroof) (*.net *.split) |
2023-08-23 08:39:19 +0200 | user1 | (~user@162.255.84.96) (*.net *.split) |
2023-08-23 08:39:19 +0200 | sweater | (~sweater@206.81.18.26) (*.net *.split) |
2023-08-23 08:39:19 +0200 | aku | (~aku@65.108.245.241) (*.net *.split) |
2023-08-23 08:39:19 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) (*.net *.split) |
2023-08-23 08:39:21 +0200 | adium | (adium@user/adium) (*.net *.split) |
2023-08-23 08:39:21 +0200 | raoul | (~raoul@95.179.203.88) (*.net *.split) |
2023-08-23 08:39:21 +0200 | ircbrowse_tom | (~ircbrowse@static.162.49.55.162.clients.your-server.de) (*.net *.split) |
2023-08-23 08:39:21 +0200 | Hecate | (~mariposa@user/hecate) (*.net *.split) |
2023-08-23 08:39:21 +0200 | cln | (~cln@wtf.cx) (*.net *.split) |
2023-08-23 08:39:21 +0200 | leeb | (~leeb@tk2-243-31079.vs.sakura.ne.jp) (*.net *.split) |
2023-08-23 08:39:21 +0200 | kaol | (~kaol@94-237-42-30.nl-ams1.upcloud.host) (*.net *.split) |
2023-08-23 08:39:21 +0200 | stefan-_ | (~cri@42dots.de) (*.net *.split) |
2023-08-23 08:39:21 +0200 | tdammers | (~tdammers@219-131-178-143.ftth.glasoperator.nl) (*.net *.split) |
2023-08-23 08:39:21 +0200 | SheRejoined | She |
2023-08-23 08:39:21 +0200 | SoF1 | SoF |
2023-08-23 08:39:21 +0200 | raoul1 | raoul |
2023-08-23 08:39:21 +0200 | sympt3 | sympt |
2023-08-23 08:39:21 +0200 | polux8 | polux |
2023-08-23 08:39:21 +0200 | jackdk_ | jackdk |
2023-08-23 08:39:21 +0200 | lambdap2371 | lambdap237 |
2023-08-23 08:39:22 +0200 | leeb- | leeb |
2023-08-23 08:43:31 +0200 | aku | (~aku@65.108.245.241) |
2023-08-23 08:45:39 +0200 | Simikando | (~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving) |
2023-08-23 08:51:15 +0200 | tdammers | (~tdammers@219-131-178-143.ftth.glasoperator.nl) |
2023-08-23 08:53:54 +0200 | fendor | (~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) |
2023-08-23 08:56:53 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) |
2023-08-23 09:01:25 +0200 | jonathan__ | (~jonathan@193.203.13.93) |
2023-08-23 09:02:09 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:f1a1:7919:4ffc:e710) |
2023-08-23 09:04:20 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 09:13:52 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-08-23 09:16:19 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-23 09:17:50 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
2023-08-23 09:19:15 +0200 | razetime | (~quassel@117.254.37.57) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-08-23 09:19:16 +0200 | ccapndave | (~ccapndave@mob-194-230-146-105.cgn.sunrise.net) |
2023-08-23 09:21:00 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2023-08-23 09:21:01 +0200 | xelxebar_ | xelxebar |
2023-08-23 09:22:55 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-08-23 09:22:55 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-08-23 09:22:55 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-08-23 09:23:48 +0200 | mmhat | (~mmh@p200300f1c7042784ee086bfffe095315.dip0.t-ipconnect.de) |
2023-08-23 09:25:50 +0200 | mima | (~mmh@aftr-62-216-211-216.dynamic.mnet-online.de) |
2023-08-23 09:27:37 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 09:30:26 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) |
2023-08-23 09:33:09 +0200 | <Axman6> | Type level records, is this a thing that can be easily done? I could possibly use a type class with associated types, but it would be nice to be able to take a record that exists and chance one value. |
2023-08-23 09:33:16 +0200 | <mmhat> | -quit |
2023-08-23 09:33:22 +0200 | mmhat | (~mmh@p200300f1c7042784ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.4) |
2023-08-23 09:36:04 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Ping timeout: 246 seconds) |
2023-08-23 09:38:38 +0200 | ccapndave | (~ccapndave@mob-194-230-146-105.cgn.sunrise.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2023-08-23 09:43:11 +0200 | bonz060 | (~quassel@2001:bc8:640:f07::1) (Quit: No Ping reply in 180 seconds.) |
2023-08-23 09:47:47 +0200 | <dminuoso> | Axman6: Well records are really just some superficial syntax sugar. With a tyfam and a multi-parameter type you can get the same effect. |
2023-08-23 09:48:21 +0200 | <dminuoso> | It's just not as convenient, as you have to write the accessor/update tyfams explicitly. But I suppose you could cook up some TH to take the boilerplate off your hands. |
2023-08-23 09:49:02 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-08-23 09:50:21 +0200 | fendor | (~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) (Remote host closed the connection) |
2023-08-23 09:53:32 +0200 | <tdammers> | I believe singletons-th can do that for you, but it comes at a price... |
2023-08-23 09:54:24 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-08-23 09:55:36 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-08-23 09:58:29 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds) |
2023-08-23 09:59:55 +0200 | aforemny_ | aforemny |
2023-08-23 10:00:23 +0200 | powderhorn | (~powderhor@207-153-12-54.static.fttp.usinternet.com) (Ping timeout: 246 seconds) |
2023-08-23 10:02:22 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-08-23 10:02:30 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection) |
2023-08-23 10:03:09 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-08-23 10:03:10 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-08-23 10:03:10 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-08-23 10:03:45 +0200 | SegmentationFaul | (~Segmentat@185.151.84.54) |
2023-08-23 10:06:21 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-08-23 10:07:18 +0200 | ccapndave | (~ccapndave@mob-194-230-146-105.cgn.sunrise.net) |
2023-08-23 10:07:30 +0200 | ccapndave | (~ccapndave@mob-194-230-146-105.cgn.sunrise.net) (Client Quit) |
2023-08-23 10:08:33 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2023-08-23 10:09:26 +0200 | kmein | (~weechat@user/kmein) |
2023-08-23 10:09:31 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-08-23 10:10:25 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-08-23 10:10:57 +0200 | <albet70> | when Data.List.Split would merge into Data.List? |
2023-08-23 10:11:25 +0200 | danza_ | (~francesco@151.47.200.141) (Ping timeout: 246 seconds) |
2023-08-23 10:12:25 +0200 | <albet70> | Data.List lack some base methods to do with strings, Data.Text has those methods |
2023-08-23 10:13:06 +0200 | bonz060 | (~quassel@2001:bc8:640:f07::1) |
2023-08-23 10:15:58 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 256 seconds) |
2023-08-23 10:16:42 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-08-23 10:16:53 +0200 | <dminuoso> | albet70: I am not aware of any RFC to do this. |
2023-08-23 10:19:28 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-08-23 10:24:41 +0200 | bonz060 | (~quassel@2001:bc8:640:f07::1) (Quit: No Ping reply in 180 seconds.) |
2023-08-23 10:25:45 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Remote host closed the connection) |
2023-08-23 10:26:25 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) |
2023-08-23 10:26:45 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-08-23 10:26:51 +0200 | <lisbeths> | What about a version of currying where the beta normal form of the last computation is the input to the next function in the input stream. |
2023-08-23 10:29:45 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Remote host closed the connection) |
2023-08-23 10:30:02 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) |
2023-08-23 10:30:19 +0200 | ubert | (~Thunderbi@178.115.53.153.wireless.dyn.drei.com) |
2023-08-23 10:32:58 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 256 seconds) |
2023-08-23 10:33:35 +0200 | mechap | (~mechap@user/mechap) |
2023-08-23 10:34:27 +0200 | ubert | (~Thunderbi@178.115.53.153.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2023-08-23 10:38:18 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-08-23 10:38:18 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-08-23 10:38:18 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-08-23 10:39:06 +0200 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 245 seconds) |
2023-08-23 10:42:21 +0200 | infinity0 | (~infinity0@pwned.gg) |
2023-08-23 10:44:37 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-23 10:46:02 +0200 | danse-nr3 | (~francesco@151.47.200.141) |
2023-08-23 10:50:32 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-23 10:55:59 +0200 | logothesia | (~logothesi@user/logothesia) |
2023-08-23 10:56:45 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Remote host closed the connection) |
2023-08-23 10:57:03 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) |
2023-08-23 10:58:25 +0200 | jonathan__ | (~jonathan@193.203.13.93) (Ping timeout: 245 seconds) |
2023-08-23 10:59:49 +0200 | jonathan | (~jonathan@193.203.13.97) |
2023-08-23 11:02:55 +0200 | __monty__ | (~toonn@user/toonn) |
2023-08-23 11:04:12 +0200 | deviance | (~deviance@bcdcac82.skybroadband.com) (Ping timeout: 248 seconds) |
2023-08-23 11:09:06 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05045f4aa7d8e8f055.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-08-23 11:09:09 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-08-23 11:12:20 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 11:12:26 +0200 | mima | (~mmh@aftr-62-216-211-216.dynamic.mnet-online.de) (Ping timeout: 260 seconds) |
2023-08-23 11:12:55 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2023-08-23 11:16:49 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:2ce4:55ac:9234:c3d) (Quit: Leaving) |
2023-08-23 11:18:11 +0200 | danse-nr3_ | (~francesco@151.47.178.6) |
2023-08-23 11:20:06 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 252 seconds) |
2023-08-23 11:20:39 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2023-08-23 11:21:11 +0200 | danse-nr3 | (~francesco@151.47.200.141) (Ping timeout: 260 seconds) |
2023-08-23 11:24:19 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-08-23 11:24:19 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-08-23 11:24:19 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-08-23 11:25:44 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-08-23 11:26:19 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-08-23 11:26:49 +0200 | danse-nr3_ | (~francesco@151.47.178.6) (Remote host closed the connection) |
2023-08-23 11:27:11 +0200 | danse-nr3_ | (~francesco@151.47.178.6) |
2023-08-23 11:28:30 +0200 | jonathan | (~jonathan@193.203.13.97) (Ping timeout: 256 seconds) |
2023-08-23 11:28:36 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-23 11:29:38 +0200 | jonathan | (~jonathan@193.203.13.91) |
2023-08-23 11:30:58 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-23 11:33:03 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) |
2023-08-23 11:34:20 +0200 | kaol_ | kaol |
2023-08-23 11:35:45 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:f1a1:7919:4ffc:e710) (Quit: WeeChat 2.8) |
2023-08-23 11:37:31 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Ping timeout: 246 seconds) |
2023-08-23 11:42:17 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-08-23 11:43:30 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 11:43:42 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-08-23 11:43:44 +0200 | ft | (~ft@p508db17b.dip0.t-ipconnect.de) (Quit: leaving) |
2023-08-23 11:48:13 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) |
2023-08-23 11:51:28 +0200 | Pickchea | (~private@user/pickchea) |
2023-08-23 11:58:27 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-08-23 11:59:21 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-23 12:04:24 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Quit: Leaving) |
2023-08-23 12:06:32 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 246 seconds) |
2023-08-23 12:06:41 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
2023-08-23 12:07:11 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-23 12:09:47 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 12:11:48 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds) |
2023-08-23 12:25:43 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-08-23 12:26:54 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-08-23 12:29:14 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05d52b79b26b7060d5.dip0.t-ipconnect.de) |
2023-08-23 12:32:17 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2023-08-23 12:37:00 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978) |
2023-08-23 12:43:26 +0200 | hdggxin | (~hdggxin@122.175.41.19) (Ping timeout: 260 seconds) |
2023-08-23 12:44:47 +0200 | hdggxin | (~hdggxin@122.175.41.19) |
2023-08-23 12:48:54 +0200 | danse-nr3_ | (~francesco@151.47.178.6) (Ping timeout: 258 seconds) |
2023-08-23 12:56:39 +0200 | barrucad1 | barrucadu |
2023-08-23 12:58:11 +0200 | akegalj | (~akegalj@36-180.dsl.iskon.hr) |
2023-08-23 12:59:50 +0200 | CiaoSen | (~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef) (Ping timeout: 244 seconds) |
2023-08-23 13:01:20 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2023-08-23 13:02:09 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 246 seconds) |
2023-08-23 13:05:49 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-08-23 13:07:40 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-08-23 13:07:58 +0200 | danse-nr3_ | (~francesco@151.47.178.6) |
2023-08-23 13:08:41 +0200 | hdggxin | (~hdggxin@122.175.41.19) (Ping timeout: 250 seconds) |
2023-08-23 13:08:43 +0200 | xff0x | (~xff0x@2405:6580:b080:900:ac2a:af6b:2973:1b48) |
2023-08-23 13:13:27 +0200 | hdggxin | (~hdggxin@122.175.41.19) |
2023-08-23 13:14:01 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:6c62:6245:cbff:fe9f:48b1) |
2023-08-23 13:15:10 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-23 13:18:04 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-23 13:20:33 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds) |
2023-08-23 13:21:16 +0200 | nyc | (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 256 seconds) |
2023-08-23 13:22:51 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-08-23 13:23:33 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 246 seconds) |
2023-08-23 13:24:18 +0200 | lortabac | (~lortabac@37.97.111.147) |
2023-08-23 13:26:22 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2023-08-23 13:27:39 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-23 13:28:59 +0200 | kmein | (~weechat@user/kmein) |
2023-08-23 13:30:14 +0200 | mima | (~mmh@dhcp-138-246-3-237.dynamic.eduroam.mwn.de) |
2023-08-23 13:34:11 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds) |
2023-08-23 13:34:53 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) |
2023-08-23 13:37:38 +0200 | CiaoSen | (~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef) |
2023-08-23 13:39:30 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4c38:8910:beb8:9cb7) (Ping timeout: 258 seconds) |
2023-08-23 13:43:08 +0200 | hdggxin | (~hdggxin@122.175.41.19) (Ping timeout: 246 seconds) |
2023-08-23 13:45:34 +0200 | hseg | (~gesh@77.137.68.75) |
2023-08-23 13:45:51 +0200 | danse-nr3_ | (~francesco@151.47.178.6) (Ping timeout: 252 seconds) |
2023-08-23 13:46:42 +0200 | <hseg> | Hi - stack isn't picking up the latest versions of packages, even when listed in extra-deps. eg have dep on tls-1.8.0, but stack complains it can't find it on hackage |
2023-08-23 13:46:50 +0200 | <hseg> | anybody else have this? |
2023-08-23 13:47:39 +0200 | <hseg> | also, just saw play.haskell.org has been added, it's appreciated! |
2023-08-23 13:48:21 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-08-23 13:48:21 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-08-23 13:48:52 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-08-23 13:49:19 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2023-08-23 13:49:38 +0200 | ripspin | (~chatzilla@1.145.132.147) |
2023-08-23 13:49:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-08-23 13:53:10 +0200 | ripspin | (~chatzilla@1.145.132.147) (Remote host closed the connection) |
2023-08-23 13:58:02 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978) (Remote host closed the connection) |
2023-08-23 13:58:20 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978) |
2023-08-23 14:00:00 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-23 14:02:27 +0200 | danse-nr3_ | (~francesco@151.47.178.6) |
2023-08-23 14:03:35 +0200 | Square2 | (~Square4@user/square) |
2023-08-23 14:04:43 +0200 | andrei_n | (~andrei.n@2a02:a03f:c0bc:8400:789e:e88f:e465:7978) (Quit: Leaving) |
2023-08-23 14:09:22 +0200 | SegmentationFaul | (~Segmentat@185.151.84.54) (Quit: Client closed) |
2023-08-23 14:10:11 +0200 | notzmv | (~zmv@user/notzmv) |
2023-08-23 14:14:23 +0200 | stefan-__ | stefan-_ |
2023-08-23 14:19:21 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05d52b79b26b7060d5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-08-23 14:23:41 +0200 | td_ | (~td@i5387090D.versanet.de) (Ping timeout: 245 seconds) |
2023-08-23 14:25:36 +0200 | td_ | (~td@i5387092B.versanet.de) |
2023-08-23 14:35:37 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4421:6684:8924:105c) |
2023-08-23 14:38:07 +0200 | <hseg> | ping? anyone else notice stack not picking up latest versions of packages that exist in hackage? |
2023-08-23 14:39:15 +0200 | hdggxin | (~hdggxin@122.175.41.19) |
2023-08-23 14:39:56 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4421:6684:8924:105c) (Ping timeout: 245 seconds) |
2023-08-23 14:47:16 +0200 | <danse-nr3_> | did not happen to me but it would be a rather fundamental issue. I would rather guess that your environment is affecting this |
2023-08-23 14:47:33 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-08-23 14:48:35 +0200 | <hseg> | hrm. nuked the stack cache, seems to have solved it. _shrugs_ |
2023-08-23 14:48:41 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2023-08-23 14:49:02 +0200 | <hseg> | and yeah, it was extremely surprising to me |
2023-08-23 14:50:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 14:50:59 +0200 | <hseg> | for this precise reason |
2023-08-23 14:54:33 +0200 | SegmentationFaul | (~Segmentat@185.151.84.54) |
2023-08-23 14:57:18 +0200 | akegalj | (~akegalj@36-180.dsl.iskon.hr) (Quit: leaving) |
2023-08-23 14:58:00 +0200 | <danse-nr3_> | strange |
2023-08-23 14:58:24 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-08-23 14:58:43 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-23 14:59:15 +0200 | <danse-nr3_> | oh, i overlooked your original question |
2023-08-23 14:59:18 +0200 | <danse-nr3_> | hseg, pong |
2023-08-23 14:59:22 +0200 | <danse-nr3_> | sorry for the latency |
2023-08-23 15:00:00 +0200 | <hseg> | :) |
2023-08-23 15:00:34 +0200 | <hseg> | you answered my original question - negatively, prompting my nuke |
2023-08-23 15:02:07 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05f88db541a99f62e2.dip0.t-ipconnect.de) |
2023-08-23 15:09:27 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-08-23 15:12:51 +0200 | <danse-nr3_> | yeah but the ping was left unacked |
2023-08-23 15:15:31 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-08-23 15:15:51 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer) |
2023-08-23 15:16:03 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) |
2023-08-23 15:17:48 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 15:18:11 +0200 | danse-nr3__ | (~francesco@151.47.130.197) |
2023-08-23 15:18:46 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-08-23 15:19:04 +0200 | nyc | (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) |
2023-08-23 15:20:01 +0200 | AlexZenon | (~alzenon@178.34.150.48) (Ping timeout: 245 seconds) |
2023-08-23 15:20:02 +0200 | AlexNoo | (~AlexNoo@178.34.150.48) (Ping timeout: 246 seconds) |
2023-08-23 15:20:26 +0200 | Alex_test | (~al_test@178.34.150.48) (Ping timeout: 245 seconds) |
2023-08-23 15:20:28 +0200 | hseg | (~gesh@77.137.68.75) (Quit: WeeChat 4.0.4) |
2023-08-23 15:21:00 +0200 | danse-nr3_ | (~francesco@151.47.178.6) (Ping timeout: 252 seconds) |
2023-08-23 15:23:54 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer) |
2023-08-23 15:24:28 +0200 | ulysses4ever | (~artem@73.103.90.145) |
2023-08-23 15:24:30 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:6c62:6245:cbff:fe9f:48b1) (Remote host closed the connection) |
2023-08-23 15:26:39 +0200 | Hecate_ | Hecate |
2023-08-23 15:29:17 +0200 | fendor | (~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) |
2023-08-23 15:29:29 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-23 15:30:11 +0200 | gatekempt | (~gatekempt@user/gatekempt) |
2023-08-23 15:31:22 +0200 | Axman6 | (~Axman6@user/axman6) (Ping timeout: 264 seconds) |
2023-08-23 15:33:00 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 246 seconds) |
2023-08-23 15:34:12 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds) |
2023-08-23 15:34:40 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-08-23 15:34:47 +0200 | hgolden_ | (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection) |
2023-08-23 15:36:42 +0200 | CiaoSen | (~Jura@2a05:5800:29f:f100:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds) |
2023-08-23 15:40:34 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-08-23 15:43:00 +0200 | artem | (~artem@2601:249:4380:8950:f474:e3f8:9806:671) |
2023-08-23 15:43:02 +0200 | ulysses4ever | (~artem@73.103.90.145) (Read error: Connection reset by peer) |
2023-08-23 15:45:46 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) |
2023-08-23 15:45:47 +0200 | artem | (~artem@2601:249:4380:8950:f474:e3f8:9806:671) (Read error: Connection reset by peer) |
2023-08-23 15:50:07 +0200 | ystael | (~ystael@user/ystael) |
2023-08-23 15:53:16 +0200 | artem | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) |
2023-08-23 15:54:45 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-23 15:54:50 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Ping timeout: 256 seconds) |
2023-08-23 15:54:52 +0200 | artem | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Read error: Connection reset by peer) |
2023-08-23 15:55:49 +0200 | ulysses4ever | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) |
2023-08-23 15:57:02 +0200 | artem | (~artem@73.145.240.82) |
2023-08-23 15:59:01 +0200 | artem | (~artem@73.145.240.82) (Read error: Connection reset by peer) |
2023-08-23 15:59:01 +0200 | ulysses4ever | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Read error: Connection reset by peer) |
2023-08-23 15:59:43 +0200 | ulysses4ever | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) |
2023-08-23 16:03:50 +0200 | ulysses4ever | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Ping timeout: 246 seconds) |
2023-08-23 16:04:31 +0200 | ulysses4ever | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) |
2023-08-23 16:04:53 +0200 | AlexNoo | (~AlexNoo@178.34.150.48) |
2023-08-23 16:05:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 16:06:14 +0200 | Alex_test | (~al_test@178.34.150.48) |
2023-08-23 16:13:29 +0200 | SegmentationFaul | (~Segmentat@185.151.84.54) (Quit: Ping timeout (120 seconds)) |
2023-08-23 16:14:05 +0200 | Simikando | (~Simikando@adsl-dyn1.91-127-51.t-com.sk) |
2023-08-23 16:14:10 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) |
2023-08-23 16:14:44 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-08-23 16:15:30 +0200 | lortabac | (~lortabac@37.97.111.147) (Ping timeout: 245 seconds) |
2023-08-23 16:16:01 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-08-23 16:17:23 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-08-23 16:19:19 +0200 | Pickchea | (~private@user/pickchea) |
2023-08-23 16:19:51 +0200 | arahael | (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds) |
2023-08-23 16:22:44 +0200 | thegeekinside | (~thegeekin@189.180.79.225) |
2023-08-23 16:31:20 +0200 | nyr | (~nyr@user/nyr) |
2023-08-23 16:35:21 +0200 | briandaed | (~briandaed@185.234.210.211) (Remote host closed the connection) |
2023-08-23 16:37:09 +0200 | lortabac | (~lortabac@37.97.111.147) |
2023-08-23 16:39:32 +0200 | ulysses4ever | (~artem@2601:408:c405:16e8:f474:e3f8:9806:671) (Ping timeout: 246 seconds) |
2023-08-23 16:39:33 +0200 | Simikando | (~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving) |
2023-08-23 16:43:20 +0200 | ulysses4ever | (~artem@73.145.240.82) |
2023-08-23 16:43:34 +0200 | shapr | (~user@2600:1700:c640:3100:a991:ffa8:c9bc:d5d1) |
2023-08-23 16:43:44 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-08-23 16:43:59 +0200 | SegmentationFaul | (~Segmentat@185.151.84.54) |
2023-08-23 16:45:07 +0200 | lortabac | (~lortabac@37.97.111.147) (Quit: WeeChat 2.8) |
2023-08-23 16:45:24 +0200 | ulysses4ever | (~artem@73.145.240.82) (Read error: Connection reset by peer) |
2023-08-23 16:47:18 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-08-23 16:48:30 +0200 | AlexZenon | (~alzenon@178.34.150.48) |
2023-08-23 16:48:58 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-08-23 16:49:57 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Quit: Leaving) |
2023-08-23 16:51:33 +0200 | ulysses4ever | (~artem@2601:40d:509:64:f474:e3f8:9806:671) |
2023-08-23 16:53:19 +0200 | abrantesasf | (~abrantesa@177.137.232.92) |
2023-08-23 16:53:28 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 258 seconds) |
2023-08-23 16:53:31 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-08-23 16:56:02 +0200 | ulysses4ever | (~artem@2601:40d:509:64:f474:e3f8:9806:671) (Ping timeout: 256 seconds) |
2023-08-23 16:56:09 +0200 | g | (g@libera/staff-emeritus/glguy) (Remote host closed the connection) |
2023-08-23 16:56:17 +0200 | g | (g@libera/staff-emeritus/glguy) |
2023-08-23 16:56:43 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-08-23 16:58:16 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-08-23 16:58:16 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-08-23 16:58:16 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-08-23 16:59:28 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-08-23 17:00:37 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.0.3) |
2023-08-23 17:03:33 +0200 | powderhorn | (~powderhor@207-153-12-54.static.fttp.usinternet.com) |
2023-08-23 17:05:18 +0200 | ripspin | (~chatzilla@1.145.177.195) |
2023-08-23 17:06:38 +0200 | ulysses4ever | (~artem@hilton-nomadix.wintek.com) |
2023-08-23 17:08:20 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-08-23 17:08:28 +0200 | nyr | (~nyr@user/nyr) (Ping timeout: 248 seconds) |
2023-08-23 17:08:37 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4421:6684:8924:105c) |
2023-08-23 17:10:43 +0200 | ulysses4ever | (~artem@hilton-nomadix.wintek.com) (Ping timeout: 246 seconds) |
2023-08-23 17:11:03 +0200 | ulysses4ever | (~artem@2601:408:c405:4964:f474:e3f8:9806:671) |
2023-08-23 17:13:29 +0200 | ulysses4ever | (~artem@2601:408:c405:4964:f474:e3f8:9806:671) (Read error: Connection reset by peer) |
2023-08-23 17:13:33 +0200 | artem | (~artem@2601:408:c405:4964:f474:e3f8:9806:671) |
2023-08-23 17:15:23 +0200 | <exarkun> | I tried to use module "thinning" (https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#thinning-and-renaming-modules) by adding `{-# OPTIONS_GHC -package "base64-bytestring (Data.ByteString.Base64)" #-}` to one of my source files but `cabal build` gives me `unknown flag in {-# OPTIONS_GHC #-} pragma: -package`. How should I do this? |
2023-08-23 17:19:48 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-23 17:24:45 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2023-08-23 17:25:24 +0200 | artem | (~artem@2601:408:c405:4964:f474:e3f8:9806:671) (Ping timeout: 244 seconds) |
2023-08-23 17:28:23 +0200 | SegmentationFaul | (~Segmentat@185.151.84.54) (Ping timeout: 246 seconds) |
2023-08-23 17:28:45 +0200 | jabuxas | (~jabuxas@user/jabuxas) |
2023-08-23 17:29:16 +0200 | mechap | (~mechap@user/mechap) (Ping timeout: 260 seconds) |
2023-08-23 17:29:54 +0200 | mechap | (~mechap@user/mechap) |
2023-08-23 17:35:47 +0200 | <danse-nr3__> | i searched a bit but i did not find any documentation that would hint to that syntax being wrong. I guess most thinning users choose command line flags |
2023-08-23 17:36:51 +0200 | <fendor> | I might be wrong, but maybe OPTIONS_GHC is only allowed for interactive flags? `-package` is not an interactive flag, e.g. you can't specify it in ghci |
2023-08-23 17:37:08 +0200 | Minnozz | (~minnozz@salix.minnozz.com) (WeeChat 3.8) |
2023-08-23 17:37:14 +0200 | <fendor> | * in a ghci session to load another package |
2023-08-23 17:39:37 +0200 | <exarkun> | hm. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using.html#source-file-options says that only "Dynamic" flags can be used with OPTIONS_GHC (although I am not sure if the intent here is that _all_ "Dynamic" flags can be used with it) |
2023-08-23 17:39:53 +0200 | ulysses4ever | (~artem@2607:fb91:174a:9d2c:92a6:7fd7:d49d:f507) |
2023-08-23 17:39:56 +0200 | <exarkun> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/flags.html#flag-reference does say that "-package" is "Dynamic" |
2023-08-23 17:40:26 +0200 | <exarkun> | I can use the `PackageImports` language extension instead... but docs told me it's fragile and I should prefer thinning. |
2023-08-23 17:41:04 +0200 | Simikando | (~Simikando@adsl-dyn1.91-127-51.t-com.sk) |
2023-08-23 17:44:49 +0200 | abrantesasf | (~abrantesa@177.137.232.92) (Remote host closed the connection) |
2023-08-23 17:47:37 +0200 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
2023-08-23 17:48:13 +0200 | Simikando | (~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving) |
2023-08-23 17:48:26 +0200 | <c_wraith> | exarkun: if you're using cabal, use mixins |
2023-08-23 17:48:26 +0200 | ulysses4ever | (~artem@2607:fb91:174a:9d2c:92a6:7fd7:d49d:f507) (Read error: Connection reset by peer) |
2023-08-23 17:48:36 +0200 | ulysses4ever | (~artem@192.31.0.5) |
2023-08-23 17:48:48 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 246 seconds) |
2023-08-23 17:49:04 +0200 | <c_wraith> | exarkun: https://cabal.readthedocs.io/en/stable/cabal-package.html#pkg-field-mixins |
2023-08-23 17:49:55 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05f88db541a99f62e2.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-08-23 17:50:06 +0200 | jabuxas | (~jabuxas@user/jabuxas) (Quit: Leaving.) |
2023-08-23 17:50:54 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2023-08-23 17:51:07 +0200 | thegeekinside | (~thegeekin@189.180.79.225) (Remote host closed the connection) |
2023-08-23 17:51:18 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2023-08-23 17:53:46 +0200 | <exarkun> | c_wraith: Okay, didn't know about those. It looks like they aren't per-module though? |
2023-08-23 17:54:06 +0200 | <c_wraith> | they aren't. but on the plus side, they work. :) |
2023-08-23 17:54:49 +0200 | <exarkun> | in my specific case, I need to specify per-module, so I guess PackageImports for now |
2023-08-23 17:55:15 +0200 | <exarkun> | thanks for the pointer about mixins |
2023-08-23 17:57:26 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-08-23 17:59:26 +0200 | <justsomeguy> | Is it possible to write a test that proves whether something is a data constructor or type constructor? I'm trying to unit test my homework. When I try to evaluate the type constructor "Doggies" I get the following exception "Illegal term-level use of the type constructor ‘Doggies’". So maybe I can use hspec's `shouldThrow`? |
2023-08-23 18:00:34 +0200 | <justsomeguy> | Until now, I've been writing expect scripts that run GHCi interactively and do string matching for my tests, but I thought it would be nicer to write hspec unit tests, instead. |
2023-08-23 18:01:05 +0200 | <geekosaur> | "throw" is runtime, you are getting a compile time error |
2023-08-23 18:01:18 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-08-23 18:01:34 +0200 | <c_wraith> | I don't see much value in testing something that just won't compile if code is using it incorrectly |
2023-08-23 18:02:21 +0200 | <c_wraith> | It's like writing a test that integers aren't functions. |
2023-08-23 18:02:55 +0200 | <EvanR> | tests test your running program. Or are you testing GHC itself |
2023-08-23 18:04:24 +0200 | <justsomeguy> | I have a list of questions like "what is the type of x", "what is the kind of x". They're really reading comprehension questions about Haskell syntax. But I've been forcing myself to write test for everything so far in the hopes I can use it as a checklist so when I forget where I left off in the project I can just run all of the tests to find out. |
2023-08-23 18:04:52 +0200 | <justsomeguy> | Maybe I should keep a literal checklist instead. |
2023-08-23 18:05:12 +0200 | <EvanR> | what is the _ of x, type or kind xD |
2023-08-23 18:06:29 +0200 | <EvanR> | term, type, or kind |
2023-08-23 18:06:32 +0200 | <EvanR> | or sort |
2023-08-23 18:06:40 +0200 | <justsomeguy> | I'm just overcomplicating things. It sucks to re-start a big book an lose your place :D. |
2023-08-23 18:08:53 +0200 | <[Leary]> | You can write `x :: <type>` then `type t :: <kind>`, etc rather than tests? If it compiles, the "tests" pass without needing to do anything at runtime. |
2023-08-23 18:09:30 +0200 | <c_wraith> | You can only write positive tests like that... trivially, anyway. |
2023-08-23 18:10:09 +0200 | <c_wraith> | There is a package that lets you write negative tests for that sort of thing if you use -fdefer-type-errors, but it only works for type errors |
2023-08-23 18:11:02 +0200 | <justsomeguy> | I hadn't thought of that [Leary]. That makes sense for some of these questions. |
2023-08-23 18:11:36 +0200 | <danse-nr3__> | are you studying out of a book? |
2023-08-23 18:12:27 +0200 | <justsomeguy> | Yes, I'm studying from Haskell Programming from First Principles. You can see my notes here: hpfp.readthedocs.io. I've been working on it off-and-on for a few years now. |
2023-08-23 18:12:43 +0200 | <justsomeguy> | (And keep on getting stuck.) |
2023-08-23 18:14:35 +0200 | <danse-nr3__> | nice that you are publishing your notes |
2023-08-23 18:15:01 +0200 | <justsomeguy> | It helps me out. Easier to ask questions this way. |
2023-08-23 18:17:38 +0200 | <justsomeguy> | For something like this I have a text-based question and answer https://github.com/kingparra/hpfp/blob/cd44ae4ad68800375168b6b5966599d81be0ae6f/11_-_algebraic_dat… and an expect script that I've been using in lui of actual tests |
2023-08-23 18:17:40 +0200 | <justsomeguy> | https://github.com/kingparra/hpfp/blob/cd44ae4ad68800375168b6b5966599d81be0ae6f/11_-_algebraic_dat… ... |
2023-08-23 18:18:13 +0200 | <danse-nr3__> | oh i recall when that book came out. Christopher Allen attacked me on twitter because he did not like my comment |
2023-08-23 18:19:21 +0200 | <erisco> | justsomeguy, I just have a file that I keep appending to as I encounter exercises, so I've left off at the bottom |
2023-08-23 18:20:16 +0200 | <justsomeguy> | erisco: How do you know if you got one wrong? |
2023-08-23 18:20:52 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds) |
2023-08-23 18:21:04 +0200 | <erisco> | the compiler will tell me, if it can be determined by static analysis |
2023-08-23 18:21:09 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-08-23 18:22:25 +0200 | <erisco> | otherwise, I'm not that worried about it for small problems, I just run a few inputs by hand |
2023-08-23 18:24:13 +0200 | <erisco> | if there are dark areas of my solution, I need to retry the problem, and I need to keep doing that until my internal, informal static analyser is convinced... then I run a few inputs by hand to doublecheck I am not kidding myself |
2023-08-23 18:24:22 +0200 | <exarkun> | Your unit tests are a program you run to tell you about some behavior of your program (runtime behavior - since they're a thing you run) |
2023-08-23 18:24:56 +0200 | <exarkun> | The compiler is a program you run to tell you things about some possible source code you have (it's runtime for the compiler! but that's a special time we call compile time). |
2023-08-23 18:25:09 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-08-23 18:25:14 +0200 | <exarkun> | Among the things the compiler can tell you are ... is this Haskell (as the compiler understands it) source code or not |
2023-08-23 18:25:23 +0200 | <exarkun> | (and if not, often some details about why it thinks so) |
2023-08-23 18:25:35 +0200 | <erisco> | which is a practice that would make a TDD enjoyer's hair stand on end :P |
2023-08-23 18:26:12 +0200 | <exarkun> | A sufficiently enlightened TDDer can accept that the compiler might have valuable input to supply :) |
2023-08-23 18:26:43 +0200 | <exarkun> | I think it's really the very dynamic language mindset which has trouble with the idea that some properties of a program might not be its _runtime_ properties. |
2023-08-23 18:27:02 +0200 | <c_wraith> | you could theoretically accept that "compiles" is an implicit test on its own. |
2023-08-23 18:27:02 +0200 | <exarkun> | (so you have Python programs that include unit tests for what happens if you call a 2 argument function with 3 arguments, etc) |
2023-08-23 18:27:06 +0200 | <erisco> | a TDDer is concerned about the behavioural ie extrinsic properties of a program, whereas a static analyser is concerned about the intentional ie intrinsic properties of a program |
2023-08-23 18:27:48 +0200 | <EvanR> | all programs compile and run. HTML had it right |
2023-08-23 18:27:58 +0200 | <EvanR> | get straight to the debugging |
2023-08-23 18:28:24 +0200 | <erisco> | a TDDer is satisfied if a black box passes all tests... another approach, and I do not have a name for it, is to build understanding and correctness compositionally, so you know you have the right result at every step of construction |
2023-08-23 18:28:26 +0200 | <EvanR> | all text files I mean, are programs |
2023-08-23 18:28:39 +0200 | <exarkun> | erisco: Well, I speak as a reformed dynamic language TDDer, so I think there's at least some variability in the group :) |
2023-08-23 18:29:02 +0200 | <justsomeguy> | erisco: Well, a single big file makes remembering where you left off simpler, for sure. I'm about ready to ditch my old efforts and try a straight run-through of the book in one go. Maybe I'll go with a few big files. |
2023-08-23 18:29:40 +0200 | <exarkun> | If you programming language has no intentional properties (programs don't mean anything, they just do stuff) then it's pretty reasonable to largely ignore intentions. |
2023-08-23 18:30:10 +0200 | <exarkun> | But we can still write useful tests for Haskell code, and we can even do so TDD if we want. |
2023-08-23 18:31:13 +0200 | <danse-nr3__> | of course, test-driven dev has little to do with compiling distinctions |
2023-08-23 18:31:56 +0200 | <erisco> | When all tests pass, and assuming the tests cover all practical cases, that's great. I think the difference reveals itself when tests are not passing and now someone has to do something about it. As programmers, we're pretty interested in intention :) |
2023-08-23 18:32:44 +0200 | fendor | (~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) (Remote host closed the connection) |
2023-08-23 18:33:33 +0200 | <erisco> | if you've ever had to modify a test so the program passed, because it is too hard to fix the reason it fails this year, then you know what I mean :P |
2023-08-23 18:38:03 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-08-23 18:38:11 +0200 | ddellacosta | (~ddellacos@146.70.166.100) (Ping timeout: 246 seconds) |
2023-08-23 18:38:35 +0200 | ddellacosta | (~ddellacos@146.70.166.100) |
2023-08-23 18:40:16 +0200 | <EvanR> | program to compute pi is failing the test, just change the test |
2023-08-23 18:42:45 +0200 | thegeekinside | (~thegeekin@189.180.79.225) |
2023-08-23 18:43:27 +0200 | p3n | (~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-08-23 18:44:58 +0200 | ddellacosta | (~ddellacos@146.70.166.100) (Ping timeout: 244 seconds) |
2023-08-23 18:45:41 +0200 | ripspin | (~chatzilla@1.145.177.195) (Remote host closed the connection) |
2023-08-23 18:46:55 +0200 | ddellacosta | (~ddellacos@146.70.185.100) |
2023-08-23 18:47:08 +0200 | mechap | (~mechap@user/mechap) (Quit: WeeChat 4.0.3) |
2023-08-23 18:47:19 +0200 | <erisco> | we explained the future risk for interfacing with other systems, but the business decided that we'll just explain to external stakeholders that, in the way we like to do things, pi = 22/7 |
2023-08-23 18:47:38 +0200 | danse-nr3__ | (~francesco@151.47.130.197) (Ping timeout: 246 seconds) |
2023-08-23 18:48:45 +0200 | <geekosaur> | https://en.wikipedia.org/wiki/Indiana_Pi_Bill |
2023-08-23 18:51:13 +0200 | danza | (~francesco@151.47.130.197) |
2023-08-23 18:52:36 +0200 | <erisco> | now that's a rich piece of history |
2023-08-23 18:53:03 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-08-23 18:57:15 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-08-23 18:58:06 +0200 | <shapr> | @quote haskell |
2023-08-23 18:58:06 +0200 | <lambdabot> | haskell says: Haskell binaries are made of 100% win. That is why they are so big. |
2023-08-23 19:00:37 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:fc05:5499:f77c:fbe5) |
2023-08-23 19:01:50 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds) |
2023-08-23 19:03:50 +0200 | <carter> | thats a good one` |
2023-08-23 19:06:07 +0200 | hugo- | (znc@130.236.254.23) |
2023-08-23 19:07:02 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.3) |
2023-08-23 19:07:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 19:07:58 +0200 | jabuxas | (~jabuxas@user/jabuxas) |
2023-08-23 19:13:02 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2023-08-23 19:16:00 +0200 | Square2 | (~Square4@user/square) (Ping timeout: 256 seconds) |
2023-08-23 19:17:30 +0200 | ddellacosta | (~ddellacos@146.70.185.100) (Ping timeout: 252 seconds) |
2023-08-23 19:18:02 +0200 | danza_ | (~francesco@151.46.217.116) |
2023-08-23 19:20:32 +0200 | danza | (~francesco@151.47.130.197) (Ping timeout: 256 seconds) |
2023-08-23 19:21:22 +0200 | ddellacosta | (~ddellacos@146.70.168.100) |
2023-08-23 19:21:28 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-23 19:22:17 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-08-23 19:23:41 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer) |
2023-08-23 19:25:57 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-08-23 19:26:51 +0200 | danza_ | (~francesco@151.46.217.116) (Ping timeout: 252 seconds) |
2023-08-23 19:27:03 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-08-23 19:27:45 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-08-23 19:31:28 +0200 | <EvanR> | and from then on geometry was added to US schools |
2023-08-23 19:31:33 +0200 | g | (g@libera/staff-emeritus/glguy) (Remote host closed the connection) |
2023-08-23 19:31:40 +0200 | g | (g@libera/staff-emeritus/glguy) |
2023-08-23 19:32:08 +0200 | <EvanR> | reading, writing, and arithmetic only gets you so far |
2023-08-23 19:35:42 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::725c) |
2023-08-23 19:37:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-23 19:37:41 +0200 | logothesia | (~logothesi@user/logothesia) (Ping timeout: 246 seconds) |
2023-08-23 19:38:46 +0200 | jabuxas | (~jabuxas@user/jabuxas) (Quit: Leaving.) |
2023-08-23 19:39:41 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05a8abaa2c9ff73443.dip0.t-ipconnect.de) |
2023-08-23 19:40:06 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds) |
2023-08-23 19:48:42 +0200 | artem | (~artem@192.31.0.5) |
2023-08-23 19:48:44 +0200 | ulysses4ever | (~artem@192.31.0.5) (Read error: Connection reset by peer) |
2023-08-23 19:49:34 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-08-23 19:49:53 +0200 | jmcantrell | (~weechat@user/jmcantrell) |
2023-08-23 19:50:21 +0200 | ulysses4ever | (~artem@192.31.0.5) |
2023-08-23 19:53:00 +0200 | artem | (~artem@192.31.0.5) (Ping timeout: 245 seconds) |
2023-08-23 19:53:49 +0200 | EvanR_ | (~EvanR@user/evanr) |
2023-08-23 19:54:33 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 19:55:40 +0200 | shapr` | (~user@2600:1700:c640:3100:a991:ffa8:c9bc:d5d1) |
2023-08-23 19:55:53 +0200 | shapr | (~user@2600:1700:c640:3100:a991:ffa8:c9bc:d5d1) (Ping timeout: 246 seconds) |
2023-08-23 19:55:55 +0200 | EvanR | (~EvanR@user/evanr) (Ping timeout: 245 seconds) |
2023-08-23 19:59:56 +0200 | Inst | (~liamzy@2601:6c4:4085:6d50::725c) (Ping timeout: 245 seconds) |
2023-08-23 20:01:19 +0200 | myxos | (~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Quit: myxos) |
2023-08-23 20:04:33 +0200 | <erisco> | EvanR_, I was rather disappointed by geometry. Forget the geometry, Euclid's work was groundbreaking for mathematical foundations. I think I spent all my time in school wondering where the hell this math stuff came from |
2023-08-23 20:05:25 +0200 | EvanR_ | EvanR |
2023-08-23 20:05:34 +0200 | <EvanR> | euclid is great |
2023-08-23 20:06:19 +0200 | <dolio> | Geometry is the algebra of rationals + square roots, right? :þ |
2023-08-23 20:07:32 +0200 | <erisco> | I thought geometry was about actually using the little lines on your straight edge, and then having a debate about whether that was real math or not |
2023-08-23 20:08:13 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-08-23 20:09:15 +0200 | mima | (~mmh@dhcp-138-246-3-237.dynamic.eduroam.mwn.de) (Ping timeout: 245 seconds) |
2023-08-23 20:09:24 +0200 | Volt_ | (~Volt_@c-73-47-181-152.hsd1.ma.comcast.net) |
2023-08-23 20:09:35 +0200 | <erisco> | incidentally, if someone could explain limits to me without showing me pictures of secants turning into tangents, or showing me a lim x -> 0 and then throwing a bunch of identities at me, would appreciate it |
2023-08-23 20:09:44 +0200 | deviance | (~deviance@bcdcac82.skybroadband.com) |
2023-08-23 20:09:48 +0200 | artem | (~artem@192.31.0.5) |
2023-08-23 20:10:06 +0200 | <shapr`> | erisco: have you looked at infinitesimals? |
2023-08-23 20:10:07 +0200 | <dolio> | Explain what about them? |
2023-08-23 20:10:13 +0200 | shapr` | shapr |
2023-08-23 20:12:00 +0200 | <erisco> | shapr`, years ago, though I didn't look at them for too long. Worth it? I have just never got much into numbers because working with them feels like working with poorly documented code and searching SO for the answers |
2023-08-23 20:12:35 +0200 | ulysses4ever | (~artem@192.31.0.5) (Ping timeout: 245 seconds) |
2023-08-23 20:12:36 +0200 | <erisco> | z, s z, s (s z), and I'm following, but we get into limits and I lose the plot |
2023-08-23 20:12:57 +0200 | <dolio> | I think the nice thing about infinitessimals is that you can do calculus-like stuff without talking about limits at all. |
2023-08-23 20:13:02 +0200 | <shapr> | Infinitesimals were what calculus used before it got limits |
2023-08-23 20:13:22 +0200 | <shapr> | Yeah, what dolio said |
2023-08-23 20:13:26 +0200 | <dolio> | And if you go the SDG route, it forces you to use intuitionistic logic, which is morally correct. |
2023-08-23 20:13:33 +0200 | <erisco> | I was taught limits as here's the notation, here's a bunch of rules for what the limit of this over that is |
2023-08-23 20:13:58 +0200 | <shapr> | erisco: also, the "losing the plot" phrase was good after talking about pictures of secants |
2023-08-23 20:14:11 +0200 | <ncf> | were you taught a definition? that's the most important thing |
2023-08-23 20:14:13 +0200 | <exarkun> | erisco: https://www.maa.org/sites/default/files/pdf/devlin/LockhartsLament.pdf (thanks shapr ) |
2023-08-23 20:14:29 +0200 | <shapr> | exarkun: I love that document :-) |
2023-08-23 20:14:54 +0200 | <shapr> | I'm giving a surprise talk on Friday noon Pacific time on a different research paper |
2023-08-23 20:15:29 +0200 | <shapr> | erisco: infinitesimals are specifically "calculus without limits" and I didn't realize how punny that might sound until I wrote it :-| |
2023-08-23 20:16:11 +0200 | <erisco> | the tragedy is that, now that we have generations of human calculators, when schools try to teach mathematics from a "lets think and understand" foundation, parents are outraged |
2023-08-23 20:16:31 +0200 | <shapr> | dolio: what's the SDG route? |
2023-08-23 20:16:45 +0200 | <shapr> | what does SDG stand for? |
2023-08-23 20:16:55 +0200 | <dolio> | Synthetic Differential Geometry, instead of non-standard analysis. |
2023-08-23 20:17:02 +0200 | <shapr> | oh, thank you! |
2023-08-23 20:17:20 +0200 | ski | (~ski@83.248.72.178) |
2023-08-23 20:17:29 +0200 | <shapr> | exarkun: did you make it to my talk on Lockhart's Lament? |
2023-08-23 20:17:36 +0200 | <exarkun> | shapr: I don't think so |
2023-08-23 20:18:18 +0200 | <shapr> | It was fun. I talked about reading that document in a waiting room, getting inspired and finding an exciting math problem in my pocket. |
2023-08-23 20:18:38 +0200 | <shapr> | Specifically, I'd purchased ako dice where the faces look like https://cofree.coffee/~shapr/ako-dice.jpg |
2023-08-23 20:18:40 +0200 | <erisco> | anyways, if anyone has resources to explain limits / reals to the constructivist-minded, would appreciate |
2023-08-23 20:21:33 +0200 | <ddellacosta> | interesting, I thought that the reason limits are used vs. infinitesmals is because the latter isn't sufficiently formalized, but apparently that was done in the 20th century |
2023-08-23 20:21:58 +0200 | <shapr> | I thought that too |
2023-08-23 20:22:14 +0200 | <EvanR> | erisco, you defined integers. You can define the limit of a sequence, or whatever flavor of limit |
2023-08-23 20:22:17 +0200 | <ski> | shapr : oh, you talked on his paper ? or the book ? |
2023-08-23 20:22:19 +0200 | <EvanR> | just definitions |
2023-08-23 20:22:28 +0200 | <shapr> | ski: I gave a talk about Lockhart's Lament, yes |
2023-08-23 20:22:45 +0200 | <shapr> | ski: I'm doing random talks about once every two weeks, want me to invite you? |
2023-08-23 20:23:14 +0200 | <dolio> | erisco: Limits essentially come from the usual 'real numbers' actually being objects that let you query for approximations to some precision. Two methods of approximation give the same real number if they are close enough at every approximation precision. |
2023-08-23 20:24:05 +0200 | <erisco> | sounds very computational of you |
2023-08-23 20:24:17 +0200 | <EvanR> | a limit of a sequence of rationals can be defined without mentioning reals, so starting with "I don't get reals" is jumping the gun. In the traditional ordering of things |
2023-08-23 20:24:49 +0200 | <erisco> | EvanR, and you'd define this limit axiomatically? with quantifiers? |
2023-08-23 20:24:53 +0200 | <dolio> | So, given an appropriate sequence or set of such approximation objects, you can fold them into a single approximation that is the object the whole set was approximating. |
2023-08-23 20:25:17 +0200 | <EvanR> | a definition and an axiom are two different things |
2023-08-23 20:25:27 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-08-23 20:25:42 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds) |
2023-08-23 20:25:46 +0200 | <EvanR> | x = 3 is a definition, there exists a square root of two is an axiom |
2023-08-23 20:25:56 +0200 | <mauke> | from what I recall from uni, one of the axioms of the real numbers was that every strictly increasing sequence of real numbers that is bounded above has a least upper bound, which is also a real number |
2023-08-23 20:27:07 +0200 | <ski> | erisco : hmm .. well, i'm reminded of "Constructive Analysis" by Errett Bishop & Douglas Bridges. also Martin Escardo has some interesting papers regarding convergent sequences (and the "generic convergent sequence" (the "one-point compactification of the natural numbers"), classically being the natural numbers with an additional infinity point. think `data Nat = Zero | Succ Nat' including `inf = Succ inf') |
2023-08-23 20:27:07 +0200 | <EvanR> | erisco, in the classic course, you "construct the reals with limits" and then you can prove that it corresponds to the axiomatic reals |
2023-08-23 20:27:12 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-08-23 20:27:13 +0200 | <ski> | .. but i think possibly his papers wouldn't be a good intro |
2023-08-23 20:27:22 +0200 | <EvanR> | it requires classical logic |
2023-08-23 20:27:39 +0200 | <EvanR> | but see the section of constructive reals in homotopy type theory |
2023-08-23 20:28:16 +0200 | <erisco> | repeating theme here is sequences, so I'll think more about sequences, thanks |
2023-08-23 20:28:31 +0200 | <EvanR> | sequences are great, you can use haskell to generate them! |
2023-08-23 20:28:54 +0200 | <EvanR> | make a list of rationals whose limit is the square root of two |
2023-08-23 20:30:59 +0200 | <erisco> | off hand, I am not quite sure how you translate from lim h -> 0 (f (x + h) - f x) / h = f' x to a sequence |
2023-08-23 20:31:23 +0200 | <EvanR> | that's a different kind of limit |
2023-08-23 20:31:26 +0200 | <EvanR> | different definition |
2023-08-23 20:31:48 +0200 | <erisco> | there is more than one kind of limit? |
2023-08-23 20:31:51 +0200 | <EvanR> | yes |
2023-08-23 20:31:55 +0200 | <ncf> | they're all similar |
2023-08-23 20:31:59 +0200 | <erisco> | where were you in grade 11 |
2023-08-23 20:32:26 +0200 | <EvanR> | that's what university is for, high school damage control |
2023-08-23 20:32:39 +0200 | <ncf> | you could interpret that to mean "the limit of the sequence of approximations ((f(x + 1/n) - f x)/(1/n)) for n : ℕ" |
2023-08-23 20:32:45 +0200 | <erisco> | where were you in calc I or II |
2023-08-23 20:33:00 +0200 | <erisco> | all I was doing then is learning trig identities lol |
2023-08-23 20:33:40 +0200 | <ski> | ddellacosta : hm, are you aware of Anders Kock's "Synthetic Differential Geometry" (book, 2nd ed.) in 2006 at <http://home.imf.au.dk/kock/sdg99.pdf> ? it formalizes some "naïve" reasoning with infinitesimals, crucially reasoning in an intuitionistic logic. .. also i'm reminded of Paul Taylor's "Abstract Stone Duality" <https://paultaylor.eu/ASD/>, which is a project to make a computable lambda-calculus for |
2023-08-23 20:33:42 +0200 | bratwurst | (~blaadsfa@S010610561191f5d6.lb.shawcable.net) |
2023-08-23 20:33:46 +0200 | <ski> | dedekind cuts |
2023-08-23 20:33:50 +0200 | <erisco> | ncf, there's an idea, thanks |
2023-08-23 20:35:09 +0200 | <EvanR> | yeah, that gets you the same result as the definition. Which involves allowing you to approach 0 (from above in this case) however you want |
2023-08-23 20:36:27 +0200 | <EvanR> | badly behaved expressions could converge to different things depending on the sequence taken, i.e. don't converge |
2023-08-23 20:37:17 +0200 | <EvanR> | like when you get stock predictions that cherry pick their historical samples! |
2023-08-23 20:37:25 +0200 | <erisco> | That's the trouble with axiomatic descriptions though isn't it. Doesn't tell you what, if anything, actually satisfies |
2023-08-23 20:37:54 +0200 | <EvanR> | axiomatic? or do you mean the choice of sequence |
2023-08-23 20:38:25 +0200 | <erisco> | I am imagining you are going to give an axiomatic meaning (what I was calling "definition") to limits on sequences |
2023-08-23 20:38:54 +0200 | <EvanR> | go look at the definition of limit of a sequence (of rationals or whatever elements of a metric space) |
2023-08-23 20:39:02 +0200 | <EvanR> | it's not an axiom |
2023-08-23 20:39:08 +0200 | <erisco> | then you're left with trying to prove for a particular sequence what the limit is |
2023-08-23 20:39:15 +0200 | <EvanR> | what it means it up to you, that's semantics |
2023-08-23 20:39:30 +0200 | <dolio> | One of the definitions of reals (based on sets) would more naturally incorporate the ->0 example. |
2023-08-23 20:39:53 +0200 | <EvanR> | you prove things by among other things abbreviating things with defintions |
2023-08-23 20:40:05 +0200 | <dolio> | Because it would involve whole sets of reals getting close to 0, rather than a sequence. |
2023-08-23 20:40:40 +0200 | <EvanR> | yeah there are multiple ways to define real numbers |
2023-08-23 20:40:49 +0200 | <erisco> | EvanR, wikipedia is saying "x is the limit of the sequence s iff forall ..." |
2023-08-23 20:40:56 +0200 | <erisco> | if this is not axiomatic I don't know what is |
2023-08-23 20:41:30 +0200 | <dolio> | However, if you dig into the details, there is additional information required about the sets that is analogous to particular sequences. |
2023-08-23 20:41:31 +0200 | <mauke> | a definition? |
2023-08-23 20:41:33 +0200 | <EvanR> | take everything on the right side of iff, and any time you have that, you can call that information "a limit" |
2023-08-23 20:41:44 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 244 seconds) |
2023-08-23 20:41:58 +0200 | <EvanR> | it's like defining a function in haskell, so you can reuse the code without repeating it |
2023-08-23 20:42:13 +0200 | <EvanR> | axioms are like new laws of logic that give you things out of the blue |
2023-08-23 20:43:10 +0200 | <EvanR> | or like defining an ADT |
2023-08-23 20:43:26 +0200 | <erisco> | okay, I just don't see the terminology the same way, but that's besides the point |
2023-08-23 20:44:44 +0200 | <ncf> | definitions are not axioms; axioms are precisely statements without definitions (under the proofs-as-programs paradigm) |
2023-08-23 20:46:28 +0200 | <ski> | ddellacosta : perhaps "" by Andrej Bauer in 2008-08-13 at <https://math.andrej.com/2008/08/13/intuitionistic-mathematics-for-physics/> and "The Arithmetic Hierarchy" by XOR's Hammer in 2016-05-14 at <https://xorshammer.com/2016/05/14/the-arithmetic-hierarchy-meets-the-real-world/> could be interesting |
2023-08-23 20:46:39 +0200 | <EvanR> | as an example, I defined integers as either Z or, given any integer n, S n. Ok. And then I can add an axiom: there exists an infinite integer. But don't tell you how to get it |
2023-08-23 20:46:51 +0200 | <ski> | ("Practical Foundations of Mathematics" by Paul Taylor in 1999 at <https://paultaylor.eu/~pt/prafm/> is also an interesting book ..) |
2023-08-23 20:47:32 +0200 | <ski> | shapr : where did you give the talk ? is there any recording ? |
2023-08-23 20:47:44 +0200 | <erisco> | when I say "definition" I just mean the expression of the meaning for a particular term, so the definition of "limit" is whatever expresses the meaning of the term "limit" |
2023-08-23 20:48:16 +0200 | <EvanR> | well, that's annoying because limits are defined as something. Not what you're saying, the deep meaning or anything |
2023-08-23 20:48:27 +0200 | <erisco> | if that expression is a quantified logical proposition, a statement about what must hold for an object to be considered a limit, I am going to say that is an axiomatic definition for limits |
2023-08-23 20:48:47 +0200 | <ncf> | mathematicians like to give words meaning using "iff" |
2023-08-23 20:48:48 +0200 | <erisco> | and if someone hates my use of terminology, I don't apologise :P |
2023-08-23 20:48:58 +0200 | <EvanR> | it helps to be on the same page |
2023-08-23 20:49:03 +0200 | <ncf> | you should interpret that iff as an equal sign, and then interpret that equal sign as a := |
2023-08-23 20:49:15 +0200 | <EvanR> | redefining terminology, of definition no doubt, isn't helping anyone |
2023-08-23 20:49:19 +0200 | <EvanR> | noless |
2023-08-23 20:49:21 +0200 | <dolio> | Well, sometimes it's not the definition, too. :) |
2023-08-23 20:49:53 +0200 | <EvanR> | but as long as we get to the same destination, redefine things as you will |
2023-08-23 20:52:16 +0200 | <EvanR> | the definition of limit of a sequence (of things with metric space powers) is a definition is the same sense as haskell when you use let. The RHS of the = can be substituted wherever the short name is used elsewhere |
2023-08-23 20:52:29 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 248 seconds) |
2023-08-23 20:52:36 +0200 | <EvanR> | or vice versa |
2023-08-23 20:52:56 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-08-23 20:53:10 +0200 | <ski> | EvanR : another view of axioms are that they are interfaces. starting from group axioms, you can prove things. then, if anyone can instantiate the group axioms with a constructed model (aka a group), then the proved things holds for it |
2023-08-23 20:53:22 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-08-23 20:54:09 +0200 | <EvanR> | oh yeah, that is how they present the axiomatic reals. Here is the interface. Watch as we construct an example implementation |
2023-08-23 20:55:45 +0200 | <EvanR> | something they struggle to do with axiomatic quantum field theory, according to nlab |
2023-08-23 20:55:47 +0200 | <ski> | ncf : "mathematicians like to give words meaning using \"iff\"" .. unfortunately, they also like writing "if" in definitions, when they mean "if and only if". (this can be seen as an inductive definition (or a definition of a predicate in Prolog) .. anything that can *not* be derived about the concept, using the "if" statement, is assumed to not hold (least model)) |
2023-08-23 20:56:20 +0200 | ski | 's not fond of using `:=', really .. |
2023-08-23 20:57:16 +0200 | <erisco> | ski, yes, that is basically the translation between how I prefer to think about it... I'd be saying "assume l is a limit" and proceeding. Would then "assume l is a limit" be the axiom, otherwise speaking? |
2023-08-23 20:58:21 +0200 | <EvanR> | you're trying to make it more mysterious than it is, you can always unpack the definition of l-is-the-limit-of-s |
2023-08-23 20:58:47 +0200 | <erisco> | nah I think "axiom" is made more mysterious than it is :P |
2023-08-23 20:58:53 +0200 | <EvanR> | where the interface version would be opaque at best |
2023-08-23 20:59:03 +0200 | <EvanR> | you can only access what's in the interface |
2023-08-23 21:01:22 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Read error: Connection reset by peer) |
2023-08-23 21:02:18 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-08-23 21:04:02 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
2023-08-23 21:05:31 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-08-23 21:06:33 +0200 | <erisco> | so anyways, you've got some condition, you have to prove it holds, and that raises the question of how you do that |
2023-08-23 21:07:14 +0200 | <erisco> | so feels to me like you've punted the problem to one of proof methods... now how do you prove something is the limit of a sequence? then you get taught all these strategies based on how the sequence is defined |
2023-08-23 21:07:17 +0200 | <ski> | there's more or less two different senses of "axiom". the original is "self-evident truth". related is "postulate" which is regarded as not as self-evident, but still needed as a basic building block to reason. the model here is "Elementa" by Euclid. then there's the more modern view of "axiom" in which you start to develop a theory (not historically, but in how you conceptually present it) by starting from |
2023-08-23 21:07:23 +0200 | <ski> | a number of "undefined symbols" (like constants, functions, relations), and a number of "unproved propositions", the "axioms" (basic statements involving the undefined symbols, relating them to each other. ideally, there would be exactly one interpretation/model of the symbols which make the axioms true. but commonly there's more than one, iow we have some unintended interpretations. sometimes the |
2023-08-23 21:07:29 +0200 | <ski> | multiplicity of interpretations is the point, e.g group theory, ring theory, lattices, ...) |
2023-08-23 21:08:09 +0200 | <ski> | in this latter sense, "axiom" is more or less the same as "hypothesis" or "assumption", with the only practical different that the scope of it is rather broad, rather than only scoping over a small segment |
2023-08-23 21:10:02 +0200 | <EvanR> | erisco, i take it you get the definition of limit of a sequence now. If not the definition of a definition |
2023-08-23 21:10:12 +0200 | <EvanR> | it's a pretty neat definition |
2023-08-23 21:10:16 +0200 | <shapr> | ski: I think solomon made a recording, I'm not sure if it was uploaded anywhere |
2023-08-23 21:11:51 +0200 | <ski> | (btw, you can see an implementation of programming language as an "intended model", and you can view other analyzers, e.g. cross-referencers (e.g. building a dependency graph for modules or functions/procedures/predicates), linters, doc-extracters, &c. as "unintended interpretations" .. leaving the possibility for "unintended interpretations" can be very useful. this is also related to "shallow vs. deep |
2023-08-23 21:11:57 +0200 | <ski> | embedding" of EDSLs .. if you implement a mini-language as a data-structure, you can interpret that tree and extract other information from it than just "running" it in the usual way (i always mix up which is which of deep and shallow, though .. they correspond to inductive vs. coinductive, more or less)) |
2023-08-23 21:12:19 +0200 | <ski> | shapr : ah. would be interested to see it |
2023-08-23 21:13:10 +0200 | ski | has to leave in a moment, would otherwise like to engage more in the conversation |
2023-08-23 21:16:40 +0200 | <erisco> | for me it is just, in general conversation, there is a fungibility between axioms, hypotheses, conditions, yadda, yadda, though I recognise they can be ontologically distinct and relevantly so when being particular about a certain formal system |
2023-08-23 21:20:30 +0200 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
2023-08-23 21:20:44 +0200 | ski | (~ski@83.248.72.178) (Ping timeout: 248 seconds) |
2023-08-23 21:21:01 +0200 | <EvanR> | it's just hard to get anywhere if you can't make definitions along the way, without them being construed as something more |
2023-08-23 21:21:37 +0200 | <EvanR> | have you ever seen a student or someone disagree with an argument because they say the definition "is wrong" xD |
2023-08-23 21:21:46 +0200 | <EvanR> | before you even get to the point |
2023-08-23 21:22:04 +0200 | <erisco> | What I am trying to grok about limits, and derivatives, is something like grokking integers versus evenness. I can construct the integers. In the mind they feel like a tangible thing. Evenness, on the other hand, is a property an integer can have. Turns out I can construct exactly the even integers too, but nonetheless, evenness itself sits in the mind like a property of a thing |
2023-08-23 21:22:56 +0200 | <EvanR> | are you even integers just respellings of the first thing |
2023-08-23 21:22:58 +0200 | <EvanR> | your |
2023-08-23 21:23:23 +0200 | <EvanR> | without any other definitions they're equivalent |
2023-08-23 21:23:28 +0200 | <erisco> | are you hinting at a bijection? yes sure |
2023-08-23 21:33:18 +0200 | <erisco> | So I think where I am at, for this sequence perspective, the question starts at what is meant by sequence. Only from there can you then make sense of limits |
2023-08-23 21:33:38 +0200 | <EvanR> | sure, ok, check the definition of sequence |
2023-08-23 21:33:54 +0200 | <EvanR> | or pick one to your liking |
2023-08-23 21:34:03 +0200 | <erisco> | there are many, is my point |
2023-08-23 21:34:18 +0200 | <dolio> | It's a function from the natural numbers. |
2023-08-23 21:34:22 +0200 | <mauke> | isn't a sequence basically just a mapping from ... that |
2023-08-23 21:34:24 +0200 | <EvanR> | do they deviate from one another in any meaningful way |
2023-08-23 21:34:51 +0200 | <erisco> | I should think so, yes |
2023-08-23 21:34:57 +0200 | <dolio> | It's actually nicer for real numbers if you say it's a function from the rationals to an approximation with a radius given by that rational. |
2023-08-23 21:36:00 +0200 | <dolio> | But it still works if you say it's a function from the naturals to an approximation with radius 1/2^n or something. |
2023-08-23 21:36:17 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-08-23 21:36:21 +0200 | mima | (~mmh@62.216.211.151) |
2023-08-23 21:37:11 +0200 | <EvanR> | if alice's definition of sequence is function from the naturals, and bob's definition is a haskell data structure, and you can map losslessly between them, then cool we can move on xD |
2023-08-23 21:44:31 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds) |
2023-08-23 21:48:41 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-08-23 21:51:01 +0200 | <dolio> | Yeah, you can also define them as streams of approximants, like `data Stream = Cons Q Stream`. |
2023-08-23 21:54:37 +0200 | ft | (~ft@p508db658.dip0.t-ipconnect.de) |
2023-08-23 22:00:55 +0200 | Square2 | (~Square4@user/square) |
2023-08-23 22:02:53 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-08-23 22:03:11 +0200 | <dsal> | I don't know how to use cabal. How do I get a repl with the test suite in scope? |
2023-08-23 22:03:56 +0200 | gdown | (~gavin@h69-11-148-248.kndrid.broadband.dynamic.tds.net) |
2023-08-23 22:05:09 +0200 | bratwurst | (~blaadsfa@S010610561191f5d6.lb.shawcable.net) (Ping timeout: 250 seconds) |
2023-08-23 22:07:45 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-08-23 22:09:32 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-08-23 22:10:08 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-08-23 22:10:57 +0200 | <geekosaur> | cabal repl test:testname? |
2023-08-23 22:11:43 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
2023-08-23 22:16:21 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-08-23 22:16:22 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-08-23 22:16:22 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-08-23 22:24:19 +0200 | <dsal> | Oh, it was :spec not :test-suite |
2023-08-23 22:27:24 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-08-23 22:31:41 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-23 22:36:50 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-08-23 22:37:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-08-23 22:37:58 +0200 | pavonia | (~user@user/siracusa) |
2023-08-23 22:42:50 +0200 | Pickchea | (~private@user/pickchea) |
2023-08-23 22:54:57 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 258 seconds) |
2023-08-23 22:57:44 +0200 | <justsomeguy> | What do I have to do to use this package with stack? Do I need to build it, or can I just pull it from stackage? https://github.com/brendanhay/amazonka |
2023-08-23 22:58:00 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 22:58:20 +0200 | <geekosaur> | you would be building it either way; stack doesn't have binary provisioning or cache |
2023-08-23 22:58:31 +0200 | <geekosaur> | I expect you have to put it in extra-deps |
2023-08-23 22:58:50 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-08-23 22:59:35 +0200 | <geekosaur> | either via hackage (it was recently released) or via git commit references; I'd go with hackage extra-deps before trying to use git |
2023-08-23 23:00:53 +0200 | <geekosaur> | oh, its hackage page claims stackage has it, but I don't know if it's in the latest LTS |
2023-08-23 23:02:19 +0200 | <geekosaur> | not in the LTS, but is in https://www.stackage.org/nightly-2023-08-23 which is on ghc 9.6 |
2023-08-23 23:04:20 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-23 23:10:15 +0200 | <justsomeguy> | Ok, so I have to build it from source, and then I can add the resulting tarball to extra-deps? |
2023-08-23 23:10:47 +0200 | <justsomeguy> | Maybe this is a bad idea. |
2023-08-23 23:11:26 +0200 | jonathan | (~jonathan@193.203.13.91) (Ping timeout: 258 seconds) |
2023-08-23 23:11:33 +0200 | <geekosaur> | no? |
2023-08-23 23:11:46 +0200 | <geekosaur> | just add it to extra-deps, stack will handle fetching and building |
2023-08-23 23:11:54 +0200 | finsternis | (~X@23.226.237.192) |
2023-08-23 23:12:02 +0200 | <geekosaur> | or use the nightly LTS and that way you don't need to add it to extra-deps |
2023-08-23 23:12:24 +0200 | <justsomeguy> | Ahh, ok, that's much simpler. |
2023-08-23 23:12:38 +0200 | justsomeguy | was dreading setting up nix and cabal to build this library |
2023-08-23 23:13:15 +0200 | ulysses4ever | (~artem@192.31.0.5) |
2023-08-23 23:13:53 +0200 | artem | (~artem@192.31.0.5) (Read error: Connection reset by peer) |
2023-08-23 23:14:22 +0200 | <geekosaur> | the whole point of stack and modern cabal is to manage this stuff for you |
2023-08-23 23:14:31 +0200 | ulysses4ever | (~artem@192.31.0.5) (Read error: Connection reset by peer) |
2023-08-23 23:14:43 +0200 | ulysses4ever | (~artem@192.31.0.5) |
2023-08-23 23:14:43 +0200 | <geekosaur> | so you just say "I need this library" somewhere and they fetch and build it |
2023-08-23 23:19:08 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
2023-08-23 23:19:26 +0200 | <justsomeguy> | When I saw nix in the readme it wasn't clear to me that I can use it from stack or cabal alone. |
2023-08-23 23:20:26 +0200 | gdown | (~gavin@h69-11-148-248.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
2023-08-23 23:21:49 +0200 | <geekosaur> | once it was released on hackage that version should work without nix |
2023-08-23 23:22:00 +0200 | <geekosaur> | no promises about using it from git |
2023-08-23 23:22:17 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-08-23 23:26:06 +0200 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 252 seconds) |
2023-08-23 23:27:10 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-08-23 23:31:36 +0200 | ulysses4ever | (~artem@192.31.0.5) (Ping timeout: 245 seconds) |
2023-08-23 23:32:50 +0200 | ulysses4ever | (~artem@73.145.242.113) |
2023-08-23 23:33:01 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 23:33:13 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-08-23 23:34:27 +0200 | <justsomeguy> | Does this look right to you? https://github.com/kingparra/aws-for-jobs/tree/master/03_-_ec2_basics/deploy-an-instance/deploy-hs |
2023-08-23 23:36:26 +0200 | jinsun_ | (~jinsun@user/jinsun) |
2023-08-23 23:36:27 +0200 | jinsun | Guest9199 |
2023-08-23 23:36:27 +0200 | Guest9199 | (~jinsun@user/jinsun) (Killed (silver.libera.chat (Nickname regained by services))) |
2023-08-23 23:36:27 +0200 | jinsun_ | jinsun |
2023-08-23 23:36:33 +0200 | ulysses4ever | (~artem@73.145.242.113) (Read error: Connection reset by peer) |
2023-08-23 23:38:10 +0200 | <justsomeguy> | Aha, I think that now stack is able to retrieve the package, but I'm getting build errors since I'm missing things like gcc-c++ and friends. |
2023-08-23 23:38:26 +0200 | <justsomeguy> | Progress, at least. I can track down the dependencies. |
2023-08-23 23:38:50 +0200 | ulysses4ever | (~artem@192.31.0.5) |
2023-08-23 23:40:10 +0200 | <justsomeguy> | Thanks for answering my dumb questions. I'm still figuring out the basics of stack, cabal, and nix. |
2023-08-23 23:40:25 +0200 | <Rembane> | shapr: That sounds a bit disappointing. VPS hosts should just be good. I know I have high expectations. I got stuff to work though. Not running on unstable is a good start. |
2023-08-23 23:40:38 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 256 seconds) |
2023-08-23 23:41:15 +0200 | artem | (~artem@73.145.242.113) |
2023-08-23 23:41:40 +0200 | artem | (~artem@73.145.242.113) (Read error: Connection reset by peer) |
2023-08-23 23:42:17 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-08-23 23:42:22 +0200 | caryhartline | (~caryhartl@168.182.58.169) |
2023-08-23 23:42:33 +0200 | artem | (~artem@2601:408:c405:79c5:f474:e3f8:9806:671) |
2023-08-23 23:43:28 +0200 | ulysses4ever | (~artem@192.31.0.5) (Ping timeout: 256 seconds) |
2023-08-23 23:43:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-08-23 23:45:50 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-08-23 23:45:50 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-08-23 23:45:50 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-08-23 23:45:50 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds) |
2023-08-23 23:47:42 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) |
2023-08-23 23:47:58 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-08-23 23:49:43 +0200 | ulysses4ever | (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer) |
2023-08-23 23:50:00 +0200 | artem | (~artem@2601:408:c405:79c5:f474:e3f8:9806:671) (Read error: Connection reset by peer) |
2023-08-23 23:50:25 +0200 | ulysses4ever | (~artem@73.145.242.113) |
2023-08-23 23:52:23 +0200 | ulysses4ever | (~artem@73.145.242.113) (Read error: Connection reset by peer) |
2023-08-23 23:52:27 +0200 | artem | (~artem@73.145.242.113) |
2023-08-23 23:56:36 +0200 | artem | (~artem@73.145.242.113) (Ping timeout: 245 seconds) |
2023-08-23 23:56:40 +0200 | ulysses4ever | (~artem@73.145.242.113) |
2023-08-23 23:56:55 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-08-23 23:57:07 +0200 | ulysses4ever | (~artem@73.145.242.113) (Read error: Connection reset by peer) |
2023-08-23 23:57:12 +0200 | artem | (~artem@73.145.242.113) |
2023-08-23 23:57:38 +0200 | acidjnk | (~acidjnk@p200300d6e7072f05a8abaa2c9ff73443.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |