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