Logs: liberachat/#haskell
| 2025-11-21 09:56:00 | × | weary-traveler quits (~user@user/user363627) (Ping timeout: 252 seconds) |
| 2025-11-21 09:56:45 | → | weary-traveler joins (~user@user/user363627) |
| 2025-11-21 09:58:16 | × | fp quits (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 244 seconds) |
| 2025-11-21 10:00:36 | → | fp joins (~Thunderbi@130.233.70.141) |
| 2025-11-21 10:01:04 | × | fp quits (~Thunderbi@130.233.70.141) (Client Quit) |
| 2025-11-21 10:01:17 | → | fp joins (~Thunderbi@130.233.70.141) |
| 2025-11-21 10:01:31 | × | fp quits (~Thunderbi@130.233.70.141) (Client Quit) |
| 2025-11-21 10:01:47 | → | fp joins (~Thunderbi@130.233.70.141) |
| 2025-11-21 10:10:00 | <haskellbridge> | <Morj> I have an intrusive thought to build servant combinators to support gemini protocol |
| 2025-11-21 10:10:22 | <haskellbridge> | <Morj> I see the gemini space is not really explored on hackage |
| 2025-11-21 10:17:10 | <[exa]> | gemini is the new gopher? |
| 2025-11-21 10:17:23 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-21 10:18:47 | → | chele joins (~chele@user/chele) |
| 2025-11-21 10:21:44 | <[exa]> | anyway is there a lowlevel server for that (like warp)? would be great |
| 2025-11-21 10:22:42 | × | p3n_ quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2025-11-21 10:24:05 | <[exa]> | ah ok there's gemini-router which looks pretty much like we can do scotty stuff on that |
| 2025-11-21 10:24:13 | <[exa]> | coool. |
| 2025-11-21 10:25:42 | × | fp quits (~Thunderbi@130.233.70.141) (Ping timeout: 252 seconds) |
| 2025-11-21 10:28:16 | <[exa]> | I love the client certificate proliferation there, that's very nice. |
| 2025-11-21 10:29:15 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-21 10:29:39 | → | trickard___ joins (~trickard@cpe-88-98-47-163.wireline.com.au) |
| 2025-11-21 10:31:17 | × | trickard quits (~trickard@cpe-90-98-47-163.wireline.com.au) (Ping timeout: 264 seconds) |
| 2025-11-21 10:31:21 | <haskellbridge> | <Morj> Yeah, gemini and gopher share some lineage and proponents. I'm too zoomer to know more |
| 2025-11-21 10:31:51 | → | p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
| 2025-11-21 10:32:24 | <haskellbridge> | <Morj> Wait, I didn't know gemini appeared in 2019 |
| 2025-11-21 10:34:57 | → | haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2025-11-21 10:34:58 | × | haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2025-11-21 10:34:58 | → | haritz joins (~hrtz@user/haritz) |
| 2025-11-21 10:36:18 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-21 10:37:58 | <[exa]> | yeah it's super new |
| 2025-11-21 10:38:48 | → | Googulator66 joins (~Googulato@team.broadbit.hu) |
| 2025-11-21 10:40:48 | <probie> | I like Gemini in theory, but the things I'd like to see use it never will |
| 2025-11-21 10:42:26 | <haskellbridge> | <Morj> Some blogs I follow have a gemini mirror. Which I never open |
| 2025-11-21 10:43:21 | <haskellbridge> | <Morj> Gemini looks like a good transport for rss/atom, except a lot of rss readers rely on http response headers to know when to hit again, and gemini doesn't have headers |
| 2025-11-21 10:44:31 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-11-21 10:47:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-21 10:47:54 | <[exa]> | like, ideally the rss/atom protocol would be itself aware of the fact that the rss has to be refreshed |
| 2025-11-21 10:50:07 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 2025-11-21 10:50:52 | × | trickard___ quits (~trickard@cpe-88-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-21 10:51:05 | → | trickard_ joins (~trickard@cpe-88-98-47-163.wireline.com.au) |
| 2025-11-21 10:51:14 | <yin> | chromoblob: what's your view on 0^0 ? |
| 2025-11-21 10:51:25 | <chromoblob> | yin: 1 |
| 2025-11-21 10:52:34 | <jreicher> | lim x->0 0^x |
| 2025-11-21 10:53:04 | <jreicher> | (counterexample, not a definition) |
| 2025-11-21 10:53:34 | <[exa]> | jreicher: counter-countered by `lim x->0 x^x` and `lim x->0 x^0` |
| 2025-11-21 10:54:16 | <jreicher> | I didn't say 1 wasn't the limit in some situations. I'm just saying it's not the limit in all, so it can't be the definition. |
| 2025-11-21 10:54:40 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-21 10:55:17 | <chromoblob> | 0^0 for me is simply the number of functions from bottom to bottom :) |
| 2025-11-21 10:55:40 | <[exa]> | <3 |
| 2025-11-21 10:56:10 | <lucabtz> | chromoblob shouldnt it be the number of function from an empty set to an empty set? |
| 2025-11-21 10:56:18 | <lucabtz> | but by that definition it would be 0 |
| 2025-11-21 10:56:40 | <chromoblob> | why zero? id is a correct example |
| 2025-11-21 10:57:11 | <lucabtz> | a function from a set A to B is a subset of A x B with some properties |
| 2025-11-21 10:57:19 | <lucabtz> | but {} x {} = {} |
| 2025-11-21 10:57:25 | <chromoblob> | hmmmm |
| 2025-11-21 10:57:33 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 2025-11-21 10:57:49 | <lucabtz> | well i suppose {} is a subset of {} x {} |
| 2025-11-21 10:57:53 | <lucabtz> | so maybe 1 |
| 2025-11-21 10:57:56 | <chromoblob> | well, there you have it, {} is the function |
| 2025-11-21 10:57:59 | <lucabtz> | is correct |
| 2025-11-21 10:58:04 | <lucabtz> | yep |
| 2025-11-21 10:58:16 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds) |
| 2025-11-21 10:59:01 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 2025-11-21 10:59:07 | <lucabtz> | though i think it should be a non-epty subset |
| 2025-11-21 10:59:49 | <lucabtz> | because if you take f:A -> B and A = B = {1}, the set of functions from A->B has has cardinality 1 |
| 2025-11-21 11:00:04 | <lucabtz> | but if {} is a function the you have two functions from A->B |
| 2025-11-21 11:00:15 | <yin> | 0^0 would be Void -> Void and not () -> () right? |
| 2025-11-21 11:00:25 | <lucabtz> | since A x B = {(1, 1)} you have both {} and {(1, 1)} |
| 2025-11-21 11:00:27 | <c_wraith> | yes |
| 2025-11-21 11:00:32 | <chromoblob> | yin: yes, () would correspond to 1 |
| 2025-11-21 11:01:01 | <yin> | and how many functions are there of the type Void -> Void? |
| 2025-11-21 11:01:12 | → | EvanR_ joins (~EvanR@user/evanr) |
| 2025-11-21 11:01:25 | <haskellbridge> | <Morj> But how many functions are there from bottom to bottom? One or infinitely many? |
| 2025-11-21 11:01:26 | <chromoblob> | lucabtz: which restrictions are there on the subset? |
| 2025-11-21 11:01:32 | <c_wraith> | here's where things get annoying: you need to be more precise than "function" |
| 2025-11-21 11:01:54 | <chromoblob> | Morj: one, because any two are indistinguishable |
| 2025-11-21 11:02:01 | <c_wraith> | because there are multiple concepts of function, and a lot of the disagreement is coming from set theory vs domain theory |
| 2025-11-21 11:02:36 | <haskellbridge> | <Morj> chromoblob: How extentional of you |
| 2025-11-21 11:02:44 | → | fp joins (~Thunderbi@2001:708:20:1406::1370) |
| 2025-11-21 11:02:48 | <lucabtz> | chromoblob i think in general a subset of A x B is called a relation between A and B. for a function the relation has to assign a single element of B to each and every element of A |
| 2025-11-21 11:02:51 | <[exa]> | :t id :: Void -> Void |
| 2025-11-21 11:02:52 | <lambdabot> | Void -> Void |
| 2025-11-21 11:03:02 | <c_wraith> | lucabtz: in set theory, yes. In domain theory? |
| 2025-11-21 11:03:03 | → | mesaoptimizer joins (~user@user/PapuaHardyNet) |
| 2025-11-21 11:03:14 | <lucabtz> | which does exclude {} from the example of A = B = {1} |
| 2025-11-21 11:03:28 | <chromoblob> | yeah, i wanted to lead to this |
| 2025-11-21 11:03:30 | <lucabtz> | but does not exclude {} in the example A = B = {} |
| 2025-11-21 11:03:34 | <yin> | does the Yoneda Lemma apply? |
| 2025-11-21 11:03:41 | × | EvanR quits (~EvanR@user/evanr) (Ping timeout: 264 seconds) |
| 2025-11-21 11:04:04 | × | califax quits (~califax@user/califx) (Ping timeout: 272 seconds) |
| 2025-11-21 11:04:10 | <lucabtz> | chromoblob yep |
| 2025-11-21 11:04:53 | <c_wraith> | Haskell is better modeled by domain theory than set theory, as it has explicit bottom values |
| 2025-11-21 11:05:10 | <yin> | which is a mistake |
| 2025-11-21 11:05:17 | <yin> | imo |
| 2025-11-21 11:05:25 | <lucabtz> | c_wraith i see, i know nothing about domain theory though |
| 2025-11-21 11:05:37 | <probie> | If you don't have an "at least as defined as" operator, are you really living? |
| 2025-11-21 11:07:30 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-21 11:07:58 | <c_wraith> | So you get fun things like newtype Hyper a b = H { runH :: Hyper b a -> b } |
| 2025-11-21 11:08:11 | <c_wraith> | which would be nonsensical in type theory |
| 2025-11-21 11:08:14 | <c_wraith> | err, set theory |
All times are in UTC.