2023/11/22

2023-11-22 00:00:17 +0100ell(~ellie@user/ellie) (Quit: Leaving)
2023-11-22 00:01:05 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978) (Ping timeout: 260 seconds)
2023-11-22 00:01:10 +0100ell(~ellie@user/ellie)
2023-11-22 00:01:25 +0100tomboy65(~tomboy64@user/tomboy64) (Ping timeout: 255 seconds)
2023-11-22 00:03:32 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 00:05:04 +0100gawen(~gawen@user/gawen) (Quit: cya)
2023-11-22 00:06:06 +0100tomboy64(~tomboy64@user/tomboy64)
2023-11-22 00:08:59 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-11-22 00:13:14 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-11-22 00:14:25 +0100Sgeo(~Sgeo@user/sgeo)
2023-11-22 00:18:36 +0100wroathe(~wroathe@user/wroathe)
2023-11-22 00:26:06 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
2023-11-22 00:27:58 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.1.1)
2023-11-22 00:42:38 +0100 <zzz> it saddens me that one of these is a conflicting definition error and the other isn't
2023-11-22 00:43:34 +0100 <zzz> https://paste.jrvieira.com/1700610208728
2023-11-22 00:44:43 +0100mmhat(~mmh@p200300f1c70e1244ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2023-11-22 00:46:43 +0100 <EvanR> uh what is 1 <- x doing in that guard
2023-11-22 00:47:01 +0100 <c_wraith> It's true. You can't have multiple patterns without an argument to pattern match on
2023-11-22 00:47:07 +0100 <c_wraith> EvanR: it's a pattern guard
2023-11-22 00:47:15 +0100 <EvanR> pattern guards, damn
2023-11-22 00:47:16 +0100 <c_wraith> EvanR: just treat it as x == 1
2023-11-22 00:48:03 +0100 <c_wraith> err. I should say you can't have multiple equations without an argument to pattern match on.
2023-11-22 00:48:13 +0100 <c_wraith> Multiple equations are a property of function definitions
2023-11-22 00:48:21 +0100 <c_wraith> *syntactic* function definitions
2023-11-22 00:48:34 +0100 <EvanR> > let go = 1; go = 2 in go
2023-11-22 00:48:35 +0100 <lambdabot> error:
2023-11-22 00:48:35 +0100 <lambdabot> Conflicting definitions for ‘go’
2023-11-22 00:48:35 +0100 <lambdabot> Bound at: <interactive>:1:5-6
2023-11-22 00:48:42 +0100 <c_wraith> While guards are allowed on any definition
2023-11-22 00:48:45 +0100 <EvanR> > let go _ = 1; go _ = 2 in go
2023-11-22 00:48:47 +0100 <lambdabot> error:
2023-11-22 00:48:47 +0100 <lambdabot> • No instance for (Typeable p0)
2023-11-22 00:48:47 +0100 <lambdabot> arising from a use of ‘show_M83401704667412676088’
2023-11-22 00:48:50 +0100 <EvanR> frag
2023-11-22 00:49:20 +0100 <EvanR> > let go _ = 1; go _ = 2 in go ()
2023-11-22 00:49:21 +0100 <lambdabot> 1
2023-11-22 00:49:34 +0100 <c_wraith> It is a bit of an inconsistency in Haskell's syntax.
2023-11-22 00:49:42 +0100 <c_wraith> But it's a pretty minor one, all told
2023-11-22 00:50:45 +0100 <EvanR> > let [go,_] = [1,2]; [go,_] = [2,1] in go
2023-11-22 00:50:46 +0100 <lambdabot> error:
2023-11-22 00:50:46 +0100 <lambdabot> Conflicting definitions for ‘go’
2023-11-22 00:50:46 +0100 <lambdabot> Bound at: <interactive>:1:6-7
2023-11-22 00:51:19 +0100mima(~mmh@aftr-62-216-211-248.dynamic.mnet-online.de)
2023-11-22 00:52:35 +0100 <ski> > let go | False = True | True = False in go
2023-11-22 00:52:36 +0100 <lambdabot> False
2023-11-22 00:53:05 +0100 <monochrom> In this case, "| otherwise = 0" exists.
2023-11-22 00:53:06 +0100 <ski> pattern equations vs. function equations
2023-11-22 00:53:53 +0100nate4(~nate@98.45.158.125)
2023-11-22 00:53:58 +0100skihas ideas for how to generalize
2023-11-22 00:54:19 +0100 <EvanR> > let [go,_] x = x + 1
2023-11-22 00:54:21 +0100 <lambdabot> <hint>:1:5: error: Parse error in pattern: [go, _]
2023-11-22 00:54:29 +0100 <ski> > (\x x -> x) () ()
2023-11-22 00:54:30 +0100 <lambdabot> error:
2023-11-22 00:54:30 +0100 <lambdabot> • Conflicting definitions for ‘x’
2023-11-22 00:54:31 +0100 <ski> > (\x -> \x -> x) () ()
2023-11-22 00:54:31 +0100 <lambdabot> Bound at: <interactive>:1:3
2023-11-22 00:54:33 +0100 <lambdabot> ()
2023-11-22 00:54:40 +0100 <c_wraith> If you do generalize, can you also get rid of declarations that don't bind names?
2023-11-22 00:54:46 +0100 <c_wraith> > let 1 = 2 in 3
2023-11-22 00:54:47 +0100 <lambdabot> 3
2023-11-22 00:54:48 +0100 <ski> EvanR : that's just a type error, though
2023-11-22 00:54:54 +0100 <monochrom> This is why SML and Lean simply bans multiple function equations and provides an equivalent but different syntax sugar instead. :D
2023-11-22 00:55:29 +0100skimisses `local'-`in'-`end' from SML
2023-11-22 00:55:56 +0100 <ski> c_wraith : that wouldn't be generalizing, now would it ?
2023-11-22 00:56:12 +0100 <c_wraith> it would be part of a greater mission to fix mistakes :P
2023-11-22 00:56:20 +0100 <ski> fair :b
2023-11-22 00:56:45 +0100 <ski> some of the ideas i'm toying with might be regarded as looking strange, though
2023-11-22 00:56:52 +0100 <EvanR> dr sam beckett should have been on the haskell committee
2023-11-22 00:57:13 +0100zetef(~quassel@95.77.17.251) (Ping timeout: 255 seconds)
2023-11-22 00:57:59 +0100 <ski> a taste :
2023-11-22 00:58:02 +0100mmhat(~mmh@p200300f1c70fae30ee086bfffe095315.dip0.t-ipconnect.de)
2023-11-22 00:58:12 +0100 <ski> index :: Stream a -> (Integer -> a)
2023-11-22 00:58:16 +0100 <ski> index (Cons (f 0) (index -> \n -> f (n + 1))) = f
2023-11-22 00:58:34 +0100nate4(~nate@98.45.158.125) (Ping timeout: 255 seconds)
2023-11-22 00:58:38 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-22 00:59:11 +0100 <ski> (apropos "Conflicting definitions for ‘go’")
2023-11-22 00:59:33 +0100 <zzz> > (\x -> \x -> x) 0 1 -- though
2023-11-22 00:59:35 +0100 <lambdabot> 1
2023-11-22 00:59:41 +0100 <ski> aye
2023-11-22 01:00:37 +0100 <zzz> (\forall x. x -> \x -> x) -- :p
2023-11-22 01:00:53 +0100 <monochrom> Wait, how do I read that?
2023-11-22 01:01:00 +0100 <ski> `index' ?
2023-11-22 01:01:04 +0100 <monochrom> Yeah.
2023-11-22 01:01:52 +0100 <monochrom> OK I am beginning to see it.
2023-11-22 01:02:04 +0100 <ski> there's a mechanical translation to existing Haskell
2023-11-22 01:02:06 +0100 <monochrom> "Is this higher-order matching?" butterfly man meme :)
2023-11-22 01:02:37 +0100 <ski> nah, it's just basic lambda patterns (and view patterns, and allowing definiendums in patterns ..)
2023-11-22 01:03:11 +0100 <ski> to match on `\<expr> -> <pat>', you apply the function value to `<expr>' and match the result against `<pat>'
2023-11-22 01:03:20 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2023-11-22 01:03:41 +0100 <ski> except, in the example above, `<pat>' is actually `<defd>' (definiendum)
2023-11-22 01:04:30 +0100 <ski> index (Cons x xs) = f
2023-11-22 01:04:31 +0100 <ski> where
2023-11-22 01:04:36 +0100 <ski> f 0 = x
2023-11-22 01:04:50 +0100 <ski> (index -> \n -> f (n + 1)) = xs
2023-11-22 01:04:51 +0100 <ski> or
2023-11-22 01:04:59 +0100 <ski> \n -> f (n + 1) = index xs
2023-11-22 01:05:00 +0100 <ski> or
2023-11-22 01:05:06 +0100 <ski> f (n + 1) = index xs n
2023-11-22 01:07:01 +0100 <ski> @let tabulate :: Ix i => (i,i) -> (i -> e) -> Array i e; tabulate ix f = listArray [f i | i <- range ix]
2023-11-22 01:07:02 +0100 <lambdabot> /sandbox/tmp/.L.hs:175:17: error:
2023-11-22 01:07:02 +0100 <lambdabot> • Couldn't match expected type ‘Array i e’
2023-11-22 01:07:02 +0100 <lambdabot> with actual type ‘[e0] -> Array i0 e0’
2023-11-22 01:07:10 +0100sabino(~sabino@user/sabino) (Quit: Lambda _ -> x)
2023-11-22 01:07:15 +0100 <ski> @let tabulate :: Ix i => (i,i) -> (i -> e) -> Array i e; tabulate ix f = listArray ix [f i | i <- range ix]
2023-11-22 01:07:17 +0100 <lambdabot> Defined.
2023-11-22 01:07:42 +0100 <ski> @let memoArray :: Ix i => (i -> e) -> (i -> e); memoArray f = (tabulate f !)
2023-11-22 01:07:43 +0100 <lambdabot> /sandbox/tmp/.L.hs:177:16: error:
2023-11-22 01:07:43 +0100 <lambdabot> Ambiguous occurrence ‘tabulate’
2023-11-22 01:07:43 +0100 <lambdabot> It could refer to
2023-11-22 01:07:50 +0100 <ski> @let memoArray :: Ix i => (i -> e) -> (i -> e); memoArray f = (L.tabulate f !)
2023-11-22 01:07:51 +0100 <lambdabot> /sandbox/tmp/.L.hs:177:16: error:
2023-11-22 01:07:51 +0100 <lambdabot> • Couldn't match expected type ‘Array i e’
2023-11-22 01:07:51 +0100 <lambdabot> with actual type ‘(i0 -> e0) -> Array i0 e0’
2023-11-22 01:08:15 +0100 <ski> er, sorry, need ix
2023-11-22 01:08:24 +0100 <ski> @let memoArray :: Ix i => (i,i) -> (i -> e) -> (i -> e); memoArray ix f = (L.tabulate ix f !)
2023-11-22 01:08:26 +0100 <lambdabot> Defined.
2023-11-22 01:09:13 +0100 <monochrom> Oh yeah that's Löb's combinator. :)
2023-11-22 01:09:27 +0100 <ski> > let (memoArray (0,12) -> fib12) = \case 0 -> 0; 1 -> 1; n -> fib12 (n-1) + fib12 (n-2) in map fib12 [0 .. 12]
2023-11-22 01:09:28 +0100 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144]
2023-11-22 01:09:46 +0100 <ski> (just to illustrate that you can use view patterns also in pattern definitions, not just in arguments in function definitions)
2023-11-22 01:10:07 +0100 <ski> .. unfortunately, `(memoArray (0,12) -> fib12) n' does not work, though, no parse
2023-11-22 01:10:20 +0100 <ski> (not quite Löb, just memoing)
2023-11-22 01:12:11 +0100 <ski> monochrom : anyway, in `\n -> f (n + 1)', the pattern `n + 1' binds `n' (`NPlusKPatterns'), and is used in the expression `n' in the `\n ->' part
2023-11-22 01:12:32 +0100 <ski> (and is discharged above that, when we transition from definiendum to pattern)
2023-11-22 01:12:42 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 01:13:25 +0100 <ski> (guess i could have said `\(n - 1) -> f n' instead. but then you have to think about ordering. probably should be left-to-right anyway)
2023-11-22 01:13:41 +0100 <ski> monochrom : makes sense, now ?
2023-11-22 01:14:25 +0100chomwitt(~chomwitt@2a02:587:7a24:bc00:1ac0:4dff:fedb:a3f1) (Ping timeout: 255 seconds)
2023-11-22 01:14:45 +0100 <ski> imagine writing
2023-11-22 01:15:21 +0100 <ski> map (\x -> y)@(map -> \xs -> ys) (x:xs) = y:ys
2023-11-22 01:15:40 +0100 <ski> there's lots of fun stuff like that one could possibly be doing
2023-11-22 01:15:57 +0100 <ski> (of course, whether one *should* is another question. but it would be nice to have the option, i think)
2023-11-22 01:16:32 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-11-22 01:17:22 +0100 <ski> anyway, the pattern `\<expr> -> <pat>' (not the `<defd>' version) is equivalent to `($ <expr>) -> <pat>' (view patterns)
2023-11-22 01:17:25 +0100tv(~tv@user/tv) (Ping timeout: 245 seconds)
2023-11-22 01:18:00 +0100 <zzz> in the same vein from my previous example: https://paste.jrvieira.com/1700612270215
2023-11-22 01:18:01 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 276 seconds)
2023-11-22 01:18:08 +0100 <ski> an observation on a function amounts to feeding it some input, and seeing what the corresponding output is
2023-11-22 01:19:07 +0100 <ski> (i got the idea of observation here from "Topolog Via Logic" by Steven Vickers. it's about semantics, lattices, frames, and such. but i figured one should be able to use this as syntax for a feature in pattern-matching)
2023-11-22 01:20:15 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-11-22 01:21:15 +0100 <ski> zzz : unfortunatly, no result type signatures in definiendums :(
2023-11-22 01:21:21 +0100 <ski> (this is also something i miss from SML)
2023-11-22 01:21:47 +0100 <ski> (also, your second piece of code has type errors .. but that's a fixable issue)
2023-11-22 01:22:03 +0100 <zzz> (yes i fixed it as soon i saw it)
2023-11-22 01:22:05 +0100 <ski> f x :: Bool
2023-11-22 01:22:15 +0100 <ski> | x = id x
2023-11-22 01:22:17 +0100 <ski> | otherwise | not x
2023-11-22 01:22:32 +0100 <ski> .. not sure if you could avoid repeaing `x' there
2023-11-22 01:23:21 +0100 <ski> (of course, you could also say `f (x :: Bool) :: Bool', a la SML. except that, no result type signatures)
2023-11-22 01:24:06 +0100 <ski> map (\(_ :: a) -> _ :: b) (_ !! _ :: a) !! _ :: b
2023-11-22 01:24:25 +0100 <ski> (just going nuts with "Declaration follows use." a la C)
2023-11-22 01:24:55 +0100 <zzz> i guess what triggers me is that guards are allowed in value definitions in the first place
2023-11-22 01:25:05 +0100 <ski> why ?
2023-11-22 01:25:15 +0100 <ski> it's quite handy, at times
2023-11-22 01:25:23 +0100 <zzz> dont get me wrong, i love it
2023-11-22 01:25:28 +0100Guest16(~Guest16@c-73-181-110-71.hsd1.co.comcast.net)
2023-11-22 01:25:29 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-11-22 01:25:34 +0100 <ski> .. of course, i'd still want proper definition conditionals, and definition `case's
2023-11-22 01:25:45 +0100 <zzz> but it gives rise to these "inconsistencies"
2023-11-22 01:25:47 +0100califax(~califax@user/califx)
2023-11-22 01:26:10 +0100 <ski> what's the inconsistency that you have in mind ?
2023-11-22 01:26:12 +0100lbseale(~quassel@user/ep1ctetus)
2023-11-22 01:26:20 +0100 <ski> if ...
2023-11-22 01:26:24 +0100 <ski> then
2023-11-22 01:26:27 +0100Guest16(~Guest16@c-73-181-110-71.hsd1.co.comcast.net) (Client Quit)
2023-11-22 01:26:30 +0100 <ski> f x = ..x..
2023-11-22 01:26:32 +0100 <ski> else
2023-11-22 01:26:34 +0100 <ski> f x = ..x..
2023-11-22 01:26:37 +0100 <ski> please ^
2023-11-22 01:27:13 +0100 <zzz> oh no. why would you want that?
2023-11-22 01:27:29 +0100 <ski> alternate definitions, depending on context
2023-11-22 01:27:39 +0100 <ski> said context could e.g. be referring to platform constants
2023-11-22 01:27:59 +0100 <ski> (in that case, an implementation could dead-code-eliminate away all but one definition)
2023-11-22 01:28:45 +0100 <ski> local
2023-11-22 01:28:52 +0100 <ski> f x = ..x..f..g..
2023-11-22 01:28:58 +0100 <ski> g x = ..x..f..g..
2023-11-22 01:29:00 +0100 <ski> in
2023-11-22 01:29:15 +0100 <ski> h x = ..x..f..g..h..i..
2023-11-22 01:29:21 +0100 <ski> i x y = ..x..y..f..g..h..i..
2023-11-22 01:29:27 +0100 <ski> is also useful, sometimes
2023-11-22 01:29:43 +0100 <ski> (basically a `let'-`in' at declaration level)
2023-11-22 01:29:52 +0100 <ski> `f' and `g' are local, `h' and `i' are not
2023-11-22 01:30:06 +0100 <zzz> i see
2023-11-22 01:30:12 +0100 <ski> consider how many times you've said
2023-11-22 01:30:18 +0100 <ski> foobar ... = (foo,bar)
2023-11-22 01:30:20 +0100 <ski> where
2023-11-22 01:30:23 +0100 <ski> foo x = ...
2023-11-22 01:30:27 +0100 <ski> bar y z = ...
2023-11-22 01:31:31 +0100 <ski> er, sorry, `foobar ...' was supposed to be `(myFoo,myBar)', in this case. allowing parameters is more complicated, i think
2023-11-22 01:31:45 +0100 <ski> basically, you want some local defi
2023-11-22 01:31:54 +0100 <ski> nitions scope over multiple declarations
2023-11-22 01:32:27 +0100 <ski> of course, one can use modules for hiding local stuff. but often i want more finegrained control, for longer modules
2023-11-22 01:34:33 +0100 <ski> .. i'd also like special support for `if' and `case' inside do, so that branches would contain sequences of commands (*without* starting a new `do', and without needing to end with an expression)
2023-11-22 01:34:38 +0100 <ski> if ...
2023-11-22 01:34:40 +0100 <ski> then
2023-11-22 01:34:48 +0100 <ski> putStrLn ...
2023-11-22 01:34:57 +0100 <ski> (x,y) <- ...
2023-11-22 01:35:00 +0100 <ski> else
2023-11-22 01:35:04 +0100 <ski> x <- ...
2023-11-22 01:35:07 +0100 <ski> ...
2023-11-22 01:35:10 +0100 <ski> y <- ...
2023-11-22 01:35:25 +0100 <ski> and `x' and `y' are in scope after this
2023-11-22 01:36:11 +0100 <ski> it should also be possible to apply some wrapper function around a subsequence of commands, as long as that wrapper function is *polymorphic* in the result
2023-11-22 01:36:24 +0100 <ski> so, has type `forall a. m a -> m a'
2023-11-22 01:36:47 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 01:37:11 +0100 <ski> (btw, Erlang has this "bind a variable in all branches, it's then in scope afterwards" thing. it got it from Prolog)
2023-11-22 01:38:12 +0100mmhat(~mmh@p200300f1c70fae30ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.1.1)
2023-11-22 01:38:16 +0100 <ski> (that stuff about polymorphism already exists for `TransformListComp' (SQL-like additions like "group" and some more))
2023-11-22 01:38:51 +0100 <ski> (iirc, the "wrapper function" thing also exist for arrow syntax)
2023-11-22 01:40:24 +0100 <ski> .. i guess one could also allow `forall a. m a -> m (a,t)' (or so), and then you'd have to do `z <- if ....', where `z' gets type `t'
2023-11-22 01:41:44 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-11-22 01:45:53 +0100shapr(~user@2600:1700:c640:3100:10bd:417a:786b:3407) (Remote host closed the connection)
2023-11-22 01:46:07 +0100shapr(~user@2600:1700:c640:3100:740e:a0c5:306f:88bb)
2023-11-22 01:50:19 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-11-22 01:51:12 +0100kayvan(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2023-11-22 01:55:50 +0100 <monochrom> ski: Between Löb and memoization: http://www.vex.net/~trebla/tmp/Loeb.hs
2023-11-22 01:56:57 +0100 <monochrom> TLDR: ((Int -> a) -> (Int -> a)) -> Int -> a ≅ (Int -> ((Int -> a) -> -> a)) -> Int -> a ≅ [] ([]a -> a) -> [] a (or replace [] by any functor that Int-> represents)
2023-11-22 01:57:00 +0100 <ski> yea, i would've used `($ xs) <$>'
2023-11-22 01:57:12 +0100 <ski> (no need for `Applicative')
2023-11-22 01:57:28 +0100 <ski> ah, i see you do, later :)
2023-11-22 01:58:20 +0100 <monochrom> I think I started with generalizing from "x = f x" to "x = foo <*> pure x".
2023-11-22 01:58:51 +0100 <monochrom> Natural intuitive generalizations are often suboptimal generalizations. :)
2023-11-22 01:59:30 +0100 <ski> yep, you're basically using `memoFix :: Ix i => (i,i) -> ((i -> e) -> (i -> e)) -> (i -> e)', which is fine. difference with mine is that i inserted the `memoArray' into the recursive cycle directly, rather than factoring out recursion
2023-11-22 02:00:05 +0100 <ski> it's nice, i hadn't even thought of approaching it starting from `Applicative'
2023-11-22 02:00:50 +0100 <ski> ah .. that translation from `memoFix'/`memo_list' to `loeb' is indeed quite nice :)
2023-11-22 02:02:10 +0100 <ski> (i see you're using the name `tabulate' as well, i shouldn't be surprised, given that you're well familiar with SML ;)
2023-11-22 02:02:23 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-11-22 02:03:16 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978)
2023-11-22 02:03:27 +0100 <monochrom> Hrm, I didn't get the name "tabulate" from SML. But I got it from the Hutton APLicative paper linked there.
2023-11-22 02:03:30 +0100califax(~califax@user/califx)
2023-11-22 02:05:01 +0100 <ski> btw, if you haven't seen it before : "(The Cartoon Guide to) Löb's Theorem" by Eliezer Yudkowsky(,with thanks to Torkel Franzén,Marcello Herreshoff) in 2008 at <https://web.archive.org/web/20150430235615/http://www.yudkowsky.net/assets/44/LobsTheorem.pdf>
2023-11-22 02:05:23 +0100 <ski> ah, probably Hutton got it from there, then
2023-11-22 02:07:05 +0100 <ski> oh, and yes, the proof of Löb is basically the fixed-point combinator, with some quasiquotations thrown into the mix
2023-11-22 02:07:30 +0100kayvan(~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection)
2023-11-22 02:07:32 +0100 <ski> (instructive to try, in Scheme)
2023-11-22 02:08:22 +0100 <ski> - List.tabulate;
2023-11-22 02:08:31 +0100 <ski> val it = fn : int * (int -> 'a) -> 'a list
2023-11-22 02:08:59 +0100 <ski> (also in `Vector' and `Array')
2023-11-22 02:09:28 +0100 <ski> @type Data.Vector.generate
2023-11-22 02:09:29 +0100 <lambdabot> Int -> (Int -> a) -> Data.Vector.Vector a
2023-11-22 02:11:54 +0100 <ski> non-Springer : <https://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/aplicative.pdf>
2023-11-22 02:12:03 +0100 <ski> (haven't seen this one before, ty)
2023-11-22 02:12:33 +0100mima(~mmh@aftr-62-216-211-248.dynamic.mnet-online.de) (Ping timeout: 256 seconds)
2023-11-22 02:13:28 +0100 <ski> also relevant "What is a Naperian container?" <https://web.archive.org/web/20160325011523/http://sneezy.cs.nott.ac.uk/containers/blog/?p=14>
2023-11-22 02:16:50 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 260 seconds)
2023-11-22 02:16:51 +0100 <ski> oh, also re arrays : "Multi-dimensional array views for systems programmers" by pervognsen (Per Vognsen) at 2019-01-20(?) - 2019-04-30 at <https://gist.github.com/pervognsen/0e1be3b683d62b16fd81381c909bf67e> is quite interesting
2023-11-22 02:19:07 +0100 <ski> (this also ties into addition,multiplication,exponentiation on naturals (related to lists, continuations, and logic programming), and related operations on `Fin n' .. addition is "laying out side by side", multiplication is "coordinates", and exponentiation is "base numeral system")
2023-11-22 02:19:45 +0100 <ski> (well, you could say "offsets", rather than "laying out side by side")
2023-11-22 02:20:37 +0100 <ski> the lifting from scalar in the paper is related to ellipsis patterns and templates in `syntax-rules' in Scheme
2023-11-22 02:24:31 +0100 <monochrom> Ugh, now my paper collection has an aplicative.pdf and an Applicative.pdf. Not confuing at all. :)
2023-11-22 02:26:43 +0100 <EvanR> good thing your filesystem isn't case insensitive AND run-length insensitive
2023-11-22 02:27:05 +0100 <monochrom> haha imagine a running-length-insensitive system
2023-11-22 02:28:36 +0100 <ski> no repetition for you
2023-11-22 02:29:01 +0100 <ski> now i'm wondering how much that decreases number of bits
2023-11-22 02:29:52 +0100 <ski> instead of `d^n', we get `d*(d-1)^(n-1)'
2023-11-22 02:30:02 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978) (Ping timeout: 256 seconds)
2023-11-22 02:30:39 +0100 <monochrom> Yeah
2023-11-22 02:31:10 +0100 <ski> (log d + (n-1) * log (d-1)) / (n * log d)
2023-11-22 02:31:45 +0100 <ski> 1/n + ((n-1)/n) * (log (d-1))/(log d)
2023-11-22 02:36:50 +0100 <ski> anyway, that `Log f' in `Naperian f' reminds me of elasticity of demand, `E f'. where `E f * f a = D f a * a'. `D f a' is the one-hole context, and `E f' is the path
2023-11-22 02:41:18 +0100 <ski> (hm, their `Log f = p', if `f a = p -> a' (all `a'), doesn't look like an exact analogy. i suppose you could say `Log f = Log_a (f a)' for all `a' (iow, assuming constancy))
2023-11-22 02:43:08 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 02:48:01 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-11-22 03:00:16 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-11-22 03:00:44 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-11-22 03:02:54 +0100pointlessslippe1(~pointless@212.82.82.3) (Ping timeout: 256 seconds)
2023-11-22 03:09:05 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds)
2023-11-22 03:10:11 +0100pointlessslippe1(~pointless@212.82.82.3)
2023-11-22 03:29:56 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 03:31:47 +0100ft_(~ft@p508db3bc.dip0.t-ipconnect.de)
2023-11-22 03:33:35 +0100ft(~ft@p508db3bc.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-11-22 03:33:37 +0100ft_ft
2023-11-22 03:34:35 +0100xff0x(~xff0x@2405:6580:b080:900:5540:e72e:d839:e215) (Ping timeout: 256 seconds)
2023-11-22 03:34:43 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-11-22 03:37:56 +0100phma(phma@2001:5b0:210b:89e8:2742:c8bf:8662:607d) (Read error: Connection reset by peer)
2023-11-22 03:38:20 +0100phma(phma@2001:5b0:210b:89e8:2742:c8bf:8662:607d)
2023-11-22 03:58:43 +0100 <hammond> so template haskell is the macro system for haskell kinda?
2023-11-22 04:02:32 +0100otto_s(~user@p5b044278.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-11-22 04:03:09 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-11-22 04:03:09 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-11-22 04:03:09 +0100finn_elijaFinnElija
2023-11-22 04:03:58 +0100otto_s(~user@p4ff27388.dip0.t-ipconnect.de)
2023-11-22 04:07:11 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 264 seconds)
2023-11-22 04:07:34 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-11-22 04:09:39 +0100 <ski> hammond : kinda
2023-11-22 04:11:53 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-11-22 04:14:59 +0100td_(~td@i5387093B.versanet.de) (Ping timeout: 264 seconds)
2023-11-22 04:15:28 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 276 seconds)
2023-11-22 04:16:14 +0100td_(~td@i53870926.versanet.de)
2023-11-22 04:16:23 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 04:16:43 +0100edr(~edr@user/edr) (Quit: Leaving)
2023-11-22 04:16:55 +0100johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-11-22 04:19:35 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-11-22 04:28:46 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978)
2023-11-22 04:36:54 +0100Guest20(~Guest21@2607:fea8:4ce3:8b00:4068:4af2:ef01:b2ee)
2023-11-22 04:37:52 +0100 <hammond> ski i havent seen how it worked, but can you change the syntax of the language with it for example?
2023-11-22 04:38:01 +0100 <hammond> ppl make it sound complex.
2023-11-22 04:38:19 +0100Guest20(~Guest21@2607:fea8:4ce3:8b00:4068:4af2:ef01:b2ee) (Client Quit)
2023-11-22 04:38:58 +0100 <ski> not really. you write `$(foo bar baz)' to splice in code that's executed at compile-time
2023-11-22 04:39:50 +0100 <ski> you can also have quasiquotations, `[foo| ... ]', where `foo' gets passed `...' as a string
2023-11-22 04:40:34 +0100 <ski> but it's not really for custom concrete syntax (the way that CamlP4 in OCaml works, e.g.)
2023-11-22 04:41:50 +0100johnw(~johnw@69.62.242.138)
2023-11-22 04:41:54 +0100 <hammond> I see.
2023-11-22 04:41:54 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978) (Read error: Connection reset by peer)
2023-11-22 04:42:10 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978)
2023-11-22 04:43:11 +0100m257(~maaz@bras-base-hspron0502w-grc-02-184-147-203-180.dsl.bell.ca) (Ping timeout: 264 seconds)
2023-11-22 04:43:39 +0100 <ski> (reminds me of a project with quasiquotations, interpreting (parsing) the body as Haskell, but then translating that in an interesting way, that i haven't worked on in a while)
2023-11-22 04:47:19 +0100Square2(~Square4@user/square) (Ping timeout: 276 seconds)
2023-11-22 04:47:36 +0100shapr(~user@2600:1700:c640:3100:740e:a0c5:306f:88bb) (Remote host closed the connection)
2023-11-22 04:47:49 +0100shapr(~user@2600:1700:c640:3100:695f:d0b:a0eb:640c)
2023-11-22 04:50:25 +0100lottaquestions_(~nick@2607:fa49:503d:b200:33ec:47ab:d48a:3020)
2023-11-22 04:50:43 +0100lottaquestions(~nick@2607:fa49:503d:b200:103e:31e4:ac33:5629) (Ping timeout: 260 seconds)
2023-11-22 04:50:49 +0100koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Remote host closed the connection)
2023-11-22 04:52:14 +0100koala_man(~vidar@157.146.251.23.bc.googleusercontent.com)
2023-11-22 04:59:57 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2023-11-22 05:02:41 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-11-22 05:04:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978) (Remote host closed the connection)
2023-11-22 05:05:06 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978)
2023-11-22 05:06:44 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-11-22 05:10:04 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978) (Ping timeout: 276 seconds)
2023-11-22 05:18:50 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-11-22 05:20:20 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-11-22 05:21:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978)
2023-11-22 05:41:52 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 05:45:37 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 246 seconds)
2023-11-22 05:46:07 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 255 seconds)
2023-11-22 05:46:35 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 05:48:24 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 05:48:31 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2023-11-22 05:49:50 +0100rosco(~rosco@175.136.157.149)
2023-11-22 05:50:54 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 05:50:57 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 05:51:32 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 05:51:32 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 05:53:50 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 260 seconds)
2023-11-22 05:54:51 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 05:54:54 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 05:55:47 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-11-22 05:57:32 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 05:57:33 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 05:59:58 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:00:57 +0100aforemny_(~aforemny@i59F516C5.versanet.de)
2023-11-22 06:02:14 +0100aforemny(~aforemny@2001:9e8:6cda:4700:b553:6b25:ff55:5d85) (Ping timeout: 260 seconds)
2023-11-22 06:02:21 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:05:06 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:05:07 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:07:31 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:07:51 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:10:17 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:11:55 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:16:46 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:20:50 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:23:23 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:23:24 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:23:55 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:23:58 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:26:36 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:26:36 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:27:12 +0100notzmv(~zmv@user/notzmv)
2023-11-22 06:29:36 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:31:58 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:32:28 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:32:29 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:32:31 +0100califax(~califax@user/califx) (Ping timeout: 240 seconds)
2023-11-22 06:33:08 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:33:19 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-11-22 06:33:28 +0100califax(~califax@user/califx)
2023-11-22 06:36:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-11-22 06:37:03 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:39:34 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:39:47 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:42:10 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:42:13 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 06:42:33 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:45:01 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:45:02 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:45:32 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:45:33 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:46:14 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:46:15 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:46:44 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-11-22 06:47:14 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:47:17 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:47:57 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:47:58 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:52:46 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:53:05 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 06:55:22 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 06:59:43 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-11-22 07:14:34 +0100zetef(~quassel@95.77.17.251)
2023-11-22 07:17:54 +0100yaxe1(~yaxe1@user/yaxe1)
2023-11-22 07:19:23 +0100trev(~trev@user/trev)
2023-11-22 07:22:47 +0100chomwitt(~chomwitt@2a02:587:7a24:bc00:1ac0:4dff:fedb:a3f1)
2023-11-22 07:23:23 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-11-22 07:24:44 +0100yaxe1_(~yaxe1@user/yaxe1)
2023-11-22 07:27:54 +0100alp_(~alp@2001:861:e3d6:8f80:47b6:3219:584d:839)
2023-11-22 07:28:47 +0100yaxe1(~yaxe1@user/yaxe1) (Ping timeout: 264 seconds)
2023-11-22 07:34:51 +0100yaxe1_(~yaxe1@user/yaxe1) (Ping timeout: 256 seconds)
2023-11-22 07:46:58 +0100Xyloes(~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04)
2023-11-22 08:04:47 +0100acidjnk(~acidjnk@p200300d6e72b93351de783cd8454c847.dip0.t-ipconnect.de)
2023-11-22 08:05:01 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 256 seconds)
2023-11-22 08:07:29 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
2023-11-22 08:10:22 +0100ubert(~Thunderbi@178.115.68.48.wireless.dyn.drei.com)
2023-11-22 08:14:13 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-11-22 08:14:30 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2023-11-22 08:17:04 +0100califax(~califax@user/califx)
2023-11-22 08:18:24 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-11-22 08:20:31 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
2023-11-22 08:25:12 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
2023-11-22 08:31:34 +0100Buggys(Buggys@shelltalk.net) (Ping timeout: 260 seconds)
2023-11-22 08:38:30 +0100[_________](~oos95GWG@user/oos95GWG) (Quit: [_________])
2023-11-22 08:39:00 +0100[_________](~oos95GWG@user/oos95GWG)
2023-11-22 08:39:37 +0100lortabac(~lorenzo@2a01:e0a:541:b8f0:ec7c:79cd:c63a:f4f8)
2023-11-22 08:41:33 +0100Buggys(Buggys@Buggy.shelltalk.net)
2023-11-22 08:42:22 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 246 seconds)
2023-11-22 08:42:51 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
2023-11-22 08:43:55 +0100SrPx(sid108780@uxbridge.irccloud.com)
2023-11-22 08:44:10 +0100davetapley(sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 260 seconds)
2023-11-22 08:45:58 +0100SrPx(sid108780@uxbridge.irccloud.com) (Max SendQ exceeded)
2023-11-22 08:46:27 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-22 08:46:33 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 260 seconds)
2023-11-22 08:47:42 +0100superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split)
2023-11-22 08:47:42 +0100davetapley(sid666@uxbridge.irccloud.com)
2023-11-22 08:48:16 +0100SrPx(sid108780@uxbridge.irccloud.com)
2023-11-22 08:49:40 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com)
2023-11-22 08:50:37 +0100zetef(~quassel@95.77.17.251) (Ping timeout: 255 seconds)
2023-11-22 08:51:58 +0100mc47(~mc47@xmonad/TheMC47)
2023-11-22 08:54:01 +0100yaxe1(~yaxe1@user/yaxe1)
2023-11-22 08:54:52 +0100superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2023-11-22 09:01:24 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-22 09:01:43 +0100zetef(~quassel@95.77.17.251)
2023-11-22 09:02:47 +0100gmg(~user@user/gehmehgeh)
2023-11-22 09:03:22 +0100alp_(~alp@2001:861:e3d6:8f80:47b6:3219:584d:839) (Ping timeout: 246 seconds)
2023-11-22 09:04:11 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-11-22 09:05:53 +0100alp_(~alp@2001:861:e3d6:8f80:2854:b41c:efae:b69b)
2023-11-22 09:06:09 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-22 09:13:57 +0100ThofVe(~ThofVe@178.208.16.70)
2023-11-22 09:19:04 +0100poscat0x04(~poscat@user/poscat)
2023-11-22 09:19:20 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2023-11-22 09:20:15 +0100nucranium(~nucranium@2a02:8010:6173:0:7d81:65c5:a598:8bba)
2023-11-22 09:20:53 +0100CiaoSen(~Jura@2a05:5800:27e:6600:2a3a:4dff:fe84:dbd5)
2023-11-22 09:20:58 +0100poscat(~poscat@user/poscat) (Ping timeout: 276 seconds)
2023-11-22 09:24:20 +0100mima(~mmh@aftr-62-216-211-165.dynamic.mnet-online.de)
2023-11-22 09:25:25 +0100nucranium(~nucranium@2a02:8010:6173:0:7d81:65c5:a598:8bba) (Quit: WeeChat 4.0.5)
2023-11-22 09:29:16 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 09:31:00 +0100 <Athas> Is there a package on Hackage that exposes the entire C math.h library?
2023-11-22 09:36:40 +0100 <probie> Is there much incentive to write one? You can already just use them with something like `foreign import unsafe "capi" "math.h atan2" c_atan2 :: Double -> Double -> Double`
2023-11-22 09:36:56 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-11-22 09:37:32 +0100rosco(~rosco@175.136.157.149) (Quit: Lost terminal)
2023-11-22 09:41:58 +0100 <Athas> Yeah, that's what I do. But maybe I can be the last one to do so.
2023-11-22 09:42:02 +0100Shock_(~shOkEy@85-238-77-96.pool.digikabel.hu) (Ping timeout: 260 seconds)
2023-11-22 09:42:12 +0100 <Athas> It is somewhat annoying that they are not already in base somewhere.
2023-11-22 09:42:26 +0100 <Lycurgus> nothing to generate that?
2023-11-22 09:42:30 +0100 <Athas> I'm not sure base has any way to round floats properly, actually.
2023-11-22 09:51:36 +0100fendor(~fendor@2a02:8388:1640:be00:8705:c56:c793:802b)
2023-11-22 09:51:47 +0100 <probie> It has ways to round them to `Int`s and `Integer`s, and then you can convert them back, but I guess that's awkward since it won't handle NaN or infinities properly
2023-11-22 09:54:38 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2023-11-22 09:54:47 +0100shapr(~user@2600:1700:c640:3100:695f:d0b:a0eb:640c) (Remote host closed the connection)
2023-11-22 09:55:00 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-11-22 09:55:01 +0100shapr(~user@2600:1700:c640:3100:e532:46ea:2417:b949)
2023-11-22 09:58:22 +0100cstml(~cstml@user/cstml) (Ping timeout: 260 seconds)
2023-11-22 09:58:48 +0100ThofVe(~ThofVe@178.208.16.70) (Ping timeout: 250 seconds)
2023-11-22 09:59:43 +0100chele(~chele@user/chele)
2023-11-22 10:00:05 +0100zetef(~quassel@95.77.17.251) (Ping timeout: 240 seconds)
2023-11-22 10:03:04 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-11-22 10:04:04 +0100ThofVe(~ThofVe@178.208.16.70)
2023-11-22 10:05:30 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-22 10:10:34 +0100Shock_(~shOkEy@178-164-206-123.pool.digikabel.hu)
2023-11-22 10:11:43 +0100dhil(~dhil@2001:8e0:2014:3100:5987:a1c5:570d:50dd)
2023-11-22 10:17:23 +0100forell(~forell@user/forell) (Ping timeout: 264 seconds)
2023-11-22 10:17:29 +0100forell_(~forell@host-178-216-90-220.sta.tvknaszapraca.pl)
2023-11-22 10:18:28 +0100notzmv(~zmv@user/notzmv)
2023-11-22 10:23:16 +0100yaxe1(~yaxe1@user/yaxe1) (Remote host closed the connection)
2023-11-22 10:24:53 +0100yaxe1(~yaxe1@user/yaxe1)
2023-11-22 10:25:02 +0100yaxe1(~yaxe1@user/yaxe1) (Remote host closed the connection)
2023-11-22 10:25:15 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-11-22 10:29:04 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
2023-11-22 10:37:51 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2023-11-22 10:38:16 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-11-22 10:39:38 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:19c0:53d0:5da5:a978) (Remote host closed the connection)
2023-11-22 10:42:50 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2023-11-22 10:43:13 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 10:43:56 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 268 seconds)
2023-11-22 10:46:08 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2023-11-22 10:46:54 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-22 10:47:53 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-11-22 10:53:14 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2023-11-22 10:53:32 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-11-22 10:56:55 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-11-22 10:57:09 +0100Jackneill_(~Jackneill@20014C4E1E1205003CA6608F8946CB70.dsl.pool.telekom.hu)
2023-11-22 11:00:32 +0100danse-nr3(~danse@151.57.186.185)
2023-11-22 11:00:39 +0100zetef(~quassel@95.77.17.251)
2023-11-22 11:05:39 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2023-11-22 11:05:47 +0100zetef(~quassel@95.77.17.251) (Ping timeout: 256 seconds)
2023-11-22 11:06:51 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-11-22 11:07:34 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
2023-11-22 11:08:16 +0100Lord_of_Life_Lord_of_Life
2023-11-22 11:11:52 +0100hays(rootvegeta@fsf/member/hays)
2023-11-22 11:12:01 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds)
2023-11-22 11:13:53 +0100mmhat(~mmh@p200300f1c70fae30ee086bfffe095315.dip0.t-ipconnect.de)
2023-11-22 11:16:06 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 11:17:08 +0100__monty__(~toonn@user/toonn)
2023-11-22 11:19:37 +0100zetef(~quassel@95.77.17.251)
2023-11-22 11:22:32 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
2023-11-22 11:37:43 +0100rosco(~rosco@175.136.157.149)
2023-11-22 11:38:46 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds)
2023-11-22 11:40:50 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2023-11-22 11:42:34 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
2023-11-22 11:45:30 +0100gawen(~gawen@user/gawen)
2023-11-22 11:46:52 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-22 11:47:45 +0100img(~img@user/img)
2023-11-22 11:52:44 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-22 11:53:37 +0100img(~img@user/img)
2023-11-22 12:03:15 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Ping timeout: 245 seconds)
2023-11-22 12:03:46 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-11-22 12:04:28 +0100euleritian(~euleritia@dynamic-046-114-200-003.46.114.pool.telefonica.de)
2023-11-22 12:04:53 +0100zetef(~quassel@95.77.17.251) (Ping timeout: 260 seconds)
2023-11-22 12:05:01 +0100mixfix41(~plaguedog@user/mixfix41) (Ping timeout: 268 seconds)
2023-11-22 12:05:31 +0100motherfsck(~motherfsc@user/motherfsck)
2023-11-22 12:07:29 +0100CiaoSen(~Jura@2a05:5800:27e:6600:2a3a:4dff:fe84:dbd5) (Ping timeout: 268 seconds)
2023-11-22 12:10:15 +0100alp_(~alp@2001:861:e3d6:8f80:2854:b41c:efae:b69b) (Ping timeout: 256 seconds)
2023-11-22 12:12:50 +0100xff0x(~xff0x@2405:6580:b080:900:7037:3ff0:3081:873c)
2023-11-22 12:13:38 +0100euleritian(~euleritia@dynamic-046-114-200-003.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-22 12:13:56 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-22 12:18:54 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-22 12:19:30 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-22 12:20:30 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 256 seconds)
2023-11-22 12:21:04 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-11-22 12:22:04 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-11-22 12:22:27 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-22 12:23:09 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-22 12:23:20 +0100gmg(~user@user/gehmehgeh)
2023-11-22 12:25:41 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
2023-11-22 12:26:50 +0100sawilagar(~sawilagar@user/sawilagar)
2023-11-22 12:28:36 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2023-11-22 12:31:34 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-11-22 12:31:41 +0100kritzefitz_(~kritzefit@debian/kritzefitz)
2023-11-22 12:33:03 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
2023-11-22 12:36:32 +0100kritzefitz_kritzefitz
2023-11-22 12:38:55 +0100rosco(~rosco@175.136.157.149) (Quit: Lost terminal)
2023-11-22 12:42:26 +0100ubert(~Thunderbi@178.115.68.48.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2023-11-22 12:42:46 +0100ubert(~Thunderbi@178.115.68.48.wireless.dyn.drei.com)
2023-11-22 12:43:34 +0100ubert(~Thunderbi@178.115.68.48.wireless.dyn.drei.com) (Remote host closed the connection)
2023-11-22 12:43:54 +0100ThofVe(~ThofVe@178.208.16.70) (Ping timeout: 250 seconds)
2023-11-22 12:47:47 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2023-11-22 12:47:56 +0100euleritian(~euleritia@dynamic-046-114-200-003.46.114.pool.telefonica.de)
2023-11-22 12:48:45 +0100dhil(~dhil@2001:8e0:2014:3100:5987:a1c5:570d:50dd) (Read error: Connection reset by peer)
2023-11-22 12:52:11 +0100dhil(~dhil@2001:8e0:2014:3100:e64:a377:2b5c:81b6)
2023-11-22 12:56:17 +0100alp_(~alp@2001:861:e3d6:8f80:96af:bfe:888:c717)
2023-11-22 12:58:30 +0100ubert(~Thunderbi@178.115.68.48.wireless.dyn.drei.com)
2023-11-22 12:59:02 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-22 13:04:52 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-22 13:16:28 +0100shapr(~user@2600:1700:c640:3100:e532:46ea:2417:b949) (Remote host closed the connection)
2023-11-22 13:16:42 +0100shapr(~user@2600:1700:c640:3100:29fc:a95f:cc8b:e3d5)
2023-11-22 13:17:10 +0100fendor(~fendor@2a02:8388:1640:be00:8705:c56:c793:802b) (Ping timeout: 256 seconds)
2023-11-22 13:19:31 +0100danse-nr3(~danse@151.57.186.185) (Ping timeout: 256 seconds)
2023-11-22 13:20:13 +0100danse-nr3(~danse@151.57.186.185)
2023-11-22 13:33:56 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.1.1)
2023-11-22 13:36:31 +0100ThofVe(~ThofVe@178.208.16.70)
2023-11-22 13:37:07 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2023-11-22 13:47:56 +0100acidjnk(~acidjnk@p200300d6e72b93351de783cd8454c847.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2023-11-22 13:55:20 +0100 <cheater> any ideas why Data.ByteString.Lazy doesn't have a putStrLn?
2023-11-22 13:55:48 +0100 <cheater> seems like a weird thing not to have given it's in every other bytestring
2023-11-22 13:57:42 +0100CodeGerrard(~Gerr@197.221.253.209)
2023-11-22 13:58:31 +0100acidjnk(~acidjnk@p200300d6e72b933550e7445b70f008d5.dip0.t-ipconnect.de)
2023-11-22 13:59:19 +0100danse-nr3(~danse@151.57.186.185) (Ping timeout: 255 seconds)
2023-11-22 13:59:30 +0100danse-nr3(~danse@151.57.136.158)
2023-11-22 14:00:53 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 14:06:59 +0100CiaoSen(~Jura@2a05:5800:27e:6600:2a3a:4dff:fe84:dbd5)
2023-11-22 14:08:46 +0100euleritian(~euleritia@dynamic-046-114-200-003.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-22 14:09:04 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-22 14:09:37 +0100axeman(~quassel@91.64.172.30)
2023-11-22 14:11:41 +0100 <ncf> cheater: it was deprecated https://hackage.haskell.org/package/bytestring-0.10.8.2/docs/Data-ByteString-Lazy.html#v:putStrLn
2023-11-22 14:12:28 +0100 <cheater> bewildering
2023-11-22 14:13:28 +0100 <cheater> thanks for the investigative work
2023-11-22 14:14:52 +0100 <ncf> well, moved
2023-11-22 14:16:25 +0100leungbk(~user@2603-8000-1201-2dd2-17dc-641e-3e10-b270.res6.spectrum.com)
2023-11-22 14:16:37 +0100 <cheater> right
2023-11-22 14:17:44 +0100 <cheater> well, at least we won't get unexpected errors once we all convert our terminals to only accept newlines in cuneiform
2023-11-22 14:18:10 +0100 <cheater> try explaining *that* oversight to your great great great great grand kids
2023-11-22 14:18:17 +0100 <ncf> itym ebcdic
2023-11-22 14:18:35 +0100 <cheater> gread grandpa has a photo in his drawer of using ascii \n
2023-11-22 14:18:52 +0100sefidel(~sefidel@user/sefidel) (Remote host closed the connection)
2023-11-22 14:19:39 +0100sefidel(~sefidel@user/sefidel)
2023-11-22 14:20:17 +0100sefidel(~sefidel@user/sefidel) (Remote host closed the connection)
2023-11-22 14:21:50 +0100Xyloes(~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04) (Quit: Konversation terminated!)
2023-11-22 14:22:54 +0100 <kuribas> You should not be printing bytestrings.
2023-11-22 14:23:03 +0100Xyloes(~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04)
2023-11-22 14:23:04 +0100 <kuribas> bytestrings are just binary data, with no meaning.
2023-11-22 14:23:28 +0100 <kuribas> How do you print it? As an image? As ascii? As zipped data?
2023-11-22 14:23:42 +0100sefidel(~sefidel@user/sefidel)
2023-11-22 14:25:14 +0100Xyloes(~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04) (Client Quit)
2023-11-22 14:25:56 +0100pieguy128(~pieguy128@bas1-montreal02-65-92-163-232.dsl.bell.ca) (Ping timeout: 268 seconds)
2023-11-22 14:25:56 +0100Xyloes(~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04)
2023-11-22 14:27:01 +0100leungbk(~user@2603-8000-1201-2dd2-17dc-641e-3e10-b270.res6.spectrum.com) (Quit: ERC 5.6-git (IRC client for GNU Emacs 30.0.50))
2023-11-22 14:27:23 +0100leungbk(~user@2603-8000-1201-2dd2-17dc-641e-3e10-b270.res6.spectrum.com)
2023-11-22 14:27:46 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-11-22 14:28:13 +0100axeman(~quassel@91.64.172.30) (Ping timeout: 255 seconds)
2023-11-22 14:36:00 +0100ThofVe(~ThofVe@178.208.16.70) (Quit: Client closed)
2023-11-22 14:45:12 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 14:47:33 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.1.1)
2023-11-22 14:48:40 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 245 seconds)
2023-11-22 14:48:55 +0100koz(~koz@121.99.240.58) (Ping timeout: 256 seconds)
2023-11-22 14:50:23 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-11-22 14:50:48 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur)
2023-11-22 14:58:55 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Ping timeout: 268 seconds)
2023-11-22 14:59:25 +0100mima(~mmh@aftr-62-216-211-165.dynamic.mnet-online.de) (Ping timeout: 260 seconds)
2023-11-22 14:59:50 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-11-22 15:01:01 +0100koz(~koz@121.99.240.58)
2023-11-22 15:01:46 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-11-22 15:02:10 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.1.1)
2023-11-22 15:03:22 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur)
2023-11-22 15:17:23 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 252 seconds)
2023-11-22 15:18:18 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
2023-11-22 15:19:53 +0100danse-nr3(~danse@151.57.136.158) (Ping timeout: 268 seconds)
2023-11-22 15:22:23 +0100Xyloes(~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04) (Quit: Konversation terminated!)
2023-11-22 15:23:13 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 15:26:43 +0100CiaoSen(~Jura@2a05:5800:27e:6600:2a3a:4dff:fe84:dbd5) (Ping timeout: 255 seconds)
2023-11-22 15:28:22 +0100danse-nr3(~danse@151.57.136.158)
2023-11-22 15:29:17 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 256 seconds)
2023-11-22 15:29:48 +0100CiaoSen(~Jura@185.37.251.168)
2023-11-22 15:29:59 +0100foul_owl(~kerry@157.97.134.165) (Ping timeout: 264 seconds)
2023-11-22 15:33:05 +0100edr(~edr@user/edr)
2023-11-22 15:42:26 +0100foul_owl(~kerry@185.219.141.164)
2023-11-22 15:51:00 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-22 16:04:11 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-22 16:07:00 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-11-22 16:07:02 +0100jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2023-11-22 16:07:17 +0100jinsun(~jinsun@user/jinsun)
2023-11-22 16:10:10 +0100zetef(~quassel@95.77.17.251)
2023-11-22 16:14:46 +0100leungbk(~user@2603-8000-1201-2dd2-17dc-641e-3e10-b270.res6.spectrum.com) (Quit: ERC 5.6-git (IRC client for GNU Emacs 30.0.50))
2023-11-22 16:15:06 +0100fendor(~fendor@2a02:8388:1640:be00:8705:c56:c793:802b)
2023-11-22 16:16:05 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk)
2023-11-22 16:18:50 +0100potato44(uid421314@id-421314.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-22 16:25:04 +0100ski(~ski@ext-1-042.eduroam.chalmers.se) (Ping timeout: 246 seconds)
2023-11-22 16:26:35 +0100ski(~ski@ext-1-042.eduroam.chalmers.se)
2023-11-22 16:28:37 +0100danse-nr3(~danse@151.57.136.158) (Remote host closed the connection)
2023-11-22 16:28:50 +0100mima(~mmh@dhcp-138-246-3-127.dynamic.eduroam.mwn.de)
2023-11-22 16:29:03 +0100danse-nr3(~danse@151.57.136.158)
2023-11-22 16:30:14 +0100Jackneill(~Jackneill@20014C4E1E120500F60962E32F241FFF.dsl.pool.telekom.hu)
2023-11-22 16:30:30 +0100Jackneill_(~Jackneill@20014C4E1E1205003CA6608F8946CB70.dsl.pool.telekom.hu) (Ping timeout: 268 seconds)
2023-11-22 16:31:13 +0100Sgeo(~Sgeo@user/sgeo)
2023-11-22 16:39:14 +0100CiaoSen(~Jura@185.37.251.168) (Ping timeout: 260 seconds)
2023-11-22 16:41:39 +0100shapr(~user@2600:1700:c640:3100:29fc:a95f:cc8b:e3d5) (Remote host closed the connection)
2023-11-22 16:41:52 +0100shapr(~user@2600:1700:c640:3100:5d65:223d:9bac:e160)
2023-11-22 16:54:28 +0100zetef(~quassel@95.77.17.251) (Ping timeout: 255 seconds)
2023-11-22 16:55:51 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 16:57:57 +0100vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (Ping timeout: 260 seconds)
2023-11-22 17:03:39 +0100vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2023-11-22 17:03:39 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.0)
2023-11-22 17:08:56 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds)
2023-11-22 17:09:57 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-11-22 17:10:05 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-49-67-70-103-21.dsl.bell.ca)
2023-11-22 17:14:33 +0100Putonlalla(~Putonlall@it-cyan.it.jyu.fi) (Ping timeout: 256 seconds)
2023-11-22 17:16:25 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk) (Ping timeout: 255 seconds)
2023-11-22 17:17:11 +0100p3n(~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-22 17:18:41 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2023-11-22 17:19:35 +0100Square(~Square@user/square)
2023-11-22 17:22:37 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
2023-11-22 17:23:00 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 17:23:20 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 17:23:20 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2023-11-22 17:24:45 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2023-11-22 17:25:27 +0100Pandry(~Pandry@93-41-34-64.ip79.fastwebnet.it)
2023-11-22 17:25:37 +0100qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2023-11-22 17:28:19 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2023-11-22 17:28:57 +0100Putonlalla(~Putonlall@it-cyan.it.jyu.fi)
2023-11-22 17:34:24 +0100koz_(~koz@121.99.240.58)
2023-11-22 17:35:07 +0100koz(~koz@121.99.240.58) (Ping timeout: 260 seconds)
2023-11-22 17:37:45 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 17:39:05 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de)
2023-11-22 17:40:45 +0100notzmv(~zmv@user/notzmv)
2023-11-22 17:43:47 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2023-11-22 17:48:19 +0100koz_(~koz@121.99.240.58) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-22 17:48:58 +0100koz(~koz@121.99.240.58)
2023-11-22 17:52:20 +0100shapr(~user@2600:1700:c640:3100:5d65:223d:9bac:e160) (Remote host closed the connection)
2023-11-22 17:52:35 +0100shapr(~user@2600:1700:c640:3100:b285:ab20:7123:ee63)
2023-11-22 17:56:12 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 17:56:31 +0100danse-nr3(~danse@151.57.136.158) (Read error: Connection reset by peer)
2023-11-22 17:57:01 +0100danse-nr3(~danse@151.57.206.239)
2023-11-22 17:57:20 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-22 17:58:49 +0100acarrico(~acarrico@dhcp-68-142-49-163.greenmountainaccess.net) (Quit: Leaving.)
2023-11-22 18:03:18 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2023-11-22 18:03:51 +0100euleritian(~euleritia@dynamic-046-114-205-219.46.114.pool.telefonica.de)
2023-11-22 18:05:16 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk)
2023-11-22 18:06:26 +0100AlexNoo_(~AlexNoo@178.34.163.165)
2023-11-22 18:06:52 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 18:07:38 +0100sansk(~sansk@user/sansk)
2023-11-22 18:09:39 +0100AlexZenon(~alzenon@94.233.240.219) (Ping timeout: 256 seconds)
2023-11-22 18:10:05 +0100AlexNoo(~AlexNoo@94.233.240.219) (Ping timeout: 252 seconds)
2023-11-22 18:13:23 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2023-11-22 18:16:14 +0100AlexZenon(~alzenon@178.34.163.165)
2023-11-22 18:20:00 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-11-22 18:20:53 +0100lottaquestions(~nick@2607:fa49:503d:b200:ced0:26d6:58ac:b557)
2023-11-22 18:22:15 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk) (Ping timeout: 260 seconds)
2023-11-22 18:22:25 +0100lottaquestions_(~nick@2607:fa49:503d:b200:33ec:47ab:d48a:3020) (Ping timeout: 260 seconds)
2023-11-22 18:25:33 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-11-22 18:25:35 +0100AlexNoo_AlexNoo
2023-11-22 18:26:31 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 4.0.5)
2023-11-22 18:27:40 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk)
2023-11-22 18:28:55 +0100lottaquestions(~nick@2607:fa49:503d:b200:ced0:26d6:58ac:b557) (Read error: Connection reset by peer)
2023-11-22 18:29:08 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk)
2023-11-22 18:29:20 +0100lottaquestions(~nick@2607:fa49:503d:b200:ced0:26d6:58ac:b557)
2023-11-22 18:34:20 +0100sansk(~sansk@user/sansk) (Quit: WeeChat 4.0.4)
2023-11-22 18:41:24 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 18:41:59 +0100euleritian(~euleritia@dynamic-046-114-205-219.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-22 18:42:17 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-22 18:42:44 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-22 18:45:18 +0100alp_(~alp@2001:861:e3d6:8f80:96af:bfe:888:c717) (Remote host closed the connection)
2023-11-22 18:46:52 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 18:47:11 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2023-11-22 18:47:51 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 18:48:06 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 18:48:22 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2023-11-22 18:49:46 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-22 18:50:18 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-11-22 18:52:11 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-11-22 18:58:02 +0100mrqubo(~arch@91.207.184.206)
2023-11-22 19:01:00 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-22 19:02:15 +0100 <mrqubo> I'm writing compiler in Haskell for a school project. I wanted to use it to simplify usage of state and reader monads but I found at least 7 of different libraries. Can anyone recommend which one could I use?
2023-11-22 19:02:45 +0100 <mrqubo> Oh, wait, I removed the important part. I'm talking about effects libraries.
2023-11-22 19:04:19 +0100 <dminuoso_> mrqubo: The answers will differ depending on who you ask.
2023-11-22 19:04:27 +0100 <dminuoso_> If you ask me: Ditch effect libraries, just do what GHC does internally:
2023-11-22 19:04:30 +0100 <dminuoso_> Use IO.
2023-11-22 19:04:38 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-11-22 19:04:48 +0100 <dminuoso_> IORef for state. IO exceptions for errors. IO for outside effects.
2023-11-22 19:05:07 +0100 <dminuoso_> Include a Reader style function, wrap it into a fancy `Comp` newtype, done.
2023-11-22 19:05:34 +0100 <dminuoso_> (This is in fact precisely what we do for our SDN compiler)
2023-11-22 19:05:38 +0100 <EvanR> ReaderT stuff IO, where stuff can be a record of things you need for state, or other things
2023-11-22 19:06:02 +0100 <EvanR> simplest effects library xD
2023-11-22 19:06:04 +0100 <dminuoso_> newtype Comp e a = Comp { runComp :: ReaderT (CompEnv e) IO a }
2023-11-22 19:06:20 +0100 <dminuoso_> And CompEnv is packed with IORefs
2023-11-22 19:06:52 +0100 <dminuoso_> Errors get added to an IORef, and then I have combinators like >|> that sequence only if no errors are present
2023-11-22 19:06:54 +0100 <dminuoso_> That sort of stuff.
2023-11-22 19:07:14 +0100 <dminuoso_> Best effects are the ones you make yourself, tailored to your project.
2023-11-22 19:07:18 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 19:07:26 +0100xsarnik(xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds))
2023-11-22 19:07:40 +0100xsarnik(xsarnik@lounge.fi.muni.cz)
2023-11-22 19:09:13 +0100YuutaW(~YuutaW@mail.yuuta.moe) (Ping timeout: 276 seconds)
2023-11-22 19:10:28 +0100hgolden_(~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
2023-11-22 19:11:07 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-22 19:11:10 +0100analoq(~yashi@user/dies) (Ping timeout: 276 seconds)
2023-11-22 19:11:28 +0100YuutaW(~YuutaW@mail.yuuta.moe)
2023-11-22 19:12:26 +0100analoq(~yashi@user/dies)
2023-11-22 19:13:46 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Ping timeout: 276 seconds)
2023-11-22 19:14:59 +0100danse-nr3(~danse@151.57.206.239) (Ping timeout: 264 seconds)
2023-11-22 19:19:37 +0100gentauro(~gentauro@user/gentauro) (Ping timeout: 276 seconds)
2023-11-22 19:19:49 +0100gentauro(~gentauro@user/gentauro)
2023-11-22 19:21:34 +0100 <probie> Reject monad transformers entirely and embrace `CompEnv e -> IO a` :p
2023-11-22 19:21:55 +0100 <dminuoso_> probie: Oh sure. I just use ReaderT out of complete lazyness.
2023-11-22 19:22:09 +0100 <dminuoso_> It means I can do generalized newtype deriving for MonadIO, MonadReader
2023-11-22 19:22:26 +0100 <dminuoso_> transformers was already in my transitive dependency closure, so no cost paid.
2023-11-22 19:23:48 +0100 <EvanR> Config -> IO a
2023-11-22 19:24:02 +0100 <EvanR> I wish I could find that meme
2023-11-22 19:27:11 +0100 <analoq> /j #leagueoflinux
2023-11-22 19:27:30 +0100 <analoq> ups :3
2023-11-22 19:29:59 +0100Fischmiep(~Fischmiep@user/Fischmiep) (Ping timeout: 256 seconds)
2023-11-22 19:30:38 +0100Fischmiep(~Fischmiep@user/Fischmiep)
2023-11-22 19:30:58 +0100Pixi(~Pixi@user/pixi) (Ping timeout: 255 seconds)
2023-11-22 19:38:28 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk) (Ping timeout: 276 seconds)
2023-11-22 19:38:57 +0100danza(~francesco@151.57.206.239)
2023-11-22 19:43:38 +0100simendsjo(~user@84.209.170.3)
2023-11-22 19:46:46 +0100 <dminuoso_> Is that a PC game?
2023-11-22 19:47:19 +0100 <dminuoso_> 5 admins fighting 5 admins? You get to upgrade kernels, install modules - and as an evolution path you get to switch from init to systemd?
2023-11-22 19:47:41 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 19:50:19 +0100axeman(~quassel@ip5b40ac1e.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-11-22 19:51:05 +0100danza(~francesco@151.57.206.239) (Ping timeout: 256 seconds)
2023-11-22 19:55:57 +0100 <EvanR> a smash bros-like fighting game with all the linux distro mascots
2023-11-22 19:57:27 +0100 <dminuoso_> Do you think I can enter with just postgresql? Mammoth eat penguins!
2023-11-22 19:57:34 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk)
2023-11-22 19:57:57 +0100 <EvanR> yes adjacent mascots are secret unlockables
2023-11-22 19:58:49 +0100 <EvanR> throwable temporary programming language mascot helpers
2023-11-22 19:59:20 +0100 <EvanR> gotta catch all next 700 programming languages
2023-11-22 20:02:36 +0100Pixi(~Pixi@user/pixi)
2023-11-22 20:03:42 +0100 <probie> A new exciting FOSS game with gnumerous fighters?
2023-11-22 20:04:19 +0100 <probie> It sounds like a real headache getting relevant licensing for all the mascots
2023-11-22 20:04:41 +0100mankyKitty(sid31287@helmsley.irccloud.com) (Read error: Connection reset by peer)
2023-11-22 20:04:49 +0100mankyKitty(sid31287@id-31287.helmsley.irccloud.com)
2023-11-22 20:04:56 +0100aspen(sid449115@helmsley.irccloud.com) (Ping timeout: 252 seconds)
2023-11-22 20:05:06 +0100aspen(sid449115@id-449115.helmsley.irccloud.com)
2023-11-22 20:05:26 +0100hamess(~hamess@user/hamess) (Quit: **BRB** dyed my hair bLacK. Mom got so mad lol)
2023-11-22 20:05:46 +0100hamess(~hamess@user/hamess)
2023-11-22 20:06:59 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 20:07:14 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 20:08:33 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 20:15:24 +0100Simikando(~Simikando@bband-dyn93.95-103-156.t-com.sk) (Remote host closed the connection)
2023-11-22 20:15:35 +0100mima(~mmh@dhcp-138-246-3-127.dynamic.eduroam.mwn.de) (Ping timeout: 264 seconds)
2023-11-22 20:15:43 +0100masterbuilder(~quassel@user/masterbuilder) (Ping timeout: 246 seconds)
2023-11-22 20:16:02 +0100adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2023-11-22 20:16:31 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds)
2023-11-22 20:19:15 +0100masterbuilder(~quassel@user/masterbuilder)
2023-11-22 20:20:49 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-11-22 20:21:09 +0100mc47(~mc47@xmonad/TheMC47)
2023-11-22 20:21:51 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-11-22 20:23:06 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 20:23:42 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
2023-11-22 20:24:24 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972) (Remote host closed the connection)
2023-11-22 20:24:35 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-11-22 20:34:58 +0100erty(~user@user/aeroplane)
2023-11-22 20:39:32 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection)
2023-11-22 20:39:47 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2023-11-22 20:40:17 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-11-22 20:41:42 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Max SendQ exceeded)
2023-11-22 20:41:51 +0100 <erty> How to handle Ctrl+C in a program, for example in this one https://paste.rs/G985m . I am following this documentation https://hackage.haskell.org/package/process-1.2.0.0/docs/System-Process.html#g:4
2023-11-22 20:41:57 +0100 <erty> This program runs a node command that takes 2 seconds to complete, and if in that Ctrl+C is pressed, It exits with `Just ExitSuccess`. But I want it to report UserInterrupt or something. How can I do that? Please help
2023-11-22 20:42:13 +0100 <erty> thanks
2023-11-22 20:42:28 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2023-11-22 20:45:05 +0100 <erty> To run the program in shell, do chmod +x haskell.hs and then ./haskell.hs
2023-11-22 20:48:53 +0100 <exarkun> If the program that you run exits with a success code after receiving Ctrl+C (SIGINT probably, but not necessarily) then it's a bit out of your hands.
2023-11-22 20:49:27 +0100 <exarkun> You could intercept the Ctrl+C, make a note of it, pass it on, and then translate ExitSuccess into UserInterrupt... but I'm not sure who that's helping.
2023-11-22 20:50:44 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-11-22 20:51:43 +0100 <int-e> worksforme? http://paste.debian.net/1298990/
2023-11-22 20:52:56 +0100chomwitt(~chomwitt@2a02:587:7a24:bc00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
2023-11-22 20:53:17 +0100chomwitt(~chomwitt@2a02:587:7a24:bc00:1ac0:4dff:fedb:a3f1)
2023-11-22 20:53:35 +0100lortabac(~lorenzo@2a01:e0a:541:b8f0:ec7c:79cd:c63a:f4f8) (Quit: WeeChat 3.5)
2023-11-22 20:55:48 +0100 <erty> int-e: But unfortunately, not for me :(
2023-11-22 20:56:29 +0100 <int-e> I'm not sure whether there's a race here though, between the child terminating and you called getProcessExitCode
2023-11-22 20:57:09 +0100 <erty> Its always success, ^Cfinally Just ExitSuccess
2023-11-22 20:57:09 +0100 <int-e> Oh but if you're getting `Just ExitSuccess` then that isn't an issue
2023-11-22 20:57:50 +0100 <int-e> Oh, maybe this is relevant? node is v18.13.0 here
2023-11-22 20:58:06 +0100 <[exa]> erty: what shell and OS? propagation of the SIGINT is dark magic. I'd recommend doing at least setsid before spawning the child process
2023-11-22 20:58:07 +0100 <int-e> or maybe try `sleep 2` instead of the node thing
2023-11-22 20:59:04 +0100 <erty> [exa]: I am using Ubuntu and I ran the code in emacs shell
2023-11-22 20:59:21 +0100 <erty> and Haskell-Interactive-mode as well
2023-11-22 20:59:32 +0100 <exarkun> Heh, emacs shell.
2023-11-22 20:59:37 +0100 <exarkun> At least try in a real shell to compare.
2023-11-22 20:59:56 +0100 <erty> exarkun: I did in xterm but no help
2023-11-22 21:00:12 +0100 <exarkun> Can you reproduce int-e's behavior wiith node 18.13.0?
2023-11-22 21:00:21 +0100 <erty> lemme try
2023-11-22 21:00:41 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-11-22 21:00:45 +0100 <int-e> what else *could* be relevant... ghc is 9.2.7, process is 1.6.16.0.
2023-11-22 21:00:58 +0100 <exarkun> Or, relatedly, if you just run node yourself and ctrl+c it, does it exit with 0 or something else?
2023-11-22 21:01:16 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:2831:95f0:1fbb:6972)
2023-11-22 21:01:19 +0100phma(phma@2001:5b0:210b:89e8:2742:c8bf:8662:607d) (Read error: Connection reset by peer)
2023-11-22 21:01:43 +0100phma(~phma@host-67-44-208-228.hnremote.net)
2023-11-22 21:01:57 +0100 <sm[i]> @where stack-script
2023-11-22 21:01:57 +0100 <lambdabot> https://docs.haskellstack.org/en/stable/script_command single-file Haskell scripts with stack
2023-11-22 21:02:00 +0100 <erty> exarkun: the problem persisted with `sleep 2` command as well
2023-11-22 21:02:21 +0100 <sm[i]> @where+ stack-script https://docs.haskellstack.org/en/stable/scripts single-file Haskell shebang scripts with stack
2023-11-22 21:02:21 +0100 <lambdabot> It is stored.
2023-11-22 21:03:02 +0100 <exarkun> erty: still worth checking directlly, but I guess it's not /very/ likely you have such a broken version of sleep...
2023-11-22 21:03:06 +0100Pickchea(~private@user/pickchea)
2023-11-22 21:04:07 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds)
2023-11-22 21:04:23 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-11-22 21:05:09 +0100 <erty> changing node to 18.13 didn't help
2023-11-22 21:05:45 +0100mrvdb(~mrvdb@185.92.221.186) (Ping timeout: 245 seconds)
2023-11-22 21:06:45 +0100mrvdb(~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5)
2023-11-22 21:06:52 +0100 <erty> ghc is 9.2.4
2023-11-22 21:07:55 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-11-22 21:08:05 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-22 21:08:48 +0100 <[exa]> erty: btw also try a different terminal
2023-11-22 21:08:49 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 276 seconds)
2023-11-22 21:09:15 +0100 <[exa]> I'm not sure which component there actually converts the ^c to SIGINT but it might very well be the terminal
2023-11-22 21:09:23 +0100 <erty> [exa]: I did, with xterm, but it didn't helped
2023-11-22 21:09:53 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-11-22 21:09:54 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2023-11-22 21:10:27 +0100 <erty> Is it working for all of you?
2023-11-22 21:10:34 +0100 <geekosaur> it's the terminal driver
2023-11-22 21:10:39 +0100 <geekosaur> stty -a
2023-11-22 21:11:09 +0100thegman(~thegman@184-089-015-126.res.spectrum.com)
2023-11-22 21:11:15 +0100 <geekosaur> look at intr and isig
2023-11-22 21:11:21 +0100 <geekosaur> and icanon
2023-11-22 21:13:08 +0100 <erty> geekosaur: intr has `intr = ^C;` but the last don't have `=`
2023-11-22 21:13:22 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 276 seconds)
2023-11-22 21:13:37 +0100 <geekosaur> no, they're simple flags and would show with a minus in front if they were off
2023-11-22 21:14:01 +0100 <geekosaur> `-isig` means no processing of the intr, quit, or stop characters
2023-11-22 21:14:14 +0100 <geekosaur> (ctrl-c, ctrl-\, ctrl-z)
2023-11-22 21:14:30 +0100 <erty> they don't have minus
2023-11-22 21:14:31 +0100 <geekosaur> (by default)
2023-11-22 21:14:38 +0100 <geekosaur> interesting
2023-11-22 21:14:55 +0100 <erty> geekosaur: Is the program working for you
2023-11-22 21:15:47 +0100thegman(~thegman@184-089-015-126.res.spectrum.com) (Client Quit)
2023-11-22 21:15:47 +0100harveypwca(~harveypwc@2601:246:c280:7940:585a:99af:3e4c:209b)
2023-11-22 21:15:54 +0100 <int-e> Funny, stty -a doesn't work for me in emacs' shell mode (Inappropriate ioctl for device; `bash` complained about this earlier too), but interrupting processes with C-c C-c still results in ExitFailure.
2023-11-22 21:16:16 +0100 <mauke> time to strace?
2023-11-22 21:16:17 +0100 <geekosaur> right, emacs shell mode is Special
2023-11-22 21:16:41 +0100 <geekosaur> erty, I don't have node installed so I can't readily test it
2023-11-22 21:17:03 +0100 <erty> geekosaur: you can use `sleep 2` command instead
2023-11-22 21:17:15 +0100 <erty> replace 11th line with (shell "sleep 2")
2023-11-22 21:17:57 +0100 <erty> I was just following the aforementioned documentation for handling Ctrl-C, and according to that, code error should be UserInterrupt
2023-11-22 21:18:07 +0100Square2(~Square4@user/square)
2023-11-22 21:18:15 +0100 <erty> If I am not doing something wrong
2023-11-22 21:18:20 +0100potato44(uid421314@id-421314.lymington.irccloud.com)
2023-11-22 21:18:34 +0100 <mauke> oh, something about process groups maybe?
2023-11-22 21:18:50 +0100 <geekosaur> https://paste.tomsmeding.com/vne66PAz
2023-11-22 21:19:49 +0100 <mauke> ExitFailure (-2)? that doesn't sound legal
2023-11-22 21:20:02 +0100shapr(~user@2600:1700:c640:3100:b285:ab20:7123:ee63) (Remote host closed the connection)
2023-11-22 21:20:15 +0100shapr(~user@2600:1700:c640:3100:58c6:dc14:3874:202f)
2023-11-22 21:20:20 +0100 <erty> mauke: i have create_group = False in the record
2023-11-22 21:20:26 +0100 <mauke> is someone mapping signals to negative exit statuses?
2023-11-22 21:20:34 +0100 <geekosaur> the shell, usually
2023-11-22 21:20:47 +0100 <geekosaur> tery using proc instead of shell
2023-11-22 21:21:06 +0100 <mauke> the shell adds 128 when setting $?
2023-11-22 21:21:10 +0100Square(~Square@user/square) (Ping timeout: 276 seconds)
2023-11-22 21:21:32 +0100 <geekosaur> actually I think it's platform dependent whether it's a signed or unsigned byte
2023-11-22 21:22:19 +0100 <erty> geekosaur: unfortunately, proc doesn't helps
2023-11-22 21:23:36 +0100 <mauke> I don't think that's how WEXITSTATUS() works
2023-11-22 21:23:46 +0100simendsjo(~user@84.209.170.3) (Ping timeout: 276 seconds)
2023-11-22 21:25:59 +0100mrqubo(~arch@91.207.184.206) (Quit: Konversation terminated!)
2023-11-22 21:34:09 +0100sh1n(~sh1n@2800:2131:8e40:c3d:a382:6ff7:1760:32a9)
2023-11-22 21:36:48 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
2023-11-22 21:37:12 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-11-22 21:40:23 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-11-22 21:45:28 +0100DemonDergFestiveDemonDerg
2023-11-22 21:45:42 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-11-22 21:46:17 +0100maaz(~maaz@bras-base-hspron0502w-grc-02-184-147-203-180.dsl.bell.ca)
2023-11-22 21:46:35 +0100maazm257
2023-11-22 21:47:28 +0100FestiveDemonDergFestiveDragon
2023-11-22 21:49:20 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 21:51:46 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 21:51:47 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 21:54:18 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 21:54:41 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-22 21:55:37 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 21:58:33 +0100trev(~trev@user/trev) (Quit: trev)
2023-11-22 21:59:43 +0100sh1n(~sh1n@2800:2131:8e40:c3d:a382:6ff7:1760:32a9) (Ping timeout: 256 seconds)
2023-11-22 22:00:35 +0100 <johnw> mauke: or rather, it's a negative value that gets reported as unsigned
2023-11-22 22:02:57 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 22:02:58 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 22:04:42 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 22:04:43 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 22:07:07 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 22:07:38 +0100thegeekinside(~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
2023-11-22 22:09:04 +0100mima(~mmh@aftr-62-216-211-67.dynamic.mnet-online.de)
2023-11-22 22:10:21 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
2023-11-22 22:10:29 +0100thegeekinside(~thegeekin@189.217.90.224)
2023-11-22 22:10:56 +0100hgolden_(~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection)
2023-11-22 22:12:44 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
2023-11-22 22:13:42 +0100tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2023-11-22 22:13:48 +0100tomboy65(~tomboy64@user/tomboy64)
2023-11-22 22:16:03 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
2023-11-22 22:17:33 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-11-22 22:21:39 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-11-22 22:23:24 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-22 22:24:51 +0100kuruczgy(55b66dd3ae@2604:bf00:561:2000::127f)
2023-11-22 22:27:50 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Client Quit)
2023-11-22 22:28:06 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-22 22:28:32 +0100mmhat(~mmh@p200300f1c70fae30ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-11-22 22:28:54 +0100mmhat(~mmh@p200300f1c70fae24ee086bfffe095315.dip0.t-ipconnect.de)
2023-11-22 22:32:40 +0100newsham(~newsham@2603-800c-2c01-6825-0120-b505-2ba2-3688.res6.spectrum.com)
2023-11-22 22:32:58 +0100 <newsham> What's the tick mark in 'S here?
2023-11-22 22:32:59 +0100 <newsham> data Fin (n :: Nat) where
2023-11-22 22:32:59 +0100 <newsham>     FZ :: Fin ('S n)
2023-11-22 22:33:00 +0100 <newsham>     FS :: Fin n -> Fin ('S n)
2023-11-22 22:33:00 +0100 <newsham>   deriving (Typeable)
2023-11-22 22:33:10 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-11-22 22:33:20 +0100 <johnw> it refers to a type-level data constructor
2023-11-22 22:33:24 +0100 <johnw> see DataKinds
2023-11-22 22:33:25 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-22 22:33:37 +0100dhil(~dhil@2001:8e0:2014:3100:e64:a377:2b5c:81b6) (Ping timeout: 246 seconds)
2023-11-22 22:33:48 +0100 <johnw> in this case, Nat is a data type that was lifted to the kind level
2023-11-22 22:33:59 +0100 <johnw> so its value-level constructor is S, and it's type-level constructor is 'S
2023-11-22 22:35:11 +0100 <johnw> note that in dependently-typed languages, a distinction like this is unnecessary
2023-11-22 22:35:17 +0100 <newsham> *nod*
2023-11-22 22:35:21 +0100 <newsham> thank you.
2023-11-22 22:36:59 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-22 22:38:30 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-11-22 22:38:45 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-22 22:39:04 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 255 seconds)
2023-11-22 22:42:01 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-11-22 22:42:01 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-11-22 22:42:01 +0100finn_elijaFinnElija
2023-11-22 22:44:57 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2023-11-22 22:48:22 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-11-22 22:53:23 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-11-22 22:58:38 +0100harveypwca(~harveypwc@2601:246:c280:7940:585a:99af:3e4c:209b) (Quit: Leaving)
2023-11-22 22:58:50 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-11-22 22:59:04 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-22 23:07:05 +0100CodeGerrard(~Gerr@197.221.253.209) (Ping timeout: 260 seconds)
2023-11-22 23:07:43 +0100ubert(~Thunderbi@178.115.68.48.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
2023-11-22 23:09:06 +0100newsham(~newsham@2603-800c-2c01-6825-0120-b505-2ba2-3688.res6.spectrum.com) (Quit: Client closed)
2023-11-22 23:10:34 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
2023-11-22 23:17:30 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-11-22 23:23:37 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 255 seconds)
2023-11-22 23:27:35 +0100fendor(~fendor@2a02:8388:1640:be00:8705:c56:c793:802b) (Remote host closed the connection)
2023-11-22 23:29:29 +0100emmanuelux(~emmanuelu@user/emmanuelux)
2023-11-22 23:33:42 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-22 23:34:47 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 256 seconds)
2023-11-22 23:36:19 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-11-22 23:38:24 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-22 23:38:48 +0100coot_(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-22 23:40:47 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 264 seconds)
2023-11-22 23:40:47 +0100coot_coot
2023-11-22 23:42:35 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds)
2023-11-22 23:47:23 +0100ystael(~ystael@user/ystael) (Ping timeout: 256 seconds)
2023-11-22 23:51:13 +0100Jackneill(~Jackneill@20014C4E1E120500F60962E32F241FFF.dsl.pool.telekom.hu) (Ping timeout: 256 seconds)