2024/05/13

Newest at the top

2024-05-13 15:40:59 +0200 <tomsmeding> no, because that's a syntactically valid arithmetic expression where the normal precedence rules apply
2024-05-13 15:40:39 +0200 <ski> it's as ambiguous as `2 + 3 * x' meaning either `(2 + 3) * x' or `2 + (3 * x)'
2024-05-13 15:40:33 +0200 <mauke> proto is actually a 5-tuple
2024-05-13 15:40:07 +0200 <tomsmeding> it's probably better disallowed
2024-05-13 15:40:02 +0200 <tomsmeding> meh, it's ambiguous whether that would be (2 + 3) * _ or 2 + (3 * _)
2024-05-13 15:39:38 +0200 <ski> (imho, `(2 + 3 *)' ought to be a section for `\x -> 2 + 3 * x')
2024-05-13 15:39:19 +0200 <lambdabot> (?proto::s, Field1 s c a b) => b -> c
2024-05-13 15:39:18 +0200 <mauke> :t (?proto &) . (_1 .~)
2024-05-13 15:39:14 +0200 <tomsmeding> cute use of implicit params
2024-05-13 15:38:38 +0200 <lambdabot> must have lower precedence than that of the operand,
2024-05-13 15:38:38 +0200 <lambdabot> The operator ‘.~’ [infixr 4] of a section
2024-05-13 15:38:38 +0200 <lambdabot> error:
2024-05-13 15:38:37 +0200 <ski> @type (?proto & _1 .~)
2024-05-13 15:36:52 +0200 <mauke> which you could @pl in the usual way, but that's just horrible
2024-05-13 15:36:25 +0200 <mauke> (or alternatively: fmap (\x -> proto & _1 .~ x) xs)
2024-05-13 15:35:58 +0200 <zzz> hot take: lenses are an antipattern
2024-05-13 15:35:04 +0200 <ski> (well, `of',`\case',`\cases' too)
2024-05-13 15:34:01 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 272 seconds)
2024-05-13 15:33:07 +0200 <mauke> is there a way to write this as one lens expression, without the lambda/fmap?
2024-05-13 15:32:48 +0200 <ski> `let',`where',`do'
2024-05-13 15:32:44 +0200 <mauke> I have code that is essentially: fmap (\x -> set _1 x proto) xs
2024-05-13 15:32:25 +0200 <yahb2> <interactive>:67:22: error: ; Unexpected let expression in function application: ; let y = 17 in y ; You could write it with parentheses ; Or perhaps you meant to enable BlockAr...
2024-05-13 15:32:25 +0200 <tomsmeding> % let f x = x + 1 in f let y = 17 in y
2024-05-13 15:32:16 +0200 <tomsmeding> what does? let?
2024-05-13 15:31:44 +0200 <mauke> no, lambda doesn't layout in Haskell
2024-05-13 15:31:34 +0200 <tomsmeding> I thought GHC used layout rules :p
2024-05-13 15:31:23 +0200 <mauke> pretty sure
2024-05-13 15:31:11 +0200 <tomsmeding> mauke: are you sure?
2024-05-13 15:31:06 +0200 <yahb2> <interactive>:65:12: error: ; Unexpected lambda expression in function application: ; \ x -> x + 1 ; You could write it with parentheses ; Or perhaps you meant to enable BlockAr...
2024-05-13 15:31:06 +0200 <tomsmeding> % \f -> f 10 \x -> x + 1
2024-05-13 15:29:54 +0200 <mauke> in that a parse error will implicitly terminate the block
2024-05-13 15:29:33 +0200 <mauke> if your lambda calculus uses layout rules for lambda bodies, then it is "right", I think
2024-05-13 15:29:30 +0200 <int-e> you can verify that if you replace each \x.( by (\x. then things make sense with a Haskell-like convention.
2024-05-13 15:28:26 +0200 <mauke> if your lambda calculus uses BlockArguments, then it is "wrong"
2024-05-13 15:28:26 +0200 <int-e> hmm, yes.
2024-05-13 15:28:13 +0200 <int-e> hmm, no
2024-05-13 15:27:45 +0200 <int-e> apparently they use \x.(...) for a lambda abstraction and it binds stronger than application
2024-05-13 15:27:12 +0200 <mauke> depends on what conventions you use
2024-05-13 15:25:42 +0200 <ski> not if that's supposed to be a Y combinator, assuming usual precedence rules for application and lambda abstraction
2024-05-13 15:23:21 +0200 <zzz> is this parenthesized correctly? https://i.stack.imgur.com/WQtuk.jpg
2024-05-13 15:22:29 +0200_bo(~bo@198.red-83-56-252.dynamicip.rima-tde.net)
2024-05-13 15:22:11 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it) (Ping timeout: 264 seconds)
2024-05-13 15:07:52 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it)
2024-05-13 15:07:23 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it) (Ping timeout: 256 seconds)
2024-05-13 15:05:52 +0200zzz(~yin@user/zero)
2024-05-13 15:02:31 +0200 <dmj`> [exa]: very cool, which assembly language
2024-05-13 14:52:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-05-13 14:39:26 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 14:38:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 14:32:52 +0200sandbag(~syscall@user/sandbag)