Home liberachat/#haskell: Logs Calendar

Logs on 2025-03-30 (liberachat/#haskell)

00:02:04 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
00:04:24 × otto_s quits (~user@p4ff27624.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
00:06:02 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:06:05 otto_s joins (~user@p5de2f2eb.dip0.t-ipconnect.de)
00:12:05 <haskellbridge> <thirdofmay18081814goya> does anyone know of an invertible coding function "Int -> Int" for a value of type "Tree Int"? i.e., translate a value "Tree Int" into a value "Int" and have a unique way to translate an "Int" back into a "Tree Int"
00:12:26 <haskellbridge> <thirdofmay18081814goya> does anyone know of an invertible coding function "Tree Int -> Int"*
00:13:09 <haskellbridge> <thirdofmay18081814goya> suppose specifically a rose tree with values "Int"
00:13:38 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
00:16:30 <haskellbridge> <dmjio> thirdofmay18081814goya did you tree "foldTree" and "unfoldTree"
00:16:43 <haskellbridge> <dmjio> * try
00:18:29 <haskellbridge> <Bowuigi> thirdofmay18081814goya I don't see how that could be total, since you have to fit many values of Int in a single one, any of which can be as large as INT_MAX
00:18:37 causal joins (~eric@50.35.84.231)
00:18:37 <Leary> thirdofmay: Impossible; |Tree Int| > |Int|. If you wanted an invertible `Tree Integer -> Integer`, then you're essentially doing de/serialisation.
00:20:45 <haskellbridge> <Bowuigi> If you ignore size concerns and want an invertible "Tree Integer -> Integer", you can get one by treating the output integer as a binary file
00:20:56 <geekosaur> gödel coding /s
00:21:36 <haskellbridge> <thirdofmay18081814goya> Leary: this is not the case, note that any element of "Tree Int" is constructible in a finite number of steps, so can be encoded by a function "Nat -> Tree Int", and therefore "Tree Int" has the same size as "Int" (since "| Int | = | Nat |")
00:22:57 <haskellbridge> <Bowuigi> Wouldn't that mean that it's possible to encode its zipper instead of the actual tree?
00:23:48 × tromp quits (~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8) (Quit: My iMac has gone to sleep. ZZZzzz…)
00:25:30 <haskellbridge> <thirdofmay18081814goya> Bowuigi: yeah, am just looking for any function that can uniquely specify a tree + an ordering on "Tree Int" that we can use this function with
00:26:04 <haskellbridge> <Bowuigi> Also note that finite doesn't mean it's inside an Int's bounds
00:29:34 <__monty__> Int is not Integer. And neither is the same as the mathematical concept.
00:30:54 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
00:31:10 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
00:32:35 <Leary> thirdofmay: |Int| = 2^64
00:33:33 <Leary> (or 2^32 if you live in the past)
00:34:11 <haskellbridge> <thirdofmay18081814goya> Leary: oh you're fully right then
00:34:53 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
00:35:05 <haskellbridge> <thirdofmay18081814goya> didn't realize "Int" was finite, I thought it was the type of Nat + (Nat - 1)
00:35:32 <haskellbridge> <thirdofmay18081814goya> * { 0 })
00:36:05 <haskellbridge> <thirdofmay18081814goya> a type isomorphic to "Nat + (Nat - { 0 })"*
00:38:34 <haskellbridge> <thirdofmay18081814goya> then as a matter of fact, "Int !! (| Int | + 1)" will not be a value of type "Int", correct?
00:38:59 <monochrom> Actually in Haskell we don't have a "Nat", we have Word (Data.Word) and Natural (Numeric.Natural).
00:39:30 <monochrom> Unpopular opinion: It is more consistent to s/Word/Nat/ because Int : Nat :: Integer :: Natural
00:39:31 <haskellbridge> <Bowuigi> It would overflow I think, in C it is UB but not sure about it in Haskell
00:40:53 <Leary> > maxBound + (1 :: Int) == minBound
00:40:54 <lambdabot> True
00:41:01 <haskellbridge> <Bowuigi> Word kinda makes sense because of machine words, but UInt or Nat would make more sense
00:41:05 <Leary> > (succ maxBound :: Int) == minBound
00:41:07 <lambdabot> *Exception: Prelude.Enum.succ{Int}: tried to take `succ' of maxBound
00:41:29 <monochrom> You can always try maxBound + 1
00:41:42 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
00:43:00 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
00:43:47 JuanDaugherty joins (~juan@user/JuanDaugherty)
00:43:47 <haskellbridge> <thirdofmay18081814goya> hm so there's an invertible serialization/deserialization function for "Tree Natural"? (or "Tree Word", assuming I understand correctly that "| Word | = | Natural |"?)
00:44:11 <haskellbridge> <thirdofmay18081814goya> and "| Natural | = | Set of natural numbers |"
00:44:15 <haskellbridge> <Bowuigi> No, Natural is Integer but unsigned
00:44:19 ChaiTRex joins (~ChaiTRex@user/chaitrex)
00:44:26 <monochrom> In Haskell2010 it's simulataneously "UB" and "implementation-defined". The exact quote: "The results of exceptional conditions (such as overflow or underflow) on the fixed-precision numeric types are undefined; an implementation may choose error (⊥, semantically), a truncated value, or a special value such as infinity, indefinite, etc."
00:45:56 <haskellbridge> <Bowuigi> Also is Natural the same size as the set of natural numbers? It has bottoms too
00:46:53 <haskellbridge> <thirdofmay18081814goya> no it seems, assuming "Natural" has the size of the set of unsigned integers, it is a finite set too
00:47:06 <haskellbridge> <Bowuigi> Not only implementation-wise, but also because every computation of type Natural is a Natural, including "1 + undefined"
00:47:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
00:48:23 <haskellbridge> <thirdofmay18081814goya> so is there no type that has the size of the set of natural numbers in haskell?
00:48:30 <monochrom> > 10^100 :: Natural
00:48:31 <lambdabot> 1000000000000000000000000000000000000000000000000000000000000000000000000000...
00:48:33 <Leary> thirdofmay: |Word| = |Int|; |Natural| = |Integer| = omega
00:48:49 <haskellbridge> <thirdofmay18081814goya> ah that clears it up, ty
00:50:32 <haskellbridge> <thirdofmay18081814goya> so rephrasing: there is an invertible serialization function for "Tree Natural", correct?
00:51:12 <haskellbridge> <thirdofmay18081814goya> what would be the API to access it?
00:55:26 <geekosaur> that's a somewhat weird way to put it. I would say that you can define such a function, not that one exists with a particular API
00:55:38 <geekosaur> how you define it would depend on what you intend to do with it
00:56:20 <geekosaur> (My comment about Gödel coding was only half a joke; it would certainly work but would be overkill and probably extremely inefficient for your purpose)
00:58:14 <haskellbridge> <thirdofmay18081814goya> wrt Godel coding, beginning to read http://foibg.com/ijita/vol17/ijita17-1-p02.pdf
00:58:23 <haskellbridge> <thirdofmay18081814goya> not terribly preoccupied with efficiency atm
00:59:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:00:49 × causal quits (~eric@50.35.84.231) (Quit: WeeChat 4.5.1)
01:01:37 × sprotte24_ quits (~sprotte24@p200300d16f1c4e0098c546d077431e36.dip0.t-ipconnect.de) (Quit: Leaving)
01:03:53 <monochrom> Unpopular opinion: But Gödel numbers is terribly preoccupied with gross inefficiency.
01:04:49 <geekosaur> ^
01:05:43 <haskellbridge> <thirdofmay18081814goya> monochrom: what's an alternative?
01:05:52 <haskellbridge> <thirdofmay18081814goya> any alternative
01:06:13 <monochrom> You should look at the binary package and what it does to "instance Binary (Tree e)"
01:06:20 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
01:06:42 <haskellbridge> <thirdofmay18081814goya> "Data.Binary" that is?
01:07:23 <monochrom> Sure, if module names are still unambiguous like 20 years ago.
01:07:53 <haskellbridge> <thirdofmay18081814goya> will do, thanks a lot for the reference. am literally looking for anything that works lol
01:11:28 <geekosaur> heh. let's put it this way: countably infinite Gödel numbers are considered a feature for their use case
01:11:51 <geekosaur> (only a slight overstatement)
01:12:16 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
01:12:28 <geekosaur> well, arguably so are uncountably infinite ones, at least as results 🙂
01:13:11 hattckory joins (~hattckory@70.27.118.207)
01:18:01 ChaiTRex joins (~ChaiTRex@user/chaitrex)
01:21:35 harveypwca joins (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c)
01:25:46 <haskellbridge> <jv> 'd
01:26:51 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
01:32:58 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
01:38:24 × toby-bro quits (~toby-bro@user/toby-bro) (Ping timeout: 272 seconds)
01:46:27 × roconnor quits (~quassel@rocq/roconnor) (Ping timeout: 246 seconds)
01:47:08 roconnor joins (~quassel@rocq/roconnor)
01:48:18 <EvanR> thirdofmay18081814goya, data Nat = Z | S !Nat
01:49:01 <EvanR> ignoring bottoms
01:49:03 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:49:10 <haskellbridge> <thirdofmay18081814goya> right
01:50:48 <EvanR> data Int = Nat :- Nat
01:51:50 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
01:51:53 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
01:52:58 × acidjnk quits (~acidjnk@p200300d6e71c4f5684d81f92e812b9d0.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
01:56:36 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
01:59:51 ChaiTRex joins (~ChaiTRex@user/chaitrex)
02:00:40 <EvanR> data Rat = Over { numer :: Int, denomMinusOne :: Nat }
02:01:46 <geekosaur> I was going to say you got that backwards, but in hindsight I guess it depends on how you interpret that name
02:02:18 <EvanR> data Real = Rat Rat | Lim (Rat -> Real)
02:05:04 × op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection)
02:05:15 × roconnor quits (~quassel@rocq/roconnor) (Ping timeout: 252 seconds)
02:05:35 op_4 joins (~tslil@user/op-4/x-9116473)
02:05:47 roconnor joins (~quassel@rocq/roconnor)
02:07:23 <EvanR> data Surreal = Cut (Tree Surreal) (Tree Surreal)
02:11:44 <JuanDaugherty> issat knuth's?
02:12:51 <JuanDaugherty> https://en.wikipedia.org/wiki/Surreal_number confirmed
02:13:11 <JuanDaugherty> (and credit where credit due to Conway)
02:13:30 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
02:15:08 <EvanR> I will gratefully deposit 0x$1.00 ($2.56) to the account of the first person who finds and reports anything that remains technically, historically, typographically, or politically incorrect. -- knuth
02:15:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
02:27:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:28:43 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 245 seconds)
02:33:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
02:33:55 × j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
02:35:13 euphores joins (~SASL_euph@user/euphores)
02:37:48 j1n37 joins (~j1n37@user/j1n37)
02:43:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:50:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
02:56:22 × j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
02:56:57 <EvanR> thirdofmay18081814goya, "any element of Tree Int can be constructed in a finite number of steps" ...
02:57:16 <EvanR> what's a step
02:58:15 <monochrom> A step is a finite number of substeps. >:)
02:59:23 <EvanR> did I construct let xs = 1 : xs in xs in a finite number of steps, or is it even successfully constructed
03:01:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:02:45 × haritz quits (~hrtz@user/haritz) (Remote host closed the connection)
03:02:55 haritz joins (~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737)
03:02:57 j1n37 joins (~j1n37@user/j1n37)
03:03:06 <haskellbridge> <thirdofmay18081814goya> EvanR: a step is a natural number that designates a pair, given by a natural number and its successor, such that when fed into a function "Nat -> Tree Int", produce a tree that is at most different by a single application of the datatype constructor
03:03:35 <haskellbridge> <thirdofmay18081814goya> (tentative definition)
03:03:49 <EvanR> what
03:04:26 <haskellbridge> <thirdofmay18081814goya> replace "at most one application of the datatype constructor" by "exactly one application"
03:04:28 <EvanR> are you only allowing finite trees
03:04:44 <haskellbridge> <thirdofmay18081814goya> yeah in this case, only inductively defined trees
03:04:46 × haritz quits (~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) (Changing host)
03:04:46 haritz joins (~hrtz@user/haritz)
03:05:14 <EvanR> alright so a step is a constructor
03:05:38 <EvanR> and there's only finitely many of them
03:05:50 <EvanR> based
03:06:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
03:08:00 <haskellbridge> <thirdofmay18081814goya> EvanR: well, I think we need the whole thing: 1. a natural number 2. designating a natural number and its succesor 3. such that fed to a function that indexes constructor applications, 4. produce a tree different by exactly a single application of the "Branch" constructor (if our tree datatype is defined by a "Node" and "Branch" constructor)
03:09:35 <EvanR> isn't the result of Branch t1 t2 always "a tree different by exactly a single application of the Branch constructor"
03:10:10 <EvanR> from the pair of trees
03:12:24 <haskellbridge> <thirdofmay18081814goya> hm true, but supposing the function indexing applications is "ITA" (abbreviating "IndexedTreeApplication"), we want a step to designate the difference between "Branch (ITA n) (ITA m)" and "ITA n", where "m" is strictly smaller than "n"
03:13:12 <haskellbridge> <thirdofmay18081814goya> or analogously the difference between "Branch (ITA m) (ITA n)"
03:13:19 <haskellbridge> <thirdofmay18081814goya> and "ITA n"
03:13:41 <EvanR> I have no idea what the objective was, I just cherry picked this one idea of getting any "Tree Int" in a finite number of steps, which didn't make sense to me in general, but now it does since finite
03:14:05 <haskellbridge> <thirdofmay18081814goya> heheh right
03:17:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:18:21 <EvanR> true or false: any geometric diagram can be constructed in a finite number of steps
03:19:44 <haskellbridge> <thirdofmay18081814goya> can we specify the geometric diagram as "[(Integer, Integer)]"?
03:20:07 <haskellbridge> <thirdofmay18081814goya> in that case I would think so
03:20:08 <EvanR> a linked list of coordinates? no
03:20:20 <haskellbridge> <thirdofmay18081814goya> why not
03:20:31 <EvanR> you could even draw a line that way
03:20:33 <EvanR> couldn't
03:20:56 <haskellbridge> <thirdofmay18081814goya> well yeah: the ordering of the linked list specifies which lines exist
03:21:18 <EvanR> ok you can't draw a circle
03:21:20 <haskellbridge> <thirdofmay18081814goya> so if the list is "[(0,0), (1,1), (2,2)]", we have two lines
03:21:47 <haskellbridge> <thirdofmay18081814goya> EvanR: you can't draw a circle, but you can approximate a circle with abritrary precision (including to an extent indistinguishable to the human eye)
03:22:18 × Eoco quits (~ian@128.101.131.218) (Quit: WeeChat 4.4.2)
03:22:34 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:22:53 <geekosaur> are (visualizations of) Mandelbröt sets geometric diagrams?
03:22:57 <haskellbridge> <thirdofmay18081814goya> with this idea, you can specify a circle as a function "approximate :: Nat -> CircleApproximation", where "approximate n" approximates the circle more closely than "approximate (n + 1)"
03:22:57 <geekosaur> 😈
03:22:58 <EvanR> this is gratuitously low quality xD
03:23:28 <haskellbridge> <thirdofmay18081814goya> uh, the contrary, "approximate (n + 1)" has lower error than "approximate n"
03:23:31 <EvanR> Mandelbrot "set" is actually a Locus so yes
03:23:51 <haskellbridge> <thirdofmay18081814goya> then "circle = approximate" :D
03:24:05 <EvanR> a theory of approximations wasn't called for
03:24:35 <EvanR> actual circles have been accepted as "geometric" since forever
03:25:22 Eoco joins (~ian@128.101.131.218)
03:26:47 <haskellbridge> <thirdofmay18081814goya> i secretely will use "approximate (100!^100!)" and will tell you it's a circle and you won't be able to tell it's secretly a polygon, so you'll agree with me 😈
03:26:48 <EvanR> that's a good one, the mandlebrot set seems to need an infinite number of steps, to keep adding lobes
03:27:14 <EvanR> (and then it would probably miss a lot in the end)
03:28:24 <haskellbridge> <thirdofmay18081814goya> actually, there is an "n :: Natural" such that "approximate" cannot designate a circle that is physically closer to any other approximation (due to the size of atoms, or alternatively your screen resolution)
03:28:31 <haskellbridge> <Bowuigi> Fractals in general do that AFAIK
03:28:41 <EvanR> ultrafinitist confirmed
03:29:28 <EvanR> straight line segments are really bad at approximating curves btw, at least use parabolic segments
03:31:04 <haskellbridge> <thirdofmay18081814goya> right, well the point where mathematical and cs-theoretical perfection coincides is to consider "approximate" itself as the circle, instead of "approximate n" for a given n
03:31:14 × Eoco quits (~ian@128.101.131.218) (Quit: WeeChat 4.4.2)
03:31:18 <haskellbridge> <thirdofmay18081814goya> then you can do stuff by function composition
03:31:42 Eoco joins (~ian@128.101.131.218)
03:31:52 <EvanR> it would be better if you do the approximation at the end of the program than at the beginning
03:32:08 <haskellbridge> <thirdofmay18081814goya> yeah
03:32:51 <EvanR> (if necessary)
03:33:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:36:00 × infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 246 seconds)
03:37:18 <EvanR> instead of "human eye" test I wonder if you could instead specify the limit of precision by saying lines and shapes have a minimum "pen size" so if you keep trying to draw the mandlebrot set you'll just start getting the same blob over again
03:37:29 <EvanR> at which point you stop
03:37:34 × harveypwca quits (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Read error: Connection reset by peer)
03:38:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
03:39:06 infinity0 joins (~infinity0@pwned.gg)
03:41:32 harveypwca joins (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c)
03:47:13 <haskellbridge> <thirdofmay18081814goya> speaking of which
03:47:22 <haskellbridge> <thirdofmay18081814goya> is there a standard wrt rendering 2D in haskell?
03:47:48 <haskellbridge> <thirdofmay18081814goya> or, how do people usually do 2D rendering in haskell
03:49:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:50:57 <geekosaur> gloss and relativrd
03:51:02 <geekosaur> *relatives
03:52:40 <EvanR> there's the diagrams library
03:53:02 <EvanR> there are bindings to SDL, glfw
03:53:09 <EvanR> ... and gtk ...
03:54:07 <EvanR> three penny gui was an early web-based thing
03:54:28 <EvanR> now there's ghcjs so you can use whatever is in the browser
03:54:43 <haskellbridge> <thirdofmay18081814goya> neat thanks for all the references!
03:55:08 <haskellbridge> <dmjio> thirdofmay18081814goya check out diagrams
03:55:41 <haskellbridge> <thirdofmay18081814goya> will do ty!
03:55:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
03:56:24 <EvanR> diagrams is great
04:01:33 × remexre quits (~remexre@user/remexre) (Ping timeout: 268 seconds)
04:01:38 × nek0 quits (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
04:02:48 × Eoco quits (~ian@128.101.131.218) (Ping timeout: 272 seconds)
04:03:28 × hgolden quits (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection)
04:04:30 Eoco joins (~ian@128.101.131.218)
04:07:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:07:30 <haskellbridge> <dmjio> Anything Brent Yorgey is great, especially the typeclassopdia
04:08:21 hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363)
04:12:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
04:12:04 remexre joins (~remexre@user/remexre)
04:21:33 talisman` joins (~user@2601:644:937c:ed10::ae5)
04:21:57 × talismanick quits (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection)
04:21:57 × talisman` quits (~user@2601:644:937c:ed10::ae5) (Read error: Connection reset by peer)
04:23:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:25:28 tromp joins (~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8)
04:26:02 × tromp quits (~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8) (Client Quit)
04:28:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
04:33:48 × mulk quits (~mulk@p5b112905.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
04:35:44 mulk joins (~mulk@pd95149c0.dip0.t-ipconnect.de)
04:38:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:42:13 × jmcantrell quits (~weechat@user/jmcantrell) (Quit: WeeChat 4.6.0)
04:43:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
04:50:34 aman joins (~aman@user/aman)
04:54:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:59:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
05:10:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:11:25 × j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
05:13:57 × harveypwca quits (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
05:16:33 j1n37 joins (~j1n37@user/j1n37)
05:19:46 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
05:19:55 × j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
05:25:04 j1n37 joins (~j1n37@user/j1n37)
05:33:15 takuan joins (~takuan@d8D86B601.access.telenet.be)
05:34:45 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
05:35:28 × Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::2e) (Remote host closed the connection)
05:35:52 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::2e)
05:35:53 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
05:38:12 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
05:53:12 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
05:54:04 tavare joins (~tavare@user/tavare)
06:14:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
06:16:07 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
06:16:35 berberman joins (~berberman@user/berberman)
06:17:46 <haskellbridge> <thirdofmay18081814goya> what's a case where "Either" wasn't enough for your error handling needs?
06:23:57 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
06:24:53 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
06:25:16 berberman joins (~berberman@user/berberman)
06:26:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:31:24 × comonad quits (~comonad@p200300d027488b00f8b6e4e070ffbc0b.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
06:31:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
06:32:37 comonad joins (~comonad@p200300d027481500ef699452775b3984.dip0.t-ipconnect.de)
06:38:33 × zmt01 quits (~zmt00@user/zmt00) (Remote host closed the connection)
06:38:57 zmt01 joins (~zmt00@user/zmt00)
06:42:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:42:54 vgtw_ joins (~vgtw@user/vgtw)
06:43:07 × vgtw quits (~vgtw@user/vgtw) (Ping timeout: 268 seconds)
06:46:12 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
06:47:54 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
07:00:02 × caconym quits (~caconym@user/caconym) (Quit: bye)
07:00:02 × tt12310978324354 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat)
07:00:56 caconym joins (~caconym@user/caconym)
07:04:20 tt12310978324354 joins (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee)
07:05:11 × Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::2e) (Read error: Connection reset by peer)
07:05:43 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::2e)
07:06:52 × Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::2e) (Read error: Connection reset by peer)
07:07:09 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::2e)
07:08:05 tromp joins (~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8)
07:08:19 × hattckory quits (~hattckory@70.27.118.207) (Ping timeout: 260 seconds)
07:14:47 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
07:15:49 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
07:16:17 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
07:17:02 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
07:17:15 Lord_of_Life_ is now known as Lord_of_Life
07:17:45 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Remote host closed the connection)
07:18:39 × cawfee quits (root@2001:19f0:4400:79a1::babe) (Quit: WeeChat 4.5.1)
07:19:03 cawfee joins (root@2001:19f0:4400:79a1::babe)
07:43:27 × werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 246 seconds)
07:48:12 j1n37- joins (~j1n37@user/j1n37)
07:48:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
07:48:53 × j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 244 seconds)
07:51:25 Digitteknohippie joins (~user@user/digit)
07:53:59 × Digit quits (~user@user/digit) (Ping timeout: 260 seconds)
07:54:59 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
07:56:33 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
07:58:35 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:59:48 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
08:03:30 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
08:11:36 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
08:14:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:15:46 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
08:20:24 × tavare quits (~tavare@user/tavare) (Remote host closed the connection)
08:26:13 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
08:31:11 × vgtw_ quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
08:33:07 vgtw joins (~vgtw@user/vgtw)
08:34:40 × tromp quits (~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:35:24 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
08:36:51 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
08:37:08 L29Ah joins (~L29Ah@wikipedia/L29Ah)
08:39:09 Digitteknohippie is now known as Digit
08:50:48 wootehfoot joins (~wootehfoo@user/wootehfoot)
08:51:18 XZDX joins (~xzdx@user/XZDX)
09:08:27 acidjnk joins (~acidjnk@p200300d6e71c4f61790abc3a16c69e44.dip0.t-ipconnect.de)
09:18:53 XZDX is now known as XZDX_
09:25:46 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
09:33:11 tromp joins (~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8)
09:39:06 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
09:43:45 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
09:48:21 <Rembane> There's an opposite to Either that's very useful for validating e.g. forms. When there can be loads of errors in different places and execution should never stop. Just seeing the definition makes me surprisingly happy: https://hackage.haskell.org/package/validation-1.1.3/docs/Data-Validation.html#t:Validation
09:48:29 <Rembane> ...for some values of opposite. :D
09:48:32 __monty__ joins (~toonn@user/toonn)
09:48:44 × vgtw quits (~vgtw@user/vgtw) (Ping timeout: 252 seconds)
09:54:18 vgtw joins (~vgtw@user/vgtw)
09:56:51 ash3en joins (~Thunderbi@89.56.182.235)
09:58:23 hattckory joins (~hattckory@70.27.118.207)
09:59:24 × vgtw quits (~vgtw@user/vgtw) (Ping timeout: 260 seconds)
09:59:42 vgtw joins (~vgtw@user/vgtw)
10:11:29 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:14:23 polyphem joins (~rod@p4fc2c911.dip0.t-ipconnect.de)
10:15:49 × NewtonTrendy quits (~ubuntu@user/bopqod) (Quit: WeeChat 3.5)
10:24:36 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
10:36:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:41:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
10:44:53 <[exa]> Rembane: so many opposites. Why don't we have a Up Down type?
10:45:44 <Rembane> [exa]: I think we have some of those. They're usually Monoid/Semigroup newtypes.
10:46:43 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:47:11 <Rembane> [exa]: Bah, they don't actually exist. The closest I can get to them is Dual. What would Up and Down do?
10:47:40 <[exa]> absolutely not sure, just wanted to point out that the "opposite" is a very free definition :D
10:48:15 sprotte24 joins (~sprotte24@p200300d16f1e0e006577a4ba097b8b9e.dip0.t-ipconnect.de)
10:48:35 <Rembane> [exa]: Yeah, it's usually better for inspiration than a clear definition. :D
10:48:47 <[exa]> what's annoying on validation and either that neither of these provides the "just shortcircuit with errory error" behavior unless you write the MonadFail yourself
10:49:09 <Rembane> I thought Either did that, what does it do instead?
10:51:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:53:42 <int-e> Either doesn't have a MonadFail instance
10:54:10 <Rembane> Got it.
10:54:30 <int-e> ExceptT e Foo a uses the MonadFail instance of Foo. ErrorT e Foo a was removed because it was deprecated in favor of ExceptT despite having a different MonadFail instance.
10:56:39 <Rembane> That sounds potentially controversial. I never used ErrorT because of the deprecated message on top of the documentation of the module.
10:56:47 <Rembane> Was it a good MonadFail instance?
10:56:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
10:58:05 <int-e> Rembane: Well I used it before it was deprecated because it offered the behavior that Either had before the MonadFail proposal.
10:59:03 × sprotte24 quits (~sprotte24@p200300d16f1e0e006577a4ba097b8b9e.dip0.t-ipconnect.de) (Quit: Leaving)
10:59:19 <Rembane> int-e: Ah, this has some history.
10:59:26 <int-e> yes
10:59:54 × hattckory quits (~hattckory@70.27.118.207) (Ping timeout: 260 seconds)
11:00:31 <haskellbridge> <thirdofmay18081814goya> @Rembane neat! didn't know about it, ty
11:00:33 <int-e> `fail` used to be in `Monad` and the Monad instance for Either used to be instance Error e => Monad (Either e) where `Error` had a function to convert String into an e, which was used to implement `fail`.
11:01:16 <int-e> And Control.Monad.Error mimicked that after the MonadFail class was introduced.
11:01:24 <Rembane> thirdofmay18081814goya: No worries! :)
11:07:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:10:13 × connrs quits (~connrs@user/connrs) (Remote host closed the connection)
11:10:21 connrs joins (~connrs@user/connrs)
11:10:51 × connrs quits (~connrs@user/connrs) (Remote host closed the connection)
11:11:07 connrs joins (~connrs@user/connrs)
11:12:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
11:18:43 <haskellbridge> <thirdofmay18081814goya> hm what's the optic that will remove the elements of a list located at an even index? some combination using the enumeration "Iso' [a] [(Int, a)]" and something involving "traversed . filtered even", right?
11:20:10 × connrs quits (~connrs@user/connrs) (Remote host closed the connection)
11:20:18 connrs joins (~connrs@user/connrs)
11:23:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:25:33 × acidjnk quits (~acidjnk@p200300d6e71c4f61790abc3a16c69e44.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
11:30:33 astra is now known as amish
11:30:42 × amish quits (sid289983@id-289983.hampstead.irccloud.com) (Changing host)
11:30:42 amish joins (sid289983@user/amish)
11:32:03 amish is now known as astra
11:33:58 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
11:36:10 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds)
11:39:01 zmt00 joins (~zmt00@user/zmt00)
11:40:34 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 244 seconds)
11:40:39 ljdarj joins (~Thunderbi@user/ljdarj)
11:40:50 fp joins (~Thunderbi@hof1.kyla.fi)
11:40:58 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
11:45:21 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
11:56:13 × fp quits (~Thunderbi@hof1.kyla.fi) (Read error: Connection reset by peer)
11:56:25 fp1 joins (~Thunderbi@hof1.kyla.fi)
11:57:09 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
11:57:53 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 245 seconds)
11:58:57 zmt00 joins (~zmt00@user/zmt00)
12:00:44 × fp1 quits (~Thunderbi@hof1.kyla.fi) (Ping timeout: 252 seconds)
12:03:33 fp joins (~Thunderbi@wireless-86-50-141-186.open.aalto.fi)
12:05:30 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
12:08:13 × fp quits (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) (Read error: Connection reset by peer)
12:08:19 fp1 joins (~Thunderbi@wireless-86-50-141-186.open.aalto.fi)
12:08:41 × fp1 quits (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) (Client Quit)
12:08:53 fp joins (~Thunderbi@wireless-86-50-141-186.open.aalto.fi)
12:12:01 × fp quits (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) (Client Quit)
12:12:20 fp joins (~Thunderbi@2001:708:150:10::1d80)
12:12:44 acidjnk joins (~acidjnk@p200300d6e71c4f61b516a7e5c12445e3.dip0.t-ipconnect.de)
12:14:55 × fp quits (~Thunderbi@2001:708:150:10::1d80) (Read error: Connection reset by peer)
12:15:04 fp1 joins (~Thunderbi@wireless-86-50-141-186.open.aalto.fi)
12:17:21 fp1 is now known as fp
12:22:10 Guest73 joins (~Guest73@2409:40e0:105c:b9b8:25fd:c4d2:eee0:bc69)
12:22:13 fp1 joins (~Thunderbi@2001:708:20:1406::1370)
12:23:45 × fp quits (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) (Ping timeout: 244 seconds)
12:23:45 fp1 is now known as fp
12:27:33 wootehfoot joins (~wootehfoo@user/wootehfoot)
12:27:48 sprotte24 joins (~sprotte24@p200300d16f1e0e006577a4ba097b8b9e.dip0.t-ipconnect.de)
12:41:53 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
12:42:54 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 252 seconds)
12:44:03 arahael joins (~arahael@user/arahael)
12:50:25 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
12:56:36 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
12:56:59 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
13:00:27 ljdarj1 joins (~Thunderbi@user/ljdarj)
13:03:08 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
13:03:08 ljdarj1 is now known as ljdarj
13:04:46 alp joins (~alp@2001:861:8ca0:4940:6833:29bf:c744:7ece)
13:07:00 JuanDaugherty joins (~juan@user/JuanDaugherty)
13:10:46 × puke quits (~puke@user/puke) (Ping timeout: 252 seconds)
13:18:48 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
13:23:19 puke joins (~puke@user/puke)
13:24:23 harveypwca joins (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c)
13:24:53 lxsameer joins (~lxsameer@Serene/lxsameer)
13:30:36 VictorHugenay joins (~VictorHug@user/VictorHugenay)
13:35:12 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
13:37:56 × Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::2e) (Remote host closed the connection)
13:38:09 × ash3en quits (~Thunderbi@89.56.182.235) (Ping timeout: 260 seconds)
13:38:14 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::2e)
13:41:02 × acidjnk quits (~acidjnk@p200300d6e71c4f61b516a7e5c12445e3.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
13:43:45 acidjnk joins (~acidjnk@p200300d6e71c4f6101a7bfc96b38a12d.dip0.t-ipconnect.de)
13:45:42 × Guest73 quits (~Guest73@2409:40e0:105c:b9b8:25fd:c4d2:eee0:bc69) (Ping timeout: 240 seconds)
13:47:46 toby-bro joins (~toby-bro@user/toby-bro)
13:47:53 hattckory joins (~hattckory@70.27.118.207)
13:52:34 × hattckory quits (~hattckory@70.27.118.207) (Ping timeout: 260 seconds)
14:01:48 × alp quits (~alp@2001:861:8ca0:4940:6833:29bf:c744:7ece) (Ping timeout: 246 seconds)
14:01:53 × VictorHugenay quits (~VictorHug@user/VictorHugenay) (Quit: Konversation terminated!)
14:02:49 × comonad quits (~comonad@p200300d027481500ef699452775b3984.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:04:47 comonad joins (~comonad@p200300d0274ac2004a3b1ffc163e1801.dip0.t-ipconnect.de)
14:05:34 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
14:13:53 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
14:20:18 × acidjnk quits (~acidjnk@p200300d6e71c4f6101a7bfc96b38a12d.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
14:22:55 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
14:23:54 weary-traveler joins (~user@user/user363627)
14:46:48 acidjnk joins (~acidjnk@p200300d6e71c4f6101a7bfc96b38a12d.dip0.t-ipconnect.de)
14:59:57 alp joins (~alp@2001:861:8ca0:4940:a688:28a:ebe2:b40e)
15:03:06 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
15:04:44 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
15:11:57 jmcantrell joins (~weechat@user/jmcantrell)
15:12:34 × zfnmxt quits (~zfnmxt@107.189.30.63) (Remote host closed the connection)
15:14:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:16:02 zfnmxt joins (~zfnmxt@user/zfnmxt)
15:16:39 × tromp quits (~textual@2001:1c00:3487:1b00:9865:6ec1:d353:2dc8) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:19:31 target_i joins (~target_i@user/target-i/x-6023099)
15:21:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
15:24:24 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
15:26:16 × haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
15:28:34 haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com)
15:28:34 ChanServ sets mode +v haskellbridge
15:32:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:34:29 × sabathan quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Ping timeout: 252 seconds)
15:34:37 tromp joins (~textual@2001:1c00:3487:1b00:9990:df71:bfb8:e2a2)
15:36:06 sabathan joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
15:37:19 XZDX_ is now known as XVDX
15:37:34 XVDX is now known as XZDX
15:37:35 × harveypwca quits (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
15:38:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
15:39:56 hattckory joins (~hattckory@70.27.118.207)
15:41:53 harveypwca joins (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c)
15:44:34 × hattckory quits (~hattckory@70.27.118.207) (Ping timeout: 260 seconds)
15:48:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:49:38 × Digit quits (~user@user/digit) (Ping timeout: 248 seconds)
15:52:34 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
15:53:31 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
15:53:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
15:55:54 × alp quits (~alp@2001:861:8ca0:4940:a688:28a:ebe2:b40e) (Ping timeout: 246 seconds)
15:57:33 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
15:58:07 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
15:58:30 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
16:04:24 Square joins (~Square@user/square)
16:04:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:08:48 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
16:09:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
16:11:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:16:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
16:19:01 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds)
16:19:39 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
16:20:42 Digit joins (~user@user/digit)
16:25:02 × toby-bro quits (~toby-bro@user/toby-bro) (Ping timeout: 244 seconds)
16:27:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:29:35 × polykernel quits (~polykerne@user/polykernel) (Remote host closed the connection)
16:30:24 polykernel joins (~polykerne@user/polykernel)
16:32:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
16:39:06 × polykernel quits (~polykerne@user/polykernel) (Remote host closed the connection)
16:39:51 polykernel joins (~polykerne@user/polykernel)
16:43:05 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
16:44:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:44:51 × connrs quits (~connrs@user/connrs) (Remote host closed the connection)
16:44:58 connrs joins (~connrs@user/connrs)
16:52:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:59:33 hattckory joins (~hattckory@70.27.118.207)
17:00:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:03:45 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
17:04:10 kmein joins (~weechat@user/kmein)
17:04:29 × hattckory quits (~hattckory@70.27.118.207) (Ping timeout: 260 seconds)
17:06:08 × polykernel quits (~polykerne@user/polykernel) (Remote host closed the connection)
17:06:55 polykernel joins (~polykerne@user/polykernel)
17:10:15 × polykernel quits (~polykerne@user/polykernel) (Remote host closed the connection)
17:11:03 polykernel joins (~polykerne@user/polykernel)
17:11:56 laman joins (laman@rego.ai)
17:16:07 × Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::2e) (Remote host closed the connection)
17:18:34 × tromp quits (~textual@2001:1c00:3487:1b00:9990:df71:bfb8:e2a2) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:34:31 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
17:37:41 × acidjnk quits (~acidjnk@p200300d6e71c4f6101a7bfc96b38a12d.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
17:38:15 tromp joins (~textual@2001:1c00:3487:1b00:9990:df71:bfb8:e2a2)
17:38:45 werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com)
17:57:59 jacopovalanzano joins (~jacopoval@77.68.7.50)
17:59:27 acidjnk joins (~acidjnk@p200300d6e71c4f6101a7bfc96b38a12d.dip0.t-ipconnect.de)
18:00:14 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
18:04:19 michalz joins (~michalz@185.246.207.203)
18:05:59 × connrs quits (~connrs@user/connrs) (Remote host closed the connection)
18:06:05 × vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection)
18:06:08 connrs joins (~connrs@user/connrs)
18:07:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
18:09:02 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
18:16:05 Sgeo joins (~Sgeo@user/sgeo)
18:19:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:24:32 dhil joins (~dhil@2a0c:b381:52e:3600:f60a:b849:d84:6d29)
18:30:51 × ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds)
18:34:35 nek0 joins (~nek0@user/nek0)
18:39:43 fp1 joins (~Thunderbi@2001:708:150:10::1d80)
18:40:53 × fp quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 248 seconds)
18:40:53 fp1 is now known as fp
18:41:20 gmg joins (~user@user/gehmehgeh)
18:43:09 lxsameer joins (~lxsameer@Serene/lxsameer)
18:44:13 fp1 joins (~Thunderbi@130.233.55.67)
18:45:05 × fp quits (~Thunderbi@2001:708:150:10::1d80) (Ping timeout: 248 seconds)
18:45:05 fp1 is now known as fp
18:47:49 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds)
18:47:51 pavonia joins (~user@user/siracusa)
18:55:54 × Square quits (~Square@user/square) (Ping timeout: 252 seconds)
18:59:43 <haskellbridge> <thirdofmay18081814goya> or in general, is there a pattern consisting of propagating the changes to an "Iso" to the original datatype?
19:00:07 × caconym quits (~caconym@user/caconym) (Quit: bye)
19:00:49 caconym joins (~caconym@user/caconym)
19:01:27 j1n37 joins (~j1n37@user/j1n37)
19:01:37 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
19:01:41 × j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 248 seconds)
19:02:13 × fp quits (~Thunderbi@130.233.55.67) (Ping timeout: 248 seconds)
19:11:22 rvalue- joins (~rvalue@user/rvalue)
19:12:18 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds)
19:17:29 × harveypwca quits (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
19:19:57 rvalue- is now known as rvalue
19:30:16 Guest63 joins (~Guest63@2806:106e:19:554e:9a5e:8bfa:fdb:c9c8)
19:46:52 alp joins (~alp@2001:861:8ca0:4940:375d:8d24:38e7:d983)
19:47:36 fp joins (~Thunderbi@87-94-142-103.rev.dnainternet.fi)
19:48:32 <haskellbridge> <Bowuigi> Just apply the Iso backwards
19:50:10 lxsameer joins (~lxsameer@Serene/lxsameer)
19:50:30 × Guest63 quits (~Guest63@2806:106e:19:554e:9a5e:8bfa:fdb:c9c8) (Ping timeout: 240 seconds)
19:50:45 × dhil quits (~dhil@2a0c:b381:52e:3600:f60a:b849:d84:6d29) (Ping timeout: 248 seconds)
19:56:38 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
20:00:20 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
20:01:24 toby-bro joins (~toby-bro@user/toby-bro)
20:07:19 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Remote host closed the connection)
20:07:45 × michalz quits (~michalz@185.246.207.203) (Remote host closed the connection)
20:10:13 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
20:12:21 × polyphem quits (~rod@p4fc2c911.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
20:26:28 vanishingideal joins (~vanishing@user/vanishingideal)
20:30:22 × jacopovalanzano quits (~jacopoval@77.68.7.50) (Quit: Client closed)
20:30:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
20:39:56 × alp quits (~alp@2001:861:8ca0:4940:375d:8d24:38e7:d983) (Ping timeout: 268 seconds)
20:41:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:46:24 bollu joins (~bollu@131.111.5.201)
20:47:28 × bollu quits (~bollu@131.111.5.201) (Client Quit)
20:52:03 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
20:59:19 unter-oe joins (~unter-oe@user/unter-oe)
21:00:10 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
21:00:36 × takuan quits (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection)
21:01:45 alp joins (~alp@2001:861:8ca0:4940:4762:76e1:2726:6dcf)
21:03:14 × AlexZenon quits (~alzenon@178.34.150.194) (Ping timeout: 260 seconds)
21:05:22 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
21:11:17 ambareesh joins (~ambareesh@128.61.222.184)
21:11:28 random-jellyfish joins (~developer@user/random-jellyfish)
21:18:49 AlexZenon joins (~alzenon@178.34.150.194)
21:21:42 halloy8765 joins (~halloy876@128-61-160-164.nat.gatech.edu)
21:22:00 <halloy8765> hello
21:23:01 <geekosaur> hello
21:23:08 <halloy8765> is this discord
21:23:33 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
21:25:30 <geekosaur> no
21:25:38 <halloy8765> how do I install discord
21:25:43 <geekosaur> it's IRC, and it's bridged to a Matrix room
21:25:51 <halloy8765> wait so am I neo
21:26:40 <geekosaur> https://discord.com/
21:26:48 berberman joins (~berberman@user/berberman)
21:26:49 <EvanR> follow the recursive knights of lambda calculus logo and see how deep it goes
21:26:51 <halloy8765> im not clicking that
21:26:54 <halloy8765> I think thats a vius
21:27:11 <geekosaur> you're not going to get very far with Discord, then
21:27:22 <EvanR> better to stick with IRC anyway
21:27:26 <halloy8765> whats irc
21:27:38 <halloy8765> I want to use discord to get an egirlfriend tho
21:31:25 unter-oe joins (~unter-oe@176.192.243.31)
21:31:25 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
21:31:25 unter-oe joins (~unter-oe@user/unter-oe)
21:33:58 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
21:35:08 halloy8765 is now known as dsfhdshdjtsb
21:35:13 <haskellbridge> <thirdofmay18081814goya> people please we need to focus, how is this done
21:35:19 × ambareesh quits (~ambareesh@128.61.222.184) (Changing host)
21:35:19 ambareesh joins (~ambareesh@user/ambareesh)
21:36:04 <haskellbridge> <thirdofmay18081814goya> i recently discovered the possibility that "Iso" might not even be the appropriate optic here and using an indexed optic might be the thing
21:36:07 × dsfhdshdjtsb quits (~halloy876@128-61-160-164.nat.gatech.edu) (Changing host)
21:36:07 dsfhdshdjtsb joins (~halloy876@user/dsfhdshdjtsb)
21:37:23 <haskellbridge> <thirdofmay18081814goya> "^@.. itraversed" annotates a list with an ordering
21:38:48 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
21:41:12 × dsfhdshdjtsb quits (~halloy876@user/dsfhdshdjtsb) (Quit: idk)
21:47:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
21:52:56 <haskellbridge> <thirdofmay18081814goya> "['a'..'z'] ^.. itraversed . indices even" bingo
21:53:49 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
21:55:28 <haskellbridge> <thirdofmay18081814goya> still interested whether there's an "Iso" form, if anyone knows
22:00:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:02:19 × tromp quits (~textual@2001:1c00:3487:1b00:9990:df71:bfb8:e2a2) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:02:28 × unter-oe quits (~unter-oe@user/unter-oe) (Ping timeout: 245 seconds)
22:04:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
22:04:59 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
22:07:13 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
22:08:51 unter-oe joins (~unter-oe@176.192.243.31)
22:08:51 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
22:08:51 unter-oe joins (~unter-oe@user/unter-oe)
22:10:06 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:15:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:26:59 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:29:58 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
22:33:09 × alp quits (~alp@2001:861:8ca0:4940:4762:76e1:2726:6dcf) (Ping timeout: 246 seconds)
22:40:09 mu` joins (~mu@user/byte)
22:41:28 × byte quits (~mu@user/byte) (Read error: Connection reset by peer)
22:51:42 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
22:55:07 emmanuelux joins (~emmanuelu@user/emmanuelux)
22:56:23 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:56:29 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
22:56:48 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
22:57:29 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:00:30 hattckory joins (~hattckory@70.27.118.207)
23:00:41 × sprotte24 quits (~sprotte24@p200300d16f1e0e006577a4ba097b8b9e.dip0.t-ipconnect.de) (Quit: Leaving)
23:02:58 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
23:05:34 × hattckory quits (~hattckory@70.27.118.207) (Ping timeout: 260 seconds)
23:09:06 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 248 seconds)
23:17:27 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
23:22:27 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
23:24:05 unter-oe joins (~unter-oe@176.192.243.31)
23:24:05 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
23:24:05 unter-oe joins (~unter-oe@user/unter-oe)
23:27:09 × otto_s quits (~user@p5de2f2eb.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
23:28:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
23:29:14 otto_s joins (~user@p5de2f1f7.dip0.t-ipconnect.de)
23:31:15 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
23:33:22 × unter-oe quits (~unter-oe@user/unter-oe) (Ping timeout: 252 seconds)
23:36:35 <monochrom> Is "we need to focus" a pun, given the context of lens? >:)
23:40:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:41:11 <haskellbridge> <thirdofmay18081814goya> "under (from enumerateIso) (filter (even . fst)) ['a'..'z']" 😎😎😎😎😎😎😎😎😎
23:42:18 gustavo joins (~gustavo@2804:18:588d:4c8:c297:170d:745e:29df)
23:42:39 <haskellbridge> <thirdofmay18081814goya> probably a more idiomatic way to do this, but it's a start
23:42:42 × acidjnk quits (~acidjnk@p200300d6e71c4f6101a7bfc96b38a12d.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
23:45:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
23:56:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)

All times are in UTC on 2025-03-30.