Logs: liberachat/#haskell
| 2025-12-15 22:43:08 | <davean> | do is a way of templating out code |
| 2025-12-15 22:43:22 | <tomsmeding> | @hackage acme-dont |
| 2025-12-15 22:43:22 | <lambdabot> | https://hackage.haskell.org/package/acme-dont |
| 2025-12-15 22:44:38 | <davean> | chromoblob: the problem here is you think "do" is something it isn't |
| 2025-12-15 22:45:46 | <chromoblob> | ok, i see, `do` is a sugar which desugars trivially in `do x` case |
| 2025-12-15 22:46:00 | → | euphores joins (~SASL_euph@user/euphores) |
| 2025-12-15 22:46:13 | <chromoblob> | i might have known/learned this in past, i just forgot |
| 2025-12-15 22:46:56 | <tomsmeding> | (you can observe this desugaring even more directly if you turn on RebindableSyntax, which just calls whatever (>>=) and (>>) are in scope https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/rebindable_syntax.html#extension-RebindableSyntax ) |
| 2025-12-15 22:47:25 | <tomsmeding> | (I omitted 'fail' from my desugaring above) |
| 2025-12-15 22:47:49 | <davean> | Thats because fail is an error |
| 2025-12-15 22:48:01 | <tomsmeding> | it is in the desugaring though |
| 2025-12-15 22:48:35 | <davean> | Not if you don't fuck up designing the language |
| 2025-12-15 22:55:05 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-12-15 22:55:15 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-15 23:01:47 | → | myxokephale joins (~myxos@2001:579:8380:f20:50ce:9e79:bbea:e21f) |
| 2025-12-15 23:04:34 | × | myxos quits (~myxos@2001:579:8380:f20:fbd3:ef8a:e888:18ad) (Ping timeout: 255 seconds) |
| 2025-12-15 23:04:43 | <dolio> | It's fine, just don't put it in Monad. |
| 2025-12-15 23:05:41 | × | Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-15 23:05:46 | → | Googulator33 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-15 23:06:01 | <dolio> | Originally I think failable patterns would desugar to MonadZero. |
| 2025-12-15 23:10:17 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 2025-12-15 23:17:31 | <jackdk> | The H98 report, s3.14, desugars `do { p <- e; stmts }` to `let { ok p = do {stmts}; ok _ = fail "..." in e >>= ok }` |
| 2025-12-15 23:18:07 | <jackdk> | (And specifies that `fail` is an operation of `class Monad`) |
| 2025-12-15 23:19:50 | <haskellbridge> | <loonycyborg> "do" can be used in pure code to together with BlockArguments kill even more parentheses :P |
| 2025-12-15 23:20:16 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 256 seconds) |
| 2025-12-15 23:20:29 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2025-12-15 23:22:24 | × | Googulator33 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-15 23:22:41 | → | Googulator33 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-15 23:24:14 | <chromoblob> | ... = ... $ do ... |
| 2025-12-15 23:24:43 | <haskellbridge> | <loonycyborg> +to |
| 2025-12-15 23:24:56 | <chromoblob> | `$` is how i kill parentheses :p |
| 2025-12-15 23:28:38 | <chromoblob> | and i have even defined `($$) = flip ($)` in past, to do `... $$ ... $$ ...` - iirc |
| 2025-12-15 23:33:29 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 260 seconds) |
| 2025-12-15 23:34:21 | Googulator33 | is now known as Googulator |
| 2025-12-15 23:36:04 | → | Googulator96 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-15 23:36:19 | × | Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-15 23:38:37 | Googulator96 | is now known as Googulator |
| 2025-12-15 23:40:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-15 23:41:31 | → | mange joins (~mange@user/mange) |
| 2025-12-15 23:43:44 | × | bggd__ quits (~bgg@2a01:e0a:fd5:f510:6bc5:c845:f799:c476) (Remote host closed the connection) |
| 2025-12-15 23:44:00 | → | latticepolytope joins (~user@user/isekaijin) |
| 2025-12-15 23:44:03 | × | tromp quits (~textual@2001:1c00:3487:1b00:dc21:3bf3:aa50:6091) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-15 23:44:09 | <jackdk> | chromoblob: Your ($$) is (Data.Function.&), since base-4.8 (ghc 7.10.1, April 2015) |
| 2025-12-15 23:45:24 | <chromoblob> | yeah, i did this in 2014 lol |
| 2025-12-15 23:45:37 | <chromoblob> | :i & |
| 2025-12-15 23:45:48 | <chromoblob> | no work... |
| 2025-12-15 23:46:10 | <jackdk> | % :i & |
| 2025-12-15 23:46:10 | <yahb2> | <interactive>:1:1: error: [GHC-76037] Not in scope: ‘&’ |
| 2025-12-15 23:46:53 | <geekosaur> | % :i Data.Function.& |
| 2025-12-15 23:46:53 | <yahb2> | (GHC.Internal.Data.Function.&) :: a -> (a -> b) -> b ; -- Defined in ‘GHC.Internal.Data.Function’ ; infixl 1 GHC.Internal.Data.Function.& |
| 2025-12-15 23:48:03 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-15 23:54:46 | <chromoblob> | wait, i mixed it up |
| 2025-12-15 23:55:15 | <chromoblob> | i mean that ($$) is same that ($) but has left associativity |
| 2025-12-15 23:55:17 | × | dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2025-12-15 23:55:31 | <chromoblob> | that -> as |
| 2025-12-15 23:58:52 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-16 00:01:15 | → | dolio joins (~dolio@130.44.140.168) |
| 2025-12-16 00:03:01 | × | dolio quits (~dolio@130.44.140.168) (Client Quit) |
| 2025-12-16 00:03:47 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-16 00:09:04 | jmcantrell_ | is now known as jmcantrell |
| 2025-12-16 00:14:36 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-16 00:15:08 | → | dolio joins (~dolio@130.44.140.168) |
| 2025-12-16 00:19:14 | → | itaipu joins (~itaipu@168.121.97.28) |
| 2025-12-16 00:19:31 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-16 00:30:23 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-16 00:30:40 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 2025-12-16 00:34:53 | × | trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Ping timeout: 244 seconds) |
| 2025-12-16 00:35:10 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-16 00:35:23 | → | trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-16 00:36:00 | → | Googulator20 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-16 00:36:23 | × | Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-16 00:38:02 | × | ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 2025-12-16 00:46:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-16 00:55:36 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-16 01:04:20 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds) |
| 2025-12-16 01:04:36 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-12-16 01:06:25 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-16 01:08:15 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds) |
| 2025-12-16 01:08:55 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 2025-12-16 01:10:31 | × | xff0x quits (~xff0x@2405:6580:b080:900:1f68:a6af:8023:736) (Ping timeout: 246 seconds) |
| 2025-12-16 01:10:55 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-16 01:20:15 | × | Tuplanolla quits (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) (Ping timeout: 240 seconds) |
| 2025-12-16 01:22:01 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-16 01:24:40 | × | divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2025-12-16 01:24:52 | → | divlamir joins (~divlamir@user/divlamir) |
| 2025-12-16 01:25:10 | × | somemathguy quits (~somemathg@user/somemathguy) (Quit: WeeChat 4.1.1) |
| 2025-12-16 01:25:23 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-12-16 01:26:43 | × | kodachi quits (~kodachi@198.105.112.55) (Quit: Leaving) |
| 2025-12-16 01:27:25 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 2025-12-16 01:28:49 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-16 01:29:03 | → | omidmash5 joins (~omidmash@user/omidmash) |
| 2025-12-16 01:30:28 | × | acidjnk quits (~acidjnk@p200300d6e7171911ece553fa3dd3d975.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2025-12-16 01:30:59 | × | omidmash quits (~omidmash@user/omidmash) (Ping timeout: 265 seconds) |
| 2025-12-16 01:30:59 | omidmash5 | is now known as omidmash |
| 2025-12-16 01:31:54 | × | spew quits (~spew@user/spew) (Ping timeout: 252 seconds) |
| 2025-12-16 01:33:41 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 2025-12-16 01:39:50 | × | trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-16 01:40:04 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-12-16 01:40:04 | → | trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-16 01:42:34 | → | DetourNe- joins (DetourNetw@user/DetourNetworkUK) |
All times are in UTC.