2025/02/26

2025-02-26 00:00:53 +0100 <tomsmeding> hololeap: sepBy ((,) <$> manyTill (char ':') <*> manyTill (lookAhead (oneOf ":," <|> eof))) (char ',') ?
2025-02-26 00:01:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 00:01:26 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-02-26 00:02:18 +0100 <hololeap> hm, you would think with Parsec being a monad, it could be done with: sepBy anyChar (char ',') >>= mapM (...)
2025-02-26 00:02:28 +0100 <tomsmeding> anyChar parses _one_ character
2025-02-26 00:02:55 +0100 <hololeap> right, s/anyChar/(many anyChar)/
2025-02-26 00:03:04 +0100 <tomsmeding> also, while you can process the result of parsing later using (>>=), parsec always parses _from_ the input string
2025-02-26 00:03:13 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2025-02-26 00:03:13 +0100ljdarj1ljdarj
2025-02-26 00:03:56 +0100 <tomsmeding> you can't "re-inject" some arbitrary string into the source to be parsed
2025-02-26 00:04:22 +0100 <hololeap> I see
2025-02-26 00:05:03 +0100 <tomsmeding> of course you technically can just start a new parser for that string, and you can also `setInput`, but typically both are a bad idea
2025-02-26 00:05:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 00:06:24 +0100 <tomsmeding> hololeap: also, that "sepBy (many anyChar) (char ',')" wouldn't even work: the `many anyChar` would consume the entire input from here, and because it consumed input, it would count as "succeeded" which means it doesn't backtrack
2025-02-26 00:07:16 +0100 <tomsmeding> % import Text.Parsec
2025-02-26 00:07:16 +0100 <yahb2> <no output>
2025-02-26 00:07:24 +0100 <tomsmeding> % parse (sepBy (many anyChar) (char ',')) "<stdin>" "abc,def,ghi"
2025-02-26 00:07:24 +0100 <yahb2> Right ["abc,def,ghi"]
2025-02-26 00:07:41 +0100 <tomsmeding> hm, let's see if I can whiteboard code
2025-02-26 00:07:56 +0100 <tomsmeding> % parse (sepBy ((,) <$> manyTill (char ':') <*> manyTill (lookAhead (oneOf ":," <|> eof))) (char ',')) "<stdin>" "this:that,black:white"
2025-02-26 00:07:56 +0100 <yahb2> <interactive>:287:23: error: [GHC-83865] ; • Couldn't match expected type: ParsecT ; String () GHC.Internal.Data.Functor.Identity.Identity a1 ; ...
2025-02-26 00:08:07 +0100 <tomsmeding> evidently not!
2025-02-26 00:08:23 +0100 <tomsmeding> % parse (sepBy ((,) <$> manyTill anyChar (char ':') <*> manyTill anyChar (lookAhead (oneOf ":," <|> eof))) (char ',')) "<stdin>" "this:that,black:white"
2025-02-26 00:08:23 +0100 <yahb2> <interactive>:289:99: error: [GHC-83865] ; • Couldn't match type ‘()’ with ‘Char’ ; Expected: ParsecT ; String () GHC.Internal.Data.Functor.Identity.Identity Char ; ...
2025-02-26 00:08:26 +0100 <monochrom> Yikes, abuse of lookAhead again.
2025-02-26 00:08:50 +0100 <monochrom> many (satisfy (/= ',')) pretty please
2025-02-26 00:08:59 +0100 <tomsmeding> I guess
2025-02-26 00:09:49 +0100 <monochrom> What you should really lament, if you like, is that parsec is not regex, so whereas in regex you just have to say ".*,.*", you simply can't do that in parsec.
2025-02-26 00:10:09 +0100 <tomsmeding> % parse (sepBy ((,) <$> (many (satisfy (/= ':')) <* char ':') <*> many (satisfy (`notElem` ":,"))) (char ',')) "<stdin>" "this:that,black:white"
2025-02-26 00:10:09 +0100 <yahb2> Right [("this","that"),("black","white")]
2025-02-26 00:10:20 +0100 <tomsmeding> hololeap: there
2025-02-26 00:10:29 +0100foul_owl(~kerry@174-21-138-88.tukw.qwest.net) foul_owl
2025-02-26 00:10:32 +0100 <hololeap> cool, thanks :)
2025-02-26 00:10:43 +0100 <tomsmeding> monochrom: thanks, it's been too long since I parsec'd, this is also nicer to write
2025-02-26 00:10:44 +0100 <monochrom> BTW the "convenience" of regex allowing that is avenged by the fact that such high non-determinism causes exp-time or exp-space.
2025-02-26 00:10:57 +0100 <hololeap> although I wonder if it would be more readable to just do this with span from Data.List
2025-02-26 00:11:37 +0100 <tomsmeding> if you write out that <$> <*> sequence as a do-block, it gets much more readable
2025-02-26 00:11:39 +0100 <monochrom> Oh, the split package has tools for that too.
2025-02-26 00:12:12 +0100 <monochrom> You can write your own recursion over span. But the split package does that for you.
2025-02-26 00:12:40 +0100 <tomsmeding> hololeap: https://paste.tomsmeding.com/QHaiHEVF
2025-02-26 00:12:43 +0100 <monochrom> Although, I confess that I want 0 dependencies so I wrote my own recursion :)
2025-02-26 00:12:53 +0100 <tomsmeding> but yes, a splitting function is perhaps nicer here
2025-02-26 00:16:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 00:20:18 +0100rvalue(~rvalue@user/rvalue) (Quit: ZNC - https://znc.in)
2025-02-26 00:21:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-26 00:23:46 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 00:28:14 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-26 00:32:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 00:36:46 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-02-26 00:37:49 +0100rvalue(~rvalue@user/rvalue) rvalue
2025-02-26 00:38:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-02-26 00:50:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 00:51:13 +0100src(~src@user/src) src
2025-02-26 00:55:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-26 00:58:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 00:59:26 +0100 <EvanR> is parsec more or less powerful than regex
2025-02-26 00:59:41 +0100 <EvanR> does it hinge on whether unlimited lookahead is regex
2025-02-26 01:00:25 +0100 <geekosaur> if regex is extended with "functions", see raku
2025-02-26 01:00:36 +0100 <mauke> parsec can nest
2025-02-26 01:00:57 +0100 <geekosaur> but there's some question as to whether that's actually "regex" (I think the "actually should be regular" ship sailed years ago)
2025-02-26 01:03:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-02-26 01:07:40 +0100 <EvanR> I guess irregular expressions isn't particularly marketable
2025-02-26 01:10:48 +0100mange(~user@user/mange) mange
2025-02-26 01:11:03 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 01:12:50 +0100 <jackdk> Don't we call those "perl compatible"?
2025-02-26 01:13:47 +0100 <mauke> I think "perl compatible" is mostly about syntax (ok, and some features as well)
2025-02-26 01:14:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 01:14:16 +0100 <mauke> backreferences existed long before perl
2025-02-26 01:15:31 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-26 01:16:44 +0100Googulator78(~Googulato@2a01-036d-0106-0c81-ad7c-ac56-196b-c9a2.pool6.digikabel.hu)
2025-02-26 01:16:45 +0100 <EvanR> now I have to pull out the history to figure out what "long before perl" means
2025-02-26 01:17:04 +0100 <geekosaur> egrep
2025-02-26 01:18:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 01:19:42 +0100 <mauke> https://unix.stackexchange.com/questions/623521/why-does-ed-support-backreferences-but-not-alterna…
2025-02-26 01:20:10 +0100Googulator(~Googulato@2a01-036d-0106-0c81-ad7c-ac56-196b-c9a2.pool6.digikabel.hu) (Ping timeout: 240 seconds)
2025-02-26 01:21:54 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2025-02-26 01:26:59 +0100 <geekosaur> mm, right, forgot ed went back even further
2025-02-26 01:29:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 01:29:38 +0100 <ski> geekosaur : "IrRegular Expressions" by foof at <https://synthcode.com/scheme/irregex/>
2025-02-26 01:32:29 +0100krei-se-(~krei-se@p3ee0f060.dip0.t-ipconnect.de) krei-se
2025-02-26 01:32:35 +0100 <mauke> the bell labs regex code wasn't freely available, so perl 2.0 incorporated henry spencer's implementation, which used backtracking
2025-02-26 01:33:36 +0100krei-se(~krei-se@p3ee0fb6e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-02-26 01:33:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 01:34:49 +0100ski. o O ( "Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)" by Russ Cox in 2007-01 at <https://swtch.com/~rsc/regexp/regexp1.html> )
2025-02-26 01:36:02 +0100 <mauke> "With the exception of backreferences, the features provided by the slow backtracking implementations can be provided by the automata-based implementations at dramatically faster, more consistent speeds." is of course wrong
2025-02-26 01:36:26 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2025-02-26 01:40:22 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-02-26 01:44:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 01:45:24 +0100 <geekosaur> yeh, I think pretty much everyone was using Spencer's code back then
2025-02-26 01:49:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-26 01:51:03 +0100sprotte24(~sprotte24@p200300d16f33ea00547a79769710f53f.dip0.t-ipconnect.de) (Quit: Leaving)
2025-02-26 01:53:34 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-26 01:56:13 +0100xff0x(~xff0x@2405:6580:b080:900:3152:bac6:3fc:3eb6) (Ping timeout: 252 seconds)
2025-02-26 01:56:47 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 02:00:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 02:01:00 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-26 02:02:13 +0100zungi(~tory@user/andrewchawk) (Remote host closed the connection)
2025-02-26 02:04:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 02:06:47 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-02-26 02:07:36 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-02-26 02:08:19 +0100takuan(~takuan@d8D86B601.access.telenet.be) (Ping timeout: 252 seconds)
2025-02-26 02:15:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 02:16:05 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds)
2025-02-26 02:17:25 +0100 <cheater> i'm still dismayed that no one extended regex to include negative matches
2025-02-26 02:17:41 +0100 <cheater> since they can always be compiled down to a finite amount of positive matches
2025-02-26 02:18:01 +0100 <cheater> just that negative matches are human readable and the positive version isn't
2025-02-26 02:18:37 +0100 <geekosaur> actual perl REs have negative matches
2025-02-26 02:18:52 +0100 <cheater> as in, "matching this rejects the match"?
2025-02-26 02:18:57 +0100 <geekosaur> or at least negative lookahead
2025-02-26 02:19:01 +0100 <geekosaur> yes
2025-02-26 02:19:11 +0100 <cheater> how would you match for hat, but not within the word what?
2025-02-26 02:19:28 +0100yegorc(~yegorc@user/yegorc) yegorc
2025-02-26 02:19:42 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-02-26 02:19:53 +0100 <Square> If I have a project that contains .cabal files it seems newer versions of cabal tries to use all these files to resolve dependencies. Is there a way to neglect other .cabal files in a project?
2025-02-26 02:20:07 +0100 <Square> s/contains/contains several/
2025-02-26 02:20:38 +0100 <cheater> idk but maybe cabal.project
2025-02-26 02:20:44 +0100 <geekosaur> --ignore-project
2025-02-26 02:21:24 +0100 <geekosaur> this isn't usually what you actually want, though, as it can lead to mutually incompatible project components
2025-02-26 02:21:48 +0100 <geekosaur> which is why cabal solves for the whole project
2025-02-26 02:22:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 02:23:07 +0100 <Square> thanks. I'm migrating a project - sub-project by sub-project.
2025-02-26 02:23:32 +0100 <Square> ...so during that phase it might help me to work on them individually first
2025-02-26 02:27:01 +0100alp(~alp@2001:861:8ca0:4940:d9b2:488b:3c7b:5f95) (Ping timeout: 252 seconds)
2025-02-26 02:33:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 02:38:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-26 02:42:30 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 02:42:55 +0100 <geekosaur> you might do better making a temporary project file containing only the parts you need, because eventually you'll hit dependencies within the project and will need them to be visible
2025-02-26 02:43:48 +0100yegorc(~yegorc@user/yegorc) (Leaving)
2025-02-26 02:44:18 +0100 <Square> gotcha. I'll keep that in mind if I run into problems
2025-02-26 02:44:25 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-02-26 02:45:23 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 245 seconds)
2025-02-26 02:47:12 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 272 seconds)
2025-02-26 02:47:26 +0100messewix(~jmc@user/messewix) messewix
2025-02-26 02:47:57 +0100 <mauke> cheater: (?<!w)hat
2025-02-26 02:48:42 +0100 <cheater> nice
2025-02-26 02:48:46 +0100 <cheater> does this work in any greps?
2025-02-26 02:48:57 +0100 <mauke> the positive version is (?:^|[^w])hat
2025-02-26 02:49:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 02:49:56 +0100 <mauke> should work in GNU grep -P
2025-02-26 02:50:04 +0100 <mauke> and ack, if you count that as a grep
2025-02-26 02:50:12 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-02-26 02:53:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 02:54:49 +0100acidjnk_new(~acidjnk@p200300d6e7283f3800c9913f6d25b0a5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-02-26 03:04:27 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 03:04:31 +0100olivial_(~benjaminl@2601:1c0:847f:9c70:223:24ff:fe66:4370) (Read error: Connection reset by peer)
2025-02-26 03:04:45 +0100olivial(~benjaminl@user/benjaminl) benjaminl
2025-02-26 03:08:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-26 03:12:04 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2025-02-26 03:13:59 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-02-26 03:19:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 03:20:22 +0100 <cheater> mauke: fantastic
2025-02-26 03:20:29 +0100 <cheater> i guess rg doesn't do it though?
2025-02-26 03:20:42 +0100 <cheater> rg... sigh...
2025-02-26 03:21:51 +0100 <mauke> needs --pcre2, apparently
2025-02-26 03:24:02 +0100weary-traveler(~user@user/user363627) user363627
2025-02-26 03:24:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 03:28:55 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 03:31:00 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-02-26 03:31:09 +0100 <haskellbridge> <Bowuigi> cheater both structural regular expressions (Bell Labs, some time ago) and PEG have negative matches IIRC
2025-02-26 03:31:32 +0100 <cheater> hmmmm
2025-02-26 03:31:33 +0100 <cheater> thank you
2025-02-26 03:31:34 +0100 <haskellbridge> <Bowuigi> Structural regex seems to be more powerful. It's definitely more practical for interactive usage
2025-02-26 03:31:46 +0100 <cheater> what's structural
2025-02-26 03:33:02 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-26 03:35:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 03:39:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-26 03:40:07 +0100 <haskellbridge> <Bowuigi> Instead of operating in lines, it operates in selections. It can do things like "select all strings matching this pattern, even if spread across multiple lines", "replace using this pattern on these selections", "invert selected" and more
2025-02-26 03:41:37 +0100 <haskellbridge> <Bowuigi> So SRE is for interactive usage (that was what it was designed for, based on Bell Labs' documentation), and PEG is like CFG but more language parsing oriented
2025-02-26 03:44:02 +0100pointlessslippe1(~pointless@62.106.85.17) (Read error: Connection reset by peer)
2025-02-26 03:44:34 +0100 <mauke> not very structured if it doesn't handle nesting
2025-02-26 03:45:06 +0100 <mauke> e.g. you can't easily say "select the current block of code"
2025-02-26 03:50:31 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-02-26 03:50:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 03:51:17 +0100bilegeek(~bilegeek@2600:1008:b06e:701b:8c92:bcff:3789:c22c) bilegeek
2025-02-26 03:51:37 +0100pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-02-26 03:51:50 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-26 03:52:14 +0100lol_jcarpenter2
2025-02-26 03:52:53 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 244 seconds)
2025-02-26 03:57:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 04:08:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 04:12:53 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-26 04:14:59 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 04:19:14 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-26 04:24:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 04:27:59 +0100tromp(~textual@2a02:a210:cba:8500:b949:287e:6bbd:873b)
2025-02-26 04:28:36 +0100tromp(~textual@2a02:a210:cba:8500:b949:287e:6bbd:873b) (Client Quit)
2025-02-26 04:29:03 +0100 <Square> Template haskell has changed a bit between GHC 8.6 and 9.6. I cant wrap my head on the new signature for DataInstD
2025-02-26 04:29:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-26 04:29:17 +0100 <Square> Was: DataInstD Cxt Name [Type] (Maybe Kind) [Con] [DerivClause]
2025-02-26 04:29:33 +0100 <Square> Now: DataInstD Cxt (Maybe [TyVarBndr ()]) Type (Maybe Kind) [Con] [DerivClause]
2025-02-26 04:31:18 +0100 <Square> so for "class MyClass a b where ; data MyData a b" I declared an instance with...
2025-02-26 04:32:09 +0100 <Square> DataInstD [] (mkName "MyData") [aType,bType] (Nothing) constructors [deriveClause]
2025-02-26 04:32:48 +0100 <Square> I'm not sure how to migrate that to 9.6
2025-02-26 04:35:39 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-02-26 04:36:21 +0100plitter(~plitter@user/plitter) (Ping timeout: 248 seconds)
2025-02-26 04:39:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 04:40:58 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-02-26 04:43:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-26 04:51:45 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-02-26 04:53:54 +0100PHO`(~pho@akari.cielonegro.org) (Ping timeout: 248 seconds)
2025-02-26 04:54:03 +0100PHO`(~pho@akari.cielonegro.org) PHO`
2025-02-26 04:54:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 04:59:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 05:00:20 +0100sp1ff(~user@c-67-160-173-55.hsd1.wa.comcast.net) (Remote host closed the connection)
2025-02-26 05:01:43 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 05:03:36 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2025-02-26 05:06:01 +0100pointlessslippe1(~pointless@62.106.85.17) (Read error: Connection reset by peer)
2025-02-26 05:06:10 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-26 05:07:10 +0100kaskal(~kaskal@2a02:8388:15bf:c200:69b8:13b6:b9c5:a489) (Ping timeout: 272 seconds)
2025-02-26 05:09:46 +0100pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-02-26 05:10:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 05:14:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-26 05:24:11 +0100ensyde(~ensyde@2601:5c6:c200:6dc0::46e1) ensyde
2025-02-26 05:25:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 05:30:01 +0100foul_owl(~kerry@174-21-138-88.tukw.qwest.net) (Ping timeout: 244 seconds)
2025-02-26 05:31:49 +0100Square(~Square4@user/square) (Ping timeout: 248 seconds)
2025-02-26 05:32:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 05:41:45 +0100kyoshiblood(~kyoshiblo@45.236.190.129)
2025-02-26 05:42:44 +0100kyoshiblood(~kyoshiblo@45.236.190.129) (Client Quit)
2025-02-26 05:42:53 +0100foul_owl(~kerry@94.156.149.97) foul_owl
2025-02-26 05:43:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 05:47:48 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 05:48:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-26 05:48:45 +0100michalz(~michalz@185.246.207.203)
2025-02-26 05:49:42 +0100hgolden(~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection)
2025-02-26 05:52:01 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-02-26 05:54:13 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-02-26 05:58:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 06:01:06 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-26 06:02:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-26 06:07:25 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2025-02-26 06:13:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 06:15:12 +0100euphores(~SASL_euph@user/euphores) euphores
2025-02-26 06:17:41 +0100messewix(~jmc@user/messewix) (Quit: Konversation terminated!)
2025-02-26 06:18:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 06:24:12 +0100kaskal(~kaskal@84-115-238-56.cable.dynamic.surfer.at) kaskal
2025-02-26 06:29:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 06:33:51 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 06:34:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 06:37:53 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2025-02-26 06:38:12 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-26 06:39:48 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
2025-02-26 06:41:32 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-02-26 06:42:05 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-02-26 06:44:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 06:45:27 +0100kaskal(~kaskal@84-115-238-56.cable.dynamic.surfer.at) (Ping timeout: 244 seconds)
2025-02-26 06:47:04 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-02-26 06:49:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-26 07:00:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 07:07:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-02-26 07:16:44 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2025-02-26 07:18:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 07:18:31 +0100takuan(~takuan@d8D86B601.access.telenet.be)
2025-02-26 07:19:35 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 07:20:14 +0100jle`(~jle`@2603:8001:3b00:11:8847:ede:a8ef:d8cd) jle`
2025-02-26 07:22:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-26 07:23:43 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-02-26 07:33:39 +0100fp(~Thunderbi@130.233.70.89) fp
2025-02-26 07:33:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 07:38:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-26 07:40:21 +0100jle`(~jle`@2603:8001:3b00:11:8847:ede:a8ef:d8cd) (Ping timeout: 248 seconds)
2025-02-26 07:41:28 +0100jle`(~jle`@2603:8001:3b00:11:240e:f2a:571:e822) jle`
2025-02-26 07:43:16 +0100tabaqui1(~root@87.200.129.102) tabaqui
2025-02-26 07:48:25 +0100jongkook90(~jongkook9@user/jongkook90) (Remote host closed the connection)
2025-02-26 07:49:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 07:49:47 +0100ensyde(~ensyde@2601:5c6:c200:6dc0::46e1) (Quit: WeeChat 4.5.1)
2025-02-26 07:54:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-02-26 07:59:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 08:03:36 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-02-26 08:05:19 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 08:09:08 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-02-26 08:09:08 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2025-02-26 08:09:33 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-02-26 08:09:59 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-02-26 08:12:28 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-02-26 08:14:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 08:15:16 +0100tromp(~textual@2a02:a210:cba:8500:b949:287e:6bbd:873b)
2025-02-26 08:18:07 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2025-02-26 08:19:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-02-26 08:21:42 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-02-26 08:27:25 +0100misterfish(~misterfis@84.53.85.146) misterfish
2025-02-26 08:29:06 +0100zungi(~tory@user/andrewchawk) (Remote host closed the connection)
2025-02-26 08:29:36 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-02-26 08:30:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 08:31:29 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-02-26 08:34:41 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 244 seconds)
2025-02-26 08:34:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-26 08:39:52 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-02-26 08:41:33 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2025-02-26 08:45:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-26 08:45:50 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2025-02-26 08:49:49 +0100jle`(~jle`@2603:8001:3b00:11:240e:f2a:571:e822) (Ping timeout: 252 seconds)
2025-02-26 08:51:24 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 08:51:48 +0100jle`(~jle`@2603:8001:3b00:11:8ed8:2d9f:d44c:86d1) jle`
2025-02-26 08:52:10 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2025-02-26 08:52:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-02-26 08:52:40 +0100jle`(~jle`@2603:8001:3b00:11:8ed8:2d9f:d44c:86d1) (Client Quit)
2025-02-26 08:52:51 +0100ft(~ft@p3e9bc68d.dip0.t-ipconnect.de) (Quit: leaving)
2025-02-26 08:53:03 +0100jle`(~jle`@2603:8001:3b00:11:8ed8:2d9f:d44c:86d1) jle`
2025-02-26 08:53:42 +0100alp(~alp@2001:861:8ca0:4940:de90:3201:9e0e:e126)
2025-02-26 08:55:39 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-26 08:58:13 +0100jle`(~jle`@2603:8001:3b00:11:8ed8:2d9f:d44c:86d1) (Ping timeout: 248 seconds)
2025-02-26 08:59:51 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-02-26 09:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-02-26 09:01:02 +0100caconym(~caconym@user/caconym) caconym
2025-02-26 09:14:33 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 245 seconds)
2025-02-26 09:14:54 +0100ash3en(~Thunderbi@146.70.124.222) ash3en
2025-02-26 09:28:34 +0100florida(~florida@2a02:ab88:7200:6a00:762b:62ff:fe83:1a1b)
2025-02-26 09:30:16 +0100Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-02-26 09:30:41 +0100acidjnk_new(~acidjnk@p200300d6e7283f8044b147bcd5cee5e7.dip0.t-ipconnect.de) acidjnk
2025-02-26 09:33:27 +0100ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 252 seconds)
2025-02-26 09:34:05 +0100 <tomsmeding> @tell Square it seems the `Type [Name]` has moved into the `Type`: instead of `DataInstD _ n [t1,t2]` write `DataInstD _ Nothing (n `AppT` t1 `AppT` t2)`
2025-02-26 09:34:05 +0100 <lambdabot> Consider it noted.
2025-02-26 09:34:38 +0100 <tomsmeding> @tell Square trick: you can evaluate quotes in ghci and see what AST they produce, e.g. [d| data instance T [x] = A x | B (T x) |]
2025-02-26 09:34:38 +0100 <lambdabot> Consider it noted.
2025-02-26 09:36:44 +0100aforemny_(~aforemny@2001:9e8:6cc7:1800:f602:cc4c:87fe:731d) aforemny
2025-02-26 09:37:08 +0100aforemny(~aforemny@i59F4C45F.versanet.de) (Ping timeout: 252 seconds)
2025-02-26 09:39:14 +0100CiaoSen(~Jura@2a02:8071:64e1:7180:4e50:ddff:fe9b:8922) CiaoSen
2025-02-26 09:42:01 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-26 09:43:43 +0100tromp(~textual@2a02:a210:cba:8500:b949:287e:6bbd:873b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-02-26 09:43:48 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 09:44:01 +0100laxmik(~laxmik@ip-109-40-48-158.web.vodafone.de) laxmik
2025-02-26 09:44:35 +0100petrichor(~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
2025-02-26 09:44:50 +0100laxmik(~laxmik@ip-109-40-48-158.web.vodafone.de) (Client Quit)
2025-02-26 09:45:51 +0100petrichor(~znc-user@user/petrichor) petrichor
2025-02-26 09:48:24 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-02-26 09:51:24 +0100 <dminuoso> Hah, I had exactly the same stuff written into the input buffer, but I believed that this @tell thing surely did not survive the freenode libera crisis. :-)
2025-02-26 09:55:14 +0100 <tomsmeding> lambdabot transcends worlds!
2025-02-26 10:02:26 +0100LainExperiments(~LainExper@user/LainExperiments) LainExperiments
2025-02-26 10:06:31 +0100__monty__(~toonn@user/toonn) toonn
2025-02-26 10:07:10 +0100LainExperiments5(~LainExper@user/LainExperiments) LainExperiments
2025-02-26 10:07:32 +0100LainExperiments6(~LainExper@user/LainExperiments) LainExperiments
2025-02-26 10:08:03 +0100LainExperiments6(~LainExper@user/LainExperiments) (Client Quit)
2025-02-26 10:09:10 +0100LainExperiments8(~LainExper@user/LainExperiments) LainExperiments
2025-02-26 10:09:36 +0100LainExperiments8(~LainExper@user/LainExperiments) (Write error: Broken pipe)
2025-02-26 10:10:40 +0100LainExperiments(~LainExper@user/LainExperiments) (Ping timeout: 240 seconds)
2025-02-26 10:11:09 +0100chele(~chele@user/chele) chele
2025-02-26 10:17:47 +0100 <tomsmeding> How are the components of a GHC version called? E.g. for 9.12.1, how do I call the "9", the "12" and the "1"?
2025-02-26 10:18:39 +0100 <tomsmeding> the GHC user guide ( https://downloads.haskell.org/ghc/latest/docs/users_guide/intro.html#ghc-version-numbering-policy ) seems to call the "1" the "patchlevel number", and uses the word "major release" for any abstract version x.y.z
2025-02-26 10:19:04 +0100 <tomsmeding> the HLS GHC version support page ( https://haskell-language-server.readthedocs.io/en/latest/support/ghc-version-support.html ) seems to use "minor" for "1" and "major" for "9.12", but it's a little bit unclear
2025-02-26 10:20:32 +0100 <tomsmeding> Stackage seems to use the same terminology as HLS ( https://github.com/commercialhaskell/stackage#frequently-asked-questions )
2025-02-26 10:20:42 +0100 <tomsmeding> (but it's not specified, just implied)
2025-02-26 10:22:46 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.4.3)
2025-02-26 10:24:20 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2025-02-26 10:25:30 +0100 <tomsmeding> ah, and the GHC wiki calls any N.M.1 a major release, and any N.M.{2,3,...} a minor release! https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status#1-release-practices
2025-02-26 10:26:19 +0100bionade24(~quassel@2a03:4000:33:45b::1) (Read error: Connection reset by peer)
2025-02-26 10:26:40 +0100bionade24(~quassel@2a03:4000:33:45b::1) bionade24
2025-02-26 10:26:52 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2025-02-26 10:29:13 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-26 10:29:23 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2025-02-26 10:29:53 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 248 seconds)
2025-02-26 10:31:10 +0100LainExperiments5(~LainExper@user/LainExperiments) (Ping timeout: 240 seconds)
2025-02-26 10:32:12 +0100LainExperiments(~LainExper@user/LainExperiments) LainExperiments
2025-02-26 10:33:18 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-02-26 10:34:35 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-02-26 10:35:30 +0100rvalue(~rvalue@user/rvalue) rvalue
2025-02-26 10:35:34 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-26 10:35:35 +0100 <cheater> what do you call a pair of functions in mathematics f, g, f: X -> Y and g: Y -> X such that \A x \in X \E f(x) and \A y \in Y \E g(y)?
2025-02-26 10:36:04 +0100 <tomsmeding> what do you mean with "\E f(x)"?
2025-02-26 10:36:59 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-02-26 10:37:13 +0100 <tomsmeding> perhaps you meant "\A x \in X \E y (f(x) = y)"?
2025-02-26 10:37:22 +0100 <tomsmeding> or something
2025-02-26 10:39:43 +0100 <Leary> tomsmeding: In line with HLS: 9.12 ~ major (version (numbers)); 1 ~ minor (version (number)). At least that's the language I would use; I doubt there's an official decree.
2025-02-26 10:40:25 +0100 <tomsmeding> Leary: Well, then the GHC user guide disagrees, and the GHC wiki contests the nuance. :P
2025-02-26 10:40:32 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2025-02-26 10:41:16 +0100 <tomsmeding> though actually the GHC wiki terminology is rather close to this
2025-02-26 10:41:56 +0100 <cheater> tomsmeding: yes. that's a shorthand.
2025-02-26 10:42:07 +0100 <Leary> Multiple terminologies can coexist. I also don't consider the language around /releases/ to conflict with the language for the version components.
2025-02-26 10:42:32 +0100 <tomsmeding> cheater: so then that first formula says that f is total? I.e. it returns a result for every x?
2025-02-26 10:42:37 +0100 <cheater> yes
2025-02-26 10:42:40 +0100swamp_(~zmt00@user/zmt00) zmt00
2025-02-26 10:42:55 +0100 <cheater> a pair of total functions between two sets going in opposite directions
2025-02-26 10:42:56 +0100 <tomsmeding> I don't see any connection between f and g here
2025-02-26 10:43:04 +0100 <tomsmeding> those are just a pair of functions
2025-02-26 10:43:10 +0100 <tomsmeding> functions are total by default in mathematics
2025-02-26 10:43:31 +0100 <tomsmeding> it's the concept of a "partial function" that needs explicit note
2025-02-26 10:43:38 +0100kaskal(~kaskal@84-115-238-111.cable.dynamic.surfer.at) kaskal
2025-02-26 10:43:42 +0100 <cheater> they are total on their domains, but their domains don't have to line up like they do in my hypothesis
2025-02-26 10:43:42 +0100 <tomsmeding> (and that's usually modelled as a total function to Y + 1)
2025-02-26 10:44:02 +0100 <tomsmeding> Leary: That's fair
2025-02-26 10:44:34 +0100 <cheater> f and g are connected by the property i listed above: they are total on sets that contain each other's codomains
2025-02-26 10:45:02 +0100 <tomsmeding> cheater: if the functions have some equation relating them, then there may be appropriate terminology, but without any equation relating them, I don't think there's a word for this
2025-02-26 10:45:44 +0100 <cheater> the only property is that if you start in one set, you can infinitely go between the two sets using f and g. possibly ending at some limit element or not.
2025-02-26 10:45:48 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 252 seconds)
2025-02-26 10:45:51 +0100 <tomsmeding> if f and g are continuous and bijective, then they are homeomorphisms, for example
2025-02-26 10:45:55 +0100 <cheater> i think that's interesting enough.
2025-02-26 10:46:18 +0100 <cheater> no, they have no such property as stated
2025-02-26 10:47:02 +0100tromp(~textual@2a02:a210:cba:8500:b949:287e:6bbd:873b)
2025-02-26 10:48:39 +0100 <cheater> if no such thing is described then i shall coin that as a speculative function pair (or tuple for a more complex graph)
2025-02-26 10:49:13 +0100 <tomsmeding> you can call it a "back-and-forth"
2025-02-26 10:51:04 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 272 seconds)
2025-02-26 10:51:20 +0100merijn(~merijn@77.242.116.146) merijn
2025-02-26 10:52:11 +0100 <cheater> that sounds like something out of control theory.
2025-02-26 10:54:20 +0100 <[exa]> cheater: you can just say that compositions of f and g are total
2025-02-26 10:54:37 +0100 <cheater> i don't like puzzle definitions
2025-02-26 10:54:41 +0100 <tomsmeding> that's not quite the same statement, is it?
2025-02-26 10:55:40 +0100 <[exa]> the totality of the composition implies exactly the domain-is-a-superset property that was requested, and I just run it in both directions
2025-02-26 10:55:55 +0100 <[exa]> so I'd say it's the same
2025-02-26 10:55:59 +0100 <tomsmeding> depends on what compositions you mean when you say "compositions of f and g"
2025-02-26 10:56:17 +0100 <tomsmeding> if it's just "f . g", then it's weaker; if you also include "f . f", then it's stronger
2025-02-26 10:57:10 +0100 <[exa]> f.f doesn't type
2025-02-26 10:57:24 +0100 <tomsmeding> but if you already have the types of f and g, there's nothing more to specify!
2025-02-26 10:57:26 +0100 <[exa]> ah well okay in math that could cause issues, I see
2025-02-26 10:58:01 +0100 <[exa]> anyway yeah, I'd say the original definiton would need a bit more of a spirit to it to actually spawn a useful name
2025-02-26 10:59:04 +0100 <Leary> I'm still not sure what the original statement is supposed to be. f and g are partial functions with opposite co/domains and the property that each is total on the other's range?
2025-02-26 10:59:08 +0100 <tomsmeding> https://ncatlab.org/nlab/show/concept+with+an+attitude
2025-02-26 11:00:22 +0100bilegeek(~bilegeek@2600:1008:b06e:701b:8c92:bcff:3789:c22c) (Quit: Leaving)
2025-02-26 11:01:12 +0100acidjnk_new(~acidjnk@p200300d6e7283f8044b147bcd5cee5e7.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2025-02-26 11:02:38 +0100 <[exa]> oh that's a nice site.
2025-02-26 11:04:00 +0100acidsys(~crameleon@openSUSE/member/crameleon) (Ping timeout: 244 seconds)
2025-02-26 11:04:44 +0100 <cheater> you don't know about ncatlab?
2025-02-26 11:04:59 +0100 <cheater> anyways i think the idea of being able to bounce back and forth an infinite amount of times is pretty interesting
2025-02-26 11:05:44 +0100 <cheater> it can easily create congruences, for example
2025-02-26 11:05:47 +0100 <cheater> and a topology
2025-02-26 11:06:11 +0100 <cheater> and can be continuated
2025-02-26 11:06:18 +0100 <cheater> even smoothly so
2025-02-26 11:09:10 +0100 <tomsmeding> I'd personally expect that as soon as that bouncing has any kind of _property_ (it converges, or you end up where you started, ...) then it _does_ have a name
2025-02-26 11:09:54 +0100 <ames> just don't listen to nlab when it comes to type theory
2025-02-26 11:10:29 +0100ski(~ski@remote11.chalmers.se) (Ping timeout: 248 seconds)
2025-02-26 11:10:40 +0100 <ames> it ranges from subtly incorrect and extra verbose to complete and utter bullshit
2025-02-26 11:12:40 +0100acidjnk_new(~acidjnk@p200300d6e7283f8044b147bcd5cee5e7.dip0.t-ipconnect.de) acidjnk
2025-02-26 11:14:06 +0100ski(~ski@remote11.chalmers.se)
2025-02-26 11:14:57 +0100alfiee(~alfiee@user/alfiee) alfiee