Logs: liberachat/#haskell
| 2025-11-22 19:54:34 | <EvanR> | at this point use nonpointless form |
| 2025-11-22 19:54:36 | → | deptype joins (~deptype@2406:b400:3a:9d2f:1c0f:7b0:178a:6f00) |
| 2025-11-22 19:54:46 | <EvanR> | g a b c d e = f c d e a b |
| 2025-11-22 19:54:53 | <haskellbridge> | <Morj> I have flashbacks to a system which had those factorial-flips, but I erased it from my memory |
| 2025-11-22 19:55:08 | <haskellbridge> | <Morj> Was it in qt for signals |
| 2025-11-22 19:56:25 | × | peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds) |
| 2025-11-22 19:57:04 | → | falafel joins (~falafel@2603:8000:ca00:83fb:1db5:6d25:28c0:7c1c) |
| 2025-11-22 20:00:05 | <haskellbridge> | <Morj> God damn it, why does curl not hit a captcha, but http-client-tls does |
| 2025-11-22 20:00:37 | × | raym_ quits (~ray@user/raym) (Ping timeout: 246 seconds) |
| 2025-11-22 20:02:24 | <[exa]> | Morj: it's curl, it has authenticated as a bot, no need to captcha! |
| 2025-11-22 20:02:31 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 20:02:38 | → | raym joins (~ray@user/raym) |
| 2025-11-22 20:07:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-22 20:14:16 | <haskellbridge> | <Morj> I wonder if the page I'm scraping is going to block curl after 500 requests (in 500*2 seconds) |
| 2025-11-22 20:14:32 | × | deptype quits (~deptype@2406:b400:3a:9d2f:1c0f:7b0:178a:6f00) (Remote host closed the connection) |
| 2025-11-22 20:15:07 | → | deptype joins (~deptype@2406:b400:3a:9d2f:4399:e959:784c:f191) |
| 2025-11-22 20:15:24 | <haskellbridge> | <Morj> An btw 'scalpel' package is pretty good |
| 2025-11-22 20:16:18 | → | Square3 joins (~Square@user/square) |
| 2025-11-22 20:16:38 | × | Fischmiep quits (~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in) |
| 2025-11-22 20:17:55 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 20:18:21 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 2025-11-22 20:18:28 | → | Fischmiep joins (~Fischmiep@user/Fischmiep) |
| 2025-11-22 20:18:52 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 2025-11-22 20:19:50 | × | Fischmiep quits (~Fischmiep@user/Fischmiep) (Remote host closed the connection) |
| 2025-11-22 20:20:09 | → | Fischmiep joins (~Fischmiep@user/Fischmiep) |
| 2025-11-22 20:21:05 | <haskellbridge> | <Morj> The worst part is that I can't define the parsers at module's top level because of ambigous types. Makes iterating in ghci a bit annoying |
| 2025-11-22 20:21:37 | <bwe> | How can I make 0 unrepresentable for a data type that is Int right now? |
| 2025-11-22 20:22:07 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-22 20:22:18 | <EvanR> | a newtype wrapper with a smart constructor? |
| 2025-11-22 20:22:32 | <glguy> | check for 0 in the function that constructs values of your new type |
| 2025-11-22 20:23:25 | <EvanR> | another avenue is to make the new type represent the value wrapped value + something |
| 2025-11-22 20:23:50 | <EvanR> | but that might be too heady |
| 2025-11-22 20:24:26 | <bwe> | glguy: oh, that's a nice trick. So I am not constructing it with MyType but newMyType that checks for 0. |
| 2025-11-22 20:24:49 | <monochrom> | Use Natural or Word but consistently off by 1, e.g., 1 is represented by 0. |
| 2025-11-22 20:24:59 | <haskellbridge> | <Morj> Yes, this is a common trick. Usually used for data structures, like https://hackage.haskell.org/package/mono-traversable-1.0.21.0/docs/Data-NonNull.html |
| 2025-11-22 20:25:10 | <EvanR> | yes Word is what I should have thought of |
| 2025-11-22 20:25:14 | <EvanR> | Word + 1 |
| 2025-11-22 20:26:16 | <EvanR> | then zero is literally not representable... but 255 is necessarily an error |
| 2025-11-22 20:26:28 | <bwe> | Word is confusing |
| 2025-11-22 20:26:30 | <EvanR> | er, maxWord |
| 2025-11-22 20:26:59 | <monochrom> | Word is no more confusing than Int. |
| 2025-11-22 20:27:12 | <bwe> | No, I mean the word `Word`. |
| 2025-11-22 20:27:23 | <haskellbridge> | <Morj> If Word is not confusing, what's the name of dynamic-sized word? |
| 2025-11-22 20:27:32 | <haskellbridge> | <Morj> Don't say Wordeger |
| 2025-11-22 20:28:20 | <monochrom> | No more confusing than any other meaningful names. |
| 2025-11-22 20:29:30 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 252 seconds) |
| 2025-11-22 20:29:38 | <glguy> | Natural |
| 2025-11-22 20:30:01 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 20:30:14 | <monochrom> | type Lexicon = Word >:) |
| 2025-11-22 20:30:27 | → | arandombit joins (~arandombi@user/arandombit) |
| 2025-11-22 20:30:55 | <EvanR> | data NonZero = PosMinusOne Natural | NegPlusOne Natural |
| 2025-11-22 20:30:56 | monochrom | is preparing to teach a compiler course in which we begin with tokenization aka lexical analysis! |
| 2025-11-22 20:31:46 | <int-e> | monochrom: teach it with s/parsing/word processing/g? :P |
| 2025-11-22 20:31:57 | <monochrom> | haha that's great |
| 2025-11-22 20:34:34 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-22 20:35:04 | × | deptype quits (~deptype@2406:b400:3a:9d2f:4399:e959:784c:f191) (Remote host closed the connection) |
| 2025-11-22 20:35:39 | → | deptype joins (~deptype@2406:b400:3a:9d2f:863f:df64:5fc4:398c) |
| 2025-11-22 20:37:44 | <mauke> | type Lexicon = [Word] |
| 2025-11-22 20:38:07 | × | trickard_ quits (~trickard@cpe-87-98-47-163.wireline.com.au) (Ping timeout: 240 seconds) |
| 2025-11-22 20:38:34 | → | trickard_ joins (~trickard@cpe-87-98-47-163.wireline.com.au) |
| 2025-11-22 20:40:08 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 2025-11-22 20:45:29 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 20:46:11 | <EvanR> | Dyslexicons transform and roll out |
| 2025-11-22 20:47:18 | <monochrom> | heh |
| 2025-11-22 20:50:07 | → | Pixi` joins (~Pixi@user/pixi) |
| 2025-11-22 20:50:09 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-22 20:50:42 | × | kimiamania99 quits (~67ff9c12@user/kimiamania) (Quit: Ping timeout (120 seconds)) |
| 2025-11-22 20:51:05 | → | kimiamania99 joins (~67ff9c12@user/kimiamania) |
| 2025-11-22 20:53:25 | × | Pixi quits (~Pixi@user/pixi) (Ping timeout: 264 seconds) |
| 2025-11-22 20:53:54 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-11-22 20:55:06 | × | deptype quits (~deptype@2406:b400:3a:9d2f:863f:df64:5fc4:398c) (Remote host closed the connection) |
| 2025-11-22 20:55:41 | → | deptype joins (~deptype@2406:b400:3a:9d2f:a939:4003:9f33:7d40) |
| 2025-11-22 21:00:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 21:05:43 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-22 21:07:12 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds) |
| 2025-11-22 21:08:15 | × | Everything quits (~Everythin@172-232-54-192.ip.linodeusercontent.com) (Quit: leaving) |
| 2025-11-22 21:14:38 | × | deptype quits (~deptype@2406:b400:3a:9d2f:a939:4003:9f33:7d40) (Remote host closed the connection) |
| 2025-11-22 21:15:15 | → | deptype joins (~deptype@2406:b400:3a:9d2f:5e1d:1d96:fe87:fe40) |
| 2025-11-22 21:16:15 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 21:20:32 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-22 21:20:50 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-11-22 21:25:48 | → | rls129 joins (~rls129@150.107.206.33) |
| 2025-11-22 21:26:09 | × | rls129 quits (~rls129@150.107.206.33) (Client Quit) |
| 2025-11-22 21:30:59 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 21:32:30 | <haskellbridge> | <Zemyla> I'm thinking about coexponentials. |
| 2025-11-22 21:32:48 | → | fp joins (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) |
| 2025-11-22 21:34:08 | <haskellbridge> | <Zemyla> Exponentials have an eval :: (exp a b, a) -> b function. Coexponentials would have coeval :: b -> Either (coexp a b. a), which doesn't exist in Hask. However, it does exist in Kleisli (Cont r). |
| 2025-11-22 21:34:40 | × | deptype quits (~deptype@2406:b400:3a:9d2f:5e1d:1d96:fe87:fe40) (Remote host closed the connection) |
| 2025-11-22 21:35:16 | → | deptype joins (~deptype@2406:b400:3a:9d2f:d95e:55e2:ae9e:ce68) |
| 2025-11-22 21:35:22 | <haskellbridge> | <Zemyla> It'd be coeval :: b -> m (Either (Coexp m a b) a), where Coexp m a b = (b, a -> m Void). |
| 2025-11-22 21:35:44 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-22 21:37:54 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 2025-11-22 21:40:38 | → | peterbecich joins (~Thunderbi@172.222.148.214) |
| 2025-11-22 21:42:02 | trickard_ | is now known as trickard |
| 2025-11-22 21:46:32 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-22 21:51:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-22 21:51:17 | × | peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 250 seconds) |
| 2025-11-22 21:55:12 | × | deptype quits (~deptype@2406:b400:3a:9d2f:d95e:55e2:ae9e:ce68) (Remote host closed the connection) |
| 2025-11-22 21:55:48 | → | deptype joins (~deptype@2406:b400:3a:9d2f:1559:d36f:155b:68b3) |
| 2025-11-22 21:57:38 | → | peterbecich joins (~Thunderbi@172.222.148.214) |
All times are in UTC.