Newest at the top
| 2025-11-22 22:08:15 +0100 | Everything | (~Everythin@172-232-54-192.ip.linodeusercontent.com) (Quit: leaving) |
| 2025-11-22 22:07:12 +0100 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds) |
| 2025-11-22 22:05:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-22 22:00:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-22 21:55:41 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:a939:4003:9f33:7d40) |
| 2025-11-22 21:55:06 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:863f:df64:5fc4:398c) (Remote host closed the connection) |
| 2025-11-22 21:53:54 +0100 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-11-22 21:53:25 +0100 | Pixi | (~Pixi@user/pixi) (Ping timeout: 264 seconds) |
| 2025-11-22 21:51:05 +0100 | kimiamania99 | (~67ff9c12@user/kimiamania) kimiamania |
| 2025-11-22 21:50:42 +0100 | kimiamania99 | (~67ff9c12@user/kimiamania) (Quit: Ping timeout (120 seconds)) |
| 2025-11-22 21:50:09 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-22 21:50:07 +0100 | Pixi` | (~Pixi@user/pixi) Pixi |
| 2025-11-22 21:47:18 +0100 | <monochrom> | heh |
| 2025-11-22 21:46:11 +0100 | <EvanR> | Dyslexicons transform and roll out |
| 2025-11-22 21:45:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-22 21:40:08 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 2025-11-22 21:38:34 +0100 | trickard_ | (~trickard@cpe-87-98-47-163.wireline.com.au) |
| 2025-11-22 21:38:07 +0100 | trickard_ | (~trickard@cpe-87-98-47-163.wireline.com.au) (Ping timeout: 240 seconds) |
| 2025-11-22 21:37:44 +0100 | <mauke> | type Lexicon = [Word] |
| 2025-11-22 21:35:39 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:863f:df64:5fc4:398c) |
| 2025-11-22 21:35:04 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:4399:e959:784c:f191) (Remote host closed the connection) |
| 2025-11-22 21:34:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-22 21:31:57 +0100 | <monochrom> | haha that's great |
| 2025-11-22 21:31:46 +0100 | <int-e> | monochrom: teach it with s/parsing/word processing/g? :P |
| 2025-11-22 21:30:56 +0100 | monochrom | is preparing to teach a compiler course in which we begin with tokenization aka lexical analysis! |
| 2025-11-22 21:30:55 +0100 | <EvanR> | data NonZero = PosMinusOne Natural | NegPlusOne Natural |
| 2025-11-22 21:30:27 +0100 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2025-11-22 21:30:14 +0100 | <monochrom> | type Lexicon = Word >:) |
| 2025-11-22 21:30:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-22 21:29:38 +0100 | <glguy> | Natural |
| 2025-11-22 21:29:30 +0100 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 252 seconds) |
| 2025-11-22 21:28:20 +0100 | <monochrom> | No more confusing than any other meaningful names. |
| 2025-11-22 21:27:32 +0100 | <haskellbridge> | <Morj> Don't say Wordeger |
| 2025-11-22 21:27:23 +0100 | <haskellbridge> | <Morj> If Word is not confusing, what's the name of dynamic-sized word? |
| 2025-11-22 21:27:12 +0100 | <bwe> | No, I mean the word `Word`. |
| 2025-11-22 21:26:59 +0100 | <monochrom> | Word is no more confusing than Int. |
| 2025-11-22 21:26:30 +0100 | <EvanR> | er, maxWord |
| 2025-11-22 21:26:28 +0100 | <bwe> | Word is confusing |
| 2025-11-22 21:26:16 +0100 | <EvanR> | then zero is literally not representable... but 255 is necessarily an error |
| 2025-11-22 21:25:14 +0100 | <EvanR> | Word + 1 |
| 2025-11-22 21:25:10 +0100 | <EvanR> | yes Word is what I should have thought of |
| 2025-11-22 21:24:59 +0100 | <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 21:24:49 +0100 | <monochrom> | Use Natural or Word but consistently off by 1, e.g., 1 is represented by 0. |
| 2025-11-22 21:24:26 +0100 | <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 21:23:50 +0100 | <EvanR> | but that might be too heady |
| 2025-11-22 21:23:25 +0100 | <EvanR> | another avenue is to make the new type represent the value wrapped value + something |
| 2025-11-22 21:22:32 +0100 | <glguy> | check for 0 in the function that constructs values of your new type |
| 2025-11-22 21:22:18 +0100 | <EvanR> | a newtype wrapper with a smart constructor? |
| 2025-11-22 21:22:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-22 21:21:37 +0100 | <bwe> | How can I make 0 unrepresentable for a data type that is Int right now? |