Home freenode/#haskell: Logs Calendar

Logs on 2021-03-17 (freenode/#haskell)

00:00:12 Alleria joins (~textual@mskresolve-a.mskcc.org)
00:00:27 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)
00:00:35 Alleria is now known as Guest2253
00:00:56 × jespada quits (~jespada@90.254.243.187) (Ping timeout: 265 seconds)
00:04:04 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
00:04:05 jespada joins (~jespada@90.254.243.187)
00:04:21 × Guest2253 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 246 seconds)
00:05:46 × apoc quits (~apoc@49.12.13.193) (Ping timeout: 265 seconds)
00:05:52 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
00:05:58 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 265 seconds)
00:06:12 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:06:42 hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:95b6:d0de:2d1d:5979)
00:07:29 sm_ is now known as sm
00:09:14 jrqc joins (~rofl@96.78.87.197)
00:11:45 fen joins (5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251)
00:13:06 <fen> how can i make something where i can bind values into scope to use in the definition of more values? only with simple algebraic expressions (+),(*),(/)(^) and all values as Doubles...
00:13:46 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
00:13:52 <Gurkenglas> > let x % y = mod x y in 3 % 2 % 1
00:13:54 <lambdabot> 0
00:14:25 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 256 seconds)
00:14:33 <fen> do i need a syntax tree? or a scope of some kind?
00:15:34 <Gurkenglas> fen, the above is a term, and can be used anywhere you could use mod 3 (mod 2 1) (or was the default association mod (mod 3 2) 1?)
00:16:06 <fen> i have an idea how i could do it with lists and some parametric types, but i was wondering if anyone that knew how it would be approached from a DSL style
00:16:06 <Gurkenglas> fen, what are you using to evaluate your haskell code? ghci? ghc? a website?
00:16:18 <fen> Gurkenglas: ghci
00:16:39 <fen> well ghc if i ever need to optimise it
00:17:14 jrqc joins (~rofl@96.78.87.197)
00:17:14 <fen> not sure what you meant about mod..
00:18:02 <Gurkenglas> fen, I was giving an example - defining the function (%) that can be used as a value of type Double -> Double -> Double
00:18:17 <fen> ok, why?
00:18:40 <fen> i didnt think it was directed at me at first, i cant see how its relevant
00:18:41 CoconutCrab joins (~Cua@unaffiliated/coconutcrab)
00:19:14 <fen> oh you have it using Doubles now, so i guess you wanted to extend the simple algebraic opperations set
00:19:18 <fen> ok, i understand now
00:19:19 <Gurkenglas> ah, i thought you wanted to know how to add simple algebraic expressions like (+),(*),(/),(^) to ghci's scope
00:19:22 <MarcelineVQ> directly, merely binding things with let and using them satisfies your need
00:19:45 <Gurkenglas> you can write x = 2+2 :: Double into ghci
00:19:55 <fen> {x=1,y=2,a1=x+y,a2=y+a1/2,a3=a1 % a2 ...
00:20:24 <fen> im binding values at each "new line"
00:20:47 <fen> they can only be bound to those declared so far, so it seems like an imperative language
00:21:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
00:21:43 <fen> MarcelineVQ "let" binds things into haskells scope, i wanted it bound inside a DSL
00:22:10 <Gurkenglas> If you really want to carry around a data structure, you can encode each instruction as [(String, Double)] -> [(String, Double)]
00:22:29 <fen> and use String lookup for variable names
00:22:41 <fen> could do, or just use their Int position in the list
00:22:53 <fen> but what if its an a data tree
00:22:59 <fen> idk what you call them
00:23:05 <fen> like an AST
00:24:04 <fen> like how people define simple lambda calculus with Var and Expr etc
00:24:50 <fen> i guess the way those are compled makes decleration order agnositc
00:25:30 <fen> i basically just want a polynomial where i can refer to the previous terms in the polynomial in the later terms
00:25:32 <fen> by name
00:25:38 <fen> or by position
00:25:49 <fen> and wanted to know how to represent this nicely in haskell
00:26:08 <Gurkenglas> does it need to be interpreted by a program you write in haskell, or can it be written directly in haskell?
00:26:10 <fen> since indexing with Nats is really a drag
00:26:44 <fen> in a haskell program, i want to be able to declare values of this kind of "deep" polynomial
00:26:57 <fen> so i just need a representation of it, which i dont want to have to use HLists for
00:26:58 <Gurkenglas> May I see the code that turned out a drag?
00:27:19 × sw1nn quits (~sw1nn@2a00:23c7:622f:2c00:377a:cf20:5183:83de) (Ping timeout: 272 seconds)
00:27:54 <Gurkenglas> https://hackage.haskell.org/package/bound-2.0.3/docs/Bound.html may be what you want
00:28:04 × dhil quits (~dhil@80.208.56.181) (Ping timeout: 256 seconds)
00:28:06 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
00:28:42 <fen> wow, thats perfect
00:30:23 <fen> actually i changed my mind, its overkill
00:30:59 <Gurkenglas> ekmett, building the libraries you're gonna need in 9 years. he works at MIRI lately, guess what that means for AI timelines :P
00:31:09 <fen> since i can refer to things by position... i guess the lookup over list version is gonna have to do...
00:33:33 ph88_ joins (~ph88@2a02:8109:9e00:7e5c:85cc:3a34:36cf:1a53)
00:33:38 × NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Ping timeout: 264 seconds)
00:34:09 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
00:34:17 × cole-h_ quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
00:34:41 <fen> i guess the "part thats a drag" is basically just having to have values that contain the index values and wanting to use lengthed lists to preven it accessing forwards terms
00:35:31 <fen> and the only reason its a drag is because i cant write abstractions over all these parametric lengthed containers
00:36:51 <fen> so then my program is a list of lines, on each line a variable indexed by the line number is defined as a sum using predfined opperators and having access to the values defined on previous lines
00:37:05 <fen> the whole thing is parametric and so can be tuned
00:37:40 <fen> so its like a deep net that can be initialised by, and read off into *polynomials*
00:38:33 <Gurkenglas> you just want something that can be interpreted as either an imperative program or a polynomial right
00:39:01 <fen> well you kind of compile it to the polynomial form by rewriting the terms
00:39:16 <fen> the important thing is the initialisation
00:39:16 sw1nn joins (~sw1nn@2a00:23c7:622f:2c00:b196:7c21:3dc:6adc)
00:39:41 <fen> since a polynomial fit surface is easy to identify, but normally impossible to use as an initial condition
00:40:08 <solidus-river> huh, i'm running into an issue i'm not sure how to fix with the type system and maybe
00:40:11 <solidus-river> https://paste.tomsmeding.com/9E5msPRS
00:41:01 <Gurkenglas> @let DoubleTerm = Halt | Let Double (Double -> DoubleTerm)
00:41:01 <lambdabot> Parse failed: Parse error: |
00:41:07 <Gurkenglas> @let data DoubleTerm = Halt | Let Double (Double -> DoubleTerm)
00:41:09 <lambdabot> Defined.
00:41:32 NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur)
00:41:54 <monochrom> solidus-river: You need an extra data constructor, e.g., newtype Funny = MkFunny (Maybe Int).
00:42:41 <monochrom> I have chosen MkFunny to be the name of the data constructor. You can replace it by a name of your choice.
00:42:45 <fen> would anyone like to help me write it?
00:42:58 dfeuer joins (~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net)
00:43:14 <solidus-river> monochrom: thanks! so whenever you do a newType if your going to be creating it you shoudl add some extra info in the constructor?
00:43:51 <monochrom> This is not extra info. This is just needing a constructor, and it needing a name.
00:44:30 <Gurkenglas> > let program = Let 1 $ \x -> Let 2 $ \y -> Let (x+y) $ \a1 -> Let (y+a1/2) $ \a2 -> Let (a1 * a2) $ \a3 -> Halt in program -- fen
00:44:32 <lambdabot> Let 1.0 <Double -> DoubleTerm>
00:45:24 <solidus-river> huh, i'm confused about data vs newtype
00:46:00 <monochrom> They share commonalities. And then you can understand "newtype" as "data" but severe restrictions.
00:46:10 <solidus-river> what you said worked for newtype but i also had a `newtype SimEvent = Int ByteString` but i had to change it to `data SimEvent = MkEvent Int Bytestring`
00:46:55 <Axman6> newtypes can specifically only wrap a single type
00:47:02 <monochrom> "newtype" allows one field only. That's why. If you want "I have 2 fields, an Int field and a ByteString field", you're forced back to "data".
00:47:19 <Gurkenglas> @let values :: DoubleTerm -> [Double]; values Halt = []; values (Let x f) = x : values (f x)
00:47:21 <lambdabot> Defined.
00:47:25 <Axman6> they are a type safe alias for another type - it's in the name, it basically gives a new type to an existing type
00:47:32 <Gurkenglas> > values $ Let 1 $ \x -> Let 2 $ \y -> Let (x+y) $ \a1 -> Let (y+a1/2) $ \a2 -> Let (a1 * a2) $ \a3 -> Halt
00:47:34 <lambdabot> [1.0,2.0,3.0,3.5,10.5]
00:47:59 <solidus-river> monochrom: thanks, wasn't sure if i was doingsomething wrong byt changing it
00:48:39 <Axman6> newtype Password = Password ByteString -- PAssword is distinct from ByteString in the type system, but at runtime is the same as ByteString, which might be important for performance
00:50:45 <fen> Gurkenglas: thats pretty rad, only using one lambda at each stage just to bring it into haskell scope
00:51:53 <solidus-river> Axman6 thanks, so if i want a newtype for my other type i need to find some tuple type holder, but that might be just extra work for nothing at this point
00:52:38 <fen> Gurkenglas: the problem is that i dont know how to generate such an expression progematically
00:52:46 <monochrom> Yes, "newtype P = MkP (Int, BS)" is OK. But more tedious than "data P = MkP Int BS".
00:52:52 <Gurkenglas> fen, from what input?
00:53:30 <monochrom> Then again you may also consider using (Int, BS) directly and not bother thinking up a type name.
00:53:38 <fen> well its a polynomial, so just a product of Double powers which with an overall multiplicative weighting are the parameters
00:54:02 <Axman6> solidus-river: well, newtype SimEvent = SimEvent (Int, ByteString) works, but is probably more annoying than data SimEvent = SimEvent Int ByteString (and if you need it, data SimEvent = SimEvent {-# UNPACK #-} !Int {-# UNPACK #-} !ByteString might be even better in terms of performance, if you don't need laziness)
00:54:20 <fen> 2 * x**1.1 * y**2
00:54:42 <fen> so i guess i need a lengthed list of input variables aswell
00:54:53 rajivr joins (uid269651@gateway/web/irccloud.com/x-uascrnncsdwthllt)
00:55:11 <fen> note these are just the monomials appearing on each line
00:55:37 <Gurkenglas> fen, i dont get it, what example input value would you like me to write a program to map to what output value
00:55:42 <solidus-river> Axman what does the UNPACK macro do? also I'm reading that forkIO is pre-emptive on memory allocation, does that mean I should be taking extra care when trying to do multiThreading on different sockets with forkIO? (manual sleeps etc)
00:55:46 <fen> the whole thing has a complicated number of parameters, but you can just lookup over the few most recent terms
00:56:02 <solidus-river> i'm ending my loops with yield, but i'm worried if i'm waiting for data over a socket for 10 seconds other threads are doing squat
00:57:41 × codygman` quits (~user@47.186.207.161) (Ping timeout: 265 seconds)
00:58:01 <fen> polynomial (Cons x xs) a@(Cons x (Cons y Empty)) -> Cons (monomial x a) $ polynomial xs a
00:58:35 × zebrag quits (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
00:58:58 zebrag joins (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
00:59:07 <fen> polynomial :: List (n::Nat) ... argh
00:59:18 <fen> cant write the contents type for the type of x
00:59:26 <fen> because it has variable length
00:59:38 × jespada quits (~jespada@90.254.243.187) (Ping timeout: 245 seconds)
00:59:51 <fen> so the list has to have length parametric entries
00:59:59 <fen> very complicated, sry
01:00:35 <Axman6> solidus-river: UNPACK changes the above definition from the C equivalent of struct { int * theInt; byteString * theByteString } into struct { int theInt; int byteStringLength; uint8_t * theByteStringData } - it removes a level of indirection by putting the Int ans the firlds of the bytestring directly into the SimEvent constructor (in a way you don't need to care about reconstructing them)
01:00:36 <Gurkenglas> so pretend haskell is less statically typed and risk that i will not implement the correct most static type
01:01:06 <fen> then i guess you just put (:) []
01:01:41 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
01:01:47 <Gurkenglas> exference might do that but im trying to guess what you want.
01:02:00 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
01:02:09 jespada joins (~jespada@90.254.243.187)
01:02:22 <solidus-river> Axman6: thats super cool, didn't know it was possible to get that level of perf control
01:02:33 jacks2 joins (~bc8134e3@217.29.117.252)
01:02:43 <fen> Polynomial :: [[Double]] -> [Double] -> Polynomial
01:02:47 <Gurkenglas> (Cons x xs) a@(Cons x (Cons y Empty)) binds x twice, are you sure?
01:02:57 <fen> no thats a typo
01:03:09 <Gurkenglas> rewrite that input-output pair then
01:03:10 <Axman6> solidus-river: it's no C or Ada level of control, but it can help with locality
01:04:31 mceier_ joins (~mceier@89-68-132-187.dynamic.chello.pl)
01:04:46 <Axman6> I'm looking forward to Word*# becomming actually 8 bits, that'll be a nice day
01:05:26 <solidus-river> Axman6: in what context do you use haskell?
01:05:47 <fen> polynomial [(1.1,[1,2]),(2.2,[3,4])] [5,6] = 1.1 * 5**1 * 6**2 + polynomial [(2.2,[3,4])] [5,6]
01:06:14 <Axman6> All of them
01:06:22 <Axman6> Haskell is Life
01:06:22 <fen> oh no! it doesnt use the created value
01:07:09 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
01:07:12 <fen> polynomial [(1.1,[1,2]),(2.2,[3,4])] [5,6] = let x =1.1 * 5**1 * 6**2 in x + polynomial [(2.2,[3,4])] [5,6,x]
01:07:30 <fen> but that messes up the arguments...
01:07:46 × mceier quits (~mceier@89-68-132-187.dynamic.chello.pl) (Ping timeout: 276 seconds)
01:07:54 <fen> they have to grow from the length of the input argument
01:08:14 <fen> polynomial [(1.1,[1,2]),(2.2,[3,4,4.5])] [5,6] = let x =1.1 * 5**1 * 6**2 in x + polynomial [(2.2,[3,4,4.5])] [5,6,x]
01:08:30 × Morrow_ quits (~MorrowM_@147.161.13.246) (Read error: Connection reset by peer)
01:08:30 × MorrowM quits (~MorrowM_@147.161.13.246) (Read error: Connection reset by peer)
01:09:00 <fen> so i thought it would be easier to just buffer at the length of the inputs
01:09:17 <fen> polynomial [(1.1,[1,2]),(2.2,[4,4.5])] [5,6] = let x =1.1 * 5**1 * 6**2 in x + polynomial [(2.2,[4,4.5])] [6,x]
01:10:00 frozenErebus joins (~frozenEre@37.231.243.22)
01:10:28 <spidr> all of them lol
01:10:30 <fen> to give a thick enough data pipe to transfer information through the stages to the output
01:10:36 × forgottenone quits (~forgotten@176.42.16.24) (Quit: Konversation terminated!)
01:10:53 <Gurkenglas> fen, why restrict the thickness of the pipe?
01:11:04 <fen> to get a regular length for the parameters
01:11:24 <Gurkenglas> Why do you want a regular length for the parameters?
01:11:36 <fen> well at least to know how many of them there are!
01:12:11 <Gurkenglas> you can carry the length around in the type and still increase it by one at each level.
01:12:26 <fen> also, fewer is better, since then it represents something more like a layered net, instead of as it is fully connected to all previous as a kind of diagonal net
01:12:27 <Axman6> spidr: a more helpful answer; I've used Haskell at... 6 different companies now, for everything from financial trading, web services, geospatial data munging, and now again for financial stuff, (though that's technically DAML, not Haskell)
01:12:36 <Axman6> uh, solidus-river, sorry spidr
01:13:05 <spidr> what about simple glue stuff
01:13:09 <spidr> talking to an API
01:13:14 <spidr> a webserver
01:13:22 <Axman6> yeah that too
01:13:25 <spidr> etc
01:13:26 <fen> thinking of the powers to the monomial terms that are over all previous monomial layers
01:13:38 <fen> as weights, along with the monomials weight
01:13:44 <Axman6> "Oh there's a web service, I better make A client for it in Servant)
01:13:47 <spidr> basically is it practical to replace bash/nodejs with
01:13:49 <spidr> haskell lol
01:14:09 <spidr> also perl to haskell
01:14:24 <spidr> a lot of stuff i do for work is glue, making applications talk to each other
01:14:28 <spidr> one api talk to another api
01:14:28 <Axman6> not only practical, but it's usually easy and producer really high performance servers.
01:14:33 <spidr> interesting
01:14:38 <fen> i dont really want the blowup in number of parameters growing with the depth
01:14:53 <spidr> dang now I really want to learn it
01:15:08 <spidr> I've never HAD to read a programming book before haskell
01:15:09 × NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Ping timeout: 244 seconds)
01:15:24 <Axman6> I can't remember what I was listening to the toehr day, but they were talking about rewriting PHP services in Haskell, and finding new bugs in their PHP because the PHP was too slow to trigger them, so they had to inject artificial slowdowns to keep everything working happily
01:15:44 <spidr> but I'm getting through Christopher Allen and Julie Moronuki's book
01:15:46 <fen> i guess i need a datastructure that can support both versions as a kind of lengthed list containing lengthed lists
01:16:17 <fen> but it might be difficult to write an evaluation scheme that works for both cases
01:16:21 <spidr> https://haskellbook.com/
01:16:21 <spidr> this
01:16:28 <spidr> or is there a better resource
01:17:26 × mrchampion quits (~mrchampio@38.18.109.23) (Remote host closed the connection)
01:17:38 <Axman6> I haven't read it but I've heard good things about it. Graham Hutton's Programming in Haskell is what we used in university, and it's since been updated, and is still highly recommended
01:17:59 <Axman6> god, I can't believe Real World Haskell is 12 years old, far out
01:19:35 DataComputist joins (~lumeng@50.43.26.251)
01:22:36 <fen> https://pastebin.com/raw/M2TJKL5T
01:22:51 NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur)
01:23:01 <Axman6> ConsLOL
01:23:41 <fen> probably could do with some infix sugar
01:24:09 Stanley00 joins (~stanley00@unaffiliated/stanley00)
01:24:41 <fen> oh yeah, i wanted them growing in length
01:26:45 mrchampion joins (~mrchampio@38.18.109.23)
01:26:49 <fen> https://pastebin.com/raw/hR2Fs3Yq
01:27:25 <Gurkenglas> @let polynomial instrs init = snd $ mapAccumL go init instrs where go s (c,es) = let x = c * product (zipWith (**) s es) in (tail s ++ [x], x)
01:27:28 <lambdabot> Defined.
01:27:51 <fen> :t polynomial
01:27:53 <lambdabot> (Traversable t, Floating c) => t (c, [c]) -> [c] -> t c
01:28:02 × conal quits (~conal@192.145.118.119) (Quit: Computer has gone to sleep.)
01:28:11 <fen> nice
01:28:44 <fen> so if i can map from this type safe container and apply that, should be done!
01:29:09 <Gurkenglas> or rewrite it to work on the type safe container.
01:30:12 <Gurkenglas> n8
01:32:41 manjaroi3 joins (~manjaro-i@183.217.97.244)
01:32:58 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
01:33:27 notzmv joins (~zmv@unaffiliated/zmv)
01:34:13 × sMuNiX quits (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) (Ping timeout: 265 seconds)
01:34:38 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 245 seconds)
01:36:55 travisb is now known as tabemann
01:36:56 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
01:37:53 × acidjnk_new quits (~acidjnk@p200300d0c72b9506e0723511d2830c2e.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
01:38:20 × theDon quits (~td@94.134.91.58) (Ping timeout: 256 seconds)
01:39:00 gitgoood joins (~gitgood@80-44-12-129.dynamic.dsl.as9105.com)
01:40:17 apoc joins (~apoc@49.12.13.193)
01:41:57 × gitgood quits (~gitgood@80-44-12-39.dynamic.dsl.as9105.com) (Ping timeout: 264 seconds)
01:42:09 <fen> seems to work https://pastebin.com/raw/d2MNn6Uj
01:43:23 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 256 seconds)
01:43:27 <fen> wait, is it backwards?
01:44:06 <fen> switching your definition to mapAccumR gives [11.313708498984761,5.656854249492381]
01:44:16 <fen> which seems more like its using the sqrt
01:44:31 manjaroi3 parts (~manjaro-i@183.217.97.244) ("leaving")
01:45:06 manjaroi3 joins (~manjaro-i@183.217.97.244)
01:45:07 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 244 seconds)
01:45:35 drbean joins (~drbean@TC210-63-209-44.static.apol.com.tw)
01:45:56 <fen> Gurkenglas: i just read your definition of polynomial, it does tail, does that mean its doing the buffering?
01:46:09 <fen> im not sure if the types on my container match up
01:49:26 <fen> and it should return the sum...
01:53:03 manjaroi3 is now known as InsideBreeze
01:54:08 × z0k quits (~user@115-186-141-88.nayatel.pk) (Quit: WeeChat 3.0)
01:54:20 <fen> this seems ok; https://pastebin.com/raw/mscyUYun
01:56:53 augnun joins (~augnun@2804:14c:658b:41bb:b8be:cb43:1724:b623)
01:58:40 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
01:58:47 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
02:02:52 ezrakilt_ joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
02:10:51 nfd joins (~nfd9001@2601:602:77f:1820:7826:d79f:3033:c241)
02:10:53 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
02:13:35 <fen> and that works i think for the fully connected version https://pastebin.com/raw/WmFFrRZC
02:15:15 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
02:15:50 spoonm joins (~spoonm@tokyo.spoonm.org)
02:18:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:19:13 conal joins (~conal@64.71.133.70)
02:24:09 Sgeo__ joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
02:24:36 × InsideBreeze quits (~manjaro-i@183.217.97.244) (Remote host closed the connection)
02:27:29 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 244 seconds)
02:27:30 × Sgeo_ quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 246 seconds)
02:28:59 <fen> and then, how do i "compile" this down to just one polynomial in the original variables?
02:30:17 × Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Ping timeout: 260 seconds)
02:30:54 × son0p_ quits (~son0p@181.58.39.182) (Quit: Lost terminal)
02:36:53 × glamas quits (~glamas@107.182.17.237) (Quit: ZNC 1.7.4 - https://znc.in)
02:37:32 manjaroi3 joins (~manjaro-i@183.217.97.244)
02:38:02 glamas joins (~glamas@107.182.17.237)
02:38:19 manjaroi3 is now known as InsideBreeze
02:41:57 × xff0x quits (~xff0x@2001:1a81:52ee:e100:f577:1f30:738f:e56) (Ping timeout: 260 seconds)
02:42:02 × renzhi quits (~renzhi@2607:fa49:653f:eb00::296e) (Ping timeout: 264 seconds)
02:43:35 xff0x joins (~xff0x@2001:1a81:5326:4900:3e74:f6d7:c8e5:a70d)
02:46:33 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
02:46:37 × ezrakilt_ quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
02:49:43 × molehillish quits (~molehilli@ip98-167-226-26.ph.ph.cox.net) (Remote host closed the connection)
02:50:15 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
02:52:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
02:54:42 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-rdlxtdjjstsfznpl) ()
02:55:14 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Ping timeout: 264 seconds)
02:55:24 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
02:56:12 × tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 246 seconds)
02:56:45 × augnun quits (~augnun@2804:14c:658b:41bb:b8be:cb43:1724:b623) (Quit: WeeChat 3.1)
02:57:03 × alx741 quits (~alx741@186.178.109.138) (Quit: alx741)
02:58:08 <infinisil> fen: Why is there an (S m) in Poly?
02:58:25 molehillish joins (~molehilli@ip98-167-226-26.ph.ph.cox.net)
02:58:31 <fen> its not really a "polynomial"
02:58:49 <infinisil> Ah I haven't read the backlog
02:58:55 <fen> its like a polynomial where it can refer to the previous monmials as if they were input variables
02:59:22 <fen> so it should be evaluable to a polynomial in just these input variables...
02:59:41 <fen> for differentiation, otherwise this thing has product rule terms
03:00:00 <spidr> are you all math majors
03:00:06 <infinisil> fen: What do you mean by "compile" it down?
03:00:14 Alleria joins (~textual@mskresolve-a.mskcc.org)
03:00:37 Alleria is now known as Guest8076
03:01:12 <fen> well, the previous monomials are thought of as bound variables, so dereferencfing over those and rewriting them in terms of eventually just the inputs, and you have to kind of multiply down the powers, distributing over the product of terms in each monomial
03:02:37 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
03:02:51 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
03:02:56 <infinisil> Got an example of that?
03:02:59 <fen> so each monomial basically just expands and you are left with as many terms at the end
03:04:20 <fen> f (x,y,z) = "a=" x*y*(z**0) + "b=" 2*x^^0*y*z*a
03:04:26 × drbean quits (~drbean@TC210-63-209-44.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
03:04:26 <fen> can be rewritten;
03:04:48 <fen> f (x,y,z) = x*y*(z**0) + "b=" 2*x^^0*y*z*x*y*(z**0)
03:04:59 <fen> f (x,y,z) = x*y*(z**0) + 2*x^^0*y*z*x*y*(z**0)
03:05:05 × Guest8076 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 265 seconds)
03:05:18 <fen> i guess you have to collect terms and combine powers
03:05:21 <infinisil> Ah I see
03:05:26 × nfd quits (~nfd9001@2601:602:77f:1820:7826:d79f:3033:c241) (Ping timeout: 264 seconds)
03:05:34 <fen> and if there had been a power on the `a'
03:05:49 <fen> f (x,y,z) = "a=" x*y*(z**0) + "b=" 2*x^^0*y*z*(a**0.5)
03:05:50 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
03:05:50 finn_elija is now known as Guest80609
03:05:50 FinnElija is now known as finn_elija
03:06:05 <fen> f (x,y,z) = x*y*(z**0) + 2*x^^0*y*z*(x*y*(z**0))**0.5
03:06:16 <fen> f (x,y,z) = x*y*(z**0) + 2*x**0*y*z*(x*y*(z**0))**0.5
03:07:00 <infinisil> So for a start, I suggest renaming your pseudo-polynomial type to something different, and then creating an actual Polynomial type that captures the result you want
03:07:07 <fen> where then you have to; distribute the power over the rewritten terms,collect terms and combine powers
03:07:14 <infinisil> Then write a function that changes the pseudo-polynomial into a proper one
03:07:18 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
03:07:44 <fen> and back again
03:08:11 tomku joins (~tomku@unaffiliated/tomku)
03:08:13 <fen> and something then can rewrite the pseudo-polynomial into this form
03:08:55 × Guest80609 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
03:09:51 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
03:11:28 × tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Remote host closed the connection)
03:14:25 Alleria__ joins (~textual@mskresolve-a.mskcc.org)
03:14:38 tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io)
03:15:45 × m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 256 seconds)
03:19:06 × Alleria__ quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 260 seconds)
03:31:15 <fen> infinisil: https://pastebin.com/raw/Z6J6yybf
03:34:43 <infinisil> fen: Nice, what would the type be of a function that converts from PolyDeep to Polynomial?
03:36:02 <fen> the type parameters on PolyDeep are the input and output lengths, so it depends how deep it is, but with no extra monomials it would be Polynomial n -> PolyDeep n n
03:36:39 <infinisil> fen: *from* PolyDeep to Polynomial
03:36:49 <fen> now, in the other direction, any amount of extra zero monomials (0*(x**0 * y ** 0 ...)) can be used as padding
03:37:23 <fen> oh wait, thats in the same direction, to initialise an extension having mapped into the lower terms
03:37:49 <fen> generally we should have forall n m. PolyDeep m n -> Polynomial n
03:37:58 <fen> if i have the arguments the right way round
03:38:26 <fen> which says that we can squash down any `m' depthed PolyDeep into a polynomial the length of its first layer
03:38:44 <fen> well, the "layers" are more like a diagonal...
03:38:47 <infinisil> Yeah that sounds right
03:39:11 <infinisil> So the goal is to implement a function PolyDeep m n -> Polynomial n
03:39:15 <fen> were you thinking to try and store the intermediate values in the PolyDeep container?
03:39:36 <fen> squashing it down one layer at a time seems feasible
03:40:01 <infinisil> Yeah, no need to store intermediate results anywhere, using recursion should work
03:40:17 <fen> so you would end up with PolyDeep n n, and then only need PolyDeep n n -> Polynomial n which should be trivial to write
03:40:39 <fen> i dont see how you wouldnt need intermediate values...
03:41:02 <infinisil> Create a function with such a type, then pattern match on the PolyDeep for a start
03:41:03 <fen> i would recurse on a class with parameters m n
03:41:53 <fen> yeah the basecase should be easy, but i dont think i can write the recursive case
03:44:25 <infinisil> fen: Give it a try. Keep in mind that in the recursive case you can rely on such a `deepToPoly` function having converting an m-PolyDeep into a Polynomial already
03:45:06 hrnz parts (~hrnz@unaffiliated/hrnz) ("der channel hier ist nicht mein niveau ciao")
03:46:45 <infinisil> (Gotta go sleep now though)
03:48:47 × dfeuer quits (~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net) (Remote host closed the connection)
03:52:41 × solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection)
03:56:11 <fen> cheers
04:02:22 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
04:02:35 longtran joins (465f9847@cpe-70-95-152-71.san.res.rr.com)
04:08:16 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
04:08:32 Stanley00 joins (~stanley00@unaffiliated/stanley00)
04:08:37 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
04:08:40 fiddlerwoaroof_ is now known as fiddlerwoaroof
04:11:04 × molehillish quits (~molehilli@ip98-167-226-26.ph.ph.cox.net) (Remote host closed the connection)
04:12:45 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
04:14:20 plutoniix joins (~q@184.82.210.215)
04:16:02 kilolympus joins (~kilolympu@5.151.5.181)
04:17:26 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 260 seconds)
04:21:37 <koz_> How does one get hold of the State# s needed to call newByteArray#?
04:21:37 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:21:48 shad0w_ joins (a0ca25d0@160.202.37.208)
04:22:12 Tario joins (~Tario@201.192.165.173)
04:25:07 cur8or joins (~cur8or@72canterbury.cybersmart.co.za)
04:26:19 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 244 seconds)
04:26:46 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 265 seconds)
04:27:16 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-uojiocmqissodtcu)
04:28:06 Shiranai joins (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228)
04:31:43 <glguy> koz_, generally there's not a good reason for you to do that, to see how you can look at what the primitive package does
04:31:50 <glguy> If you can just use that package you should
04:31:57 <koz_> glguy: Noted, and thanks!
04:32:16 <koz_> I actually need this because I'm writing something back-ended by ByteArray#.
04:33:33 × cur8or quits (~cur8or@72canterbury.cybersmart.co.za) (Ping timeout: 244 seconds)
04:33:52 geowiesnot_bis joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
04:35:27 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
04:36:14 <Axman6> you kist write functions that accept a State# s and return (# State# s, a #) IIRC
04:36:15 <emmanuel_erc> Hello there.... for normal typeclasses it is generally possible to convert some it to the equivalent function dictionary (e.g. the Eq, or Ord typeclass)
04:36:27 <emmanuel_erc> However, what if the typeclass has an associated type or data?
04:36:46 <emmanuel_erc> Is it possible to do the conversion as well in that instance?
04:37:09 <c_wraith> you convert it into a dictionary and define type/data instances outside of the dictionary.
04:37:35 <c_wraith> There's no requirement that type families or data families be tied to a class
04:37:36 × ph88_ quits (~ph88@2a02:8109:9e00:7e5c:85cc:3a34:36cf:1a53) (Ping timeout: 265 seconds)
04:38:26 ejjfunky joins (7da36f81@125.163.111.129)
04:38:41 <emmanuel_erc> c_wraith: I guess I was overthinking it. I thought GHC did something else sosphicated when compiling typeclass definitions that have associated types/datum
04:38:48 <emmanuel_erc> s/datum/data/
04:39:21 <c_wraith> nah. it's really that easy
04:40:02 <emmanuel_erc> I guess it's better when GHC does it, since it does the bookkeeping for you.
04:40:15 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
04:40:19 <c_wraith> yeah, it makes sure you don't forget stuff
04:40:40 conal joins (~conal@64.71.133.70)
04:41:12 × Shiranai quits (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) (Quit: Connection closed)
04:41:54 × minoru_shiraeesh quits (~shiraeesh@46.34.206.65) (Ping timeout: 246 seconds)
04:45:26 × conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds)
04:47:59 × monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER)
04:47:59 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
04:48:18 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
04:48:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:48:45 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
04:48:54 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
04:53:35 × ejjfunky quits (7da36f81@125.163.111.129) (Quit: Connection closed)
04:54:29 × astroanax quits (astroanax@gateway/shell/ircnow/x-soogubkvrbnfsoqt) (Quit: quit)
04:54:47 × longtran quits (465f9847@cpe-70-95-152-71.san.res.rr.com) (Quit: Connection closed)
04:57:25 ejjfunky joins (7da36f81@125.163.111.129)
04:57:58 monochrom joins (trebla@216.138.220.146)
04:59:27 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
05:00:12 Alleria joins (~textual@mskresolve-a.mskcc.org)
05:00:35 Alleria is now known as Guest19377
05:02:23 astroanax joins (astroanax@gateway/shell/ircnow/x-ugavefgpyfztxwoh)
05:02:57 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
05:04:33 × Guest19377 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 256 seconds)
05:04:34 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
05:05:27 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
05:07:23 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
05:18:15 Alleria__ joins (~textual@zrcout.mskcc.org)
05:22:34 × Alleria__ quits (~textual@zrcout.mskcc.org) (Ping timeout: 245 seconds)
05:22:34 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
05:22:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
05:23:00 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
05:25:24 theDon joins (~td@94.134.91.246)
05:30:15 Alleria__ joins (~textual@mskresolve-a.mskcc.org)
05:31:11 × theDon quits (~td@94.134.91.246) (Ping timeout: 256 seconds)
05:31:59 × Wuzzy quits (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) (Remote host closed the connection)
05:32:14 × teardown quits (~user@gateway/tor-sasl/mrush) (Remote host closed the connection)
05:32:19 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
05:32:37 theDon joins (~td@94.134.91.246)
05:34:15 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
05:34:54 × Alleria__ quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 260 seconds)
05:37:45 teardown joins (~user@gateway/tor-sasl/mrush)
05:41:50 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (Quit: leaving)
05:42:37 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
05:43:05 bobweb joins (ac3810b1@172.56.16.177)
05:43:08 × tanuki quits (~quassel@173.168.154.189) (Ping timeout: 256 seconds)
05:43:15 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:44:50 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
05:45:55 forgottenone joins (~forgotten@176.42.16.24)
05:46:35 MahmoudMAZOUZ[m] joins (mazouzmaen@gateway/shell/matrix.org/x-stmztyxtngssovxi)
05:48:27 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
05:50:20 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
05:52:33 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 245 seconds)
05:52:52 × carlomagno quits (~cararell@148.87.23.5) (Quit: Leaving.)
05:54:09 <bobweb> Hi. Learning about monoids from the Haskell Book chapter 15 and I have this problem: https://paste.tomsmeding.com/i4Z3VUm5 Please help if you can. Thank you.
05:54:14 sh9 joins (~sh9@softbank060116136158.bbtec.net)
05:55:24 <koz_> You're using 'Only 1'. However, the literal '1' can have many types.
05:56:03 <koz_> At least I think that's what it's complaining about.
05:56:10 <koz_> Hard to see without more context.
05:57:07 <bobweb> koz: Hi again. Yes, I can make it work with (Sum 1), but the book doesn't mention this in this example so I figured I was missing something.
05:57:21 toorevitimirp joins (~tooreviti@117.182.183.55)
05:57:40 <koz_> Yeah, I'm not sure either.
05:58:19 <bobweb> OK, so it's not just me this time. Thanks again for your help.
05:58:31 mceier_ is now known as mceier
05:58:50 Hi-Angel joins (~constanti@broadband-188-32-15-112.ip.moscow.rt.ru)
06:03:03 × jacks2 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
06:04:22 × bobweb quits (ac3810b1@172.56.16.177) (Ping timeout: 240 seconds)
06:04:26 <curiousgay> monochrom: tomsmeding: stack doesn't provide GHC with haddock and I can't build any version of haddock with stack
06:06:00 <curiousgay> never mind, it does
06:08:39 cole-h_ joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
06:11:57 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:15:02 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
06:17:06 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
06:17:54 cole-h_ is now known as cole-h
06:20:43 idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
06:20:43 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
06:21:23 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
06:22:20 × zebrag quits (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
06:24:18 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
06:26:01 Marklkajsdfj joins (1fd09b60@31-208-155-96.cust.bredband2.com)
06:26:31 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
06:27:23 hackage aviation-units 0.0.2 - Units of measurements used in aviation. https://hackage.haskell.org/package/aviation-units-0.0.2 (TonyMorris)
06:29:03 jud joins (~jud@unaffiliated/jud)
06:29:07 × Marklkajsdfj quits (1fd09b60@31-208-155-96.cust.bredband2.com) (Client Quit)
06:29:21 puffnfre- joins (~puffnfres@45.76.124.5)
06:29:32 × puffnfresh_ quits (~puffnfres@45.76.124.5) (Ping timeout: 265 seconds)
06:29:58 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
06:30:00 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:32:48 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
06:33:09 finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
06:34:13 × waleee-cl quits (uid373333@gateway/web/irccloud.com/x-trkstrvybvcbmzax) (Quit: Connection closed for inactivity)
06:34:27 puke joins (~vroom@217.138.252.180)
06:34:57 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
06:37:30 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:38:23 hackage aviation-weight-balance 0.0.2 - Weight and Balance structures used in aviation. https://hackage.haskell.org/package/aviation-weight-balance-0.0.2 (TonyMorris)
06:38:24 <hololeap> i've been playing around with a GADT for monad transformer stacks, just out of curiosity: https://dpaste.com/H5A693S5H
06:39:02 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
06:39:22 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Remote host closed the connection)
06:39:38 <hololeap> i'm wondering if there is a way to write liftStack with the current signature, or would i have to pass in some sort of singleton so i can pattern match based on what 'ts' looks like
06:39:48 vgtw joins (~vgtw@gateway/tor-sasl/vgtw)
06:40:45 × fen quits (5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251) (Ping timeout: 264 seconds)
06:40:53 × InsideBreeze quits (~manjaro-i@183.217.97.244) (Ping timeout: 245 seconds)
06:43:43 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
06:43:49 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
06:43:50 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
06:44:05 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
06:44:22 × srk quits (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
06:44:22 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
06:44:33 × andreas31 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
06:44:35 srk joins (~sorki@gateway/tor-sasl/sorki)
06:44:40 hexo joins (~hexo@gateway/tor-sasl/hexo)
06:44:55 <koz_> Yeah, you'd need to know the shape, because otherwise, what constructor do you need?
06:45:05 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Remote host closed the connection)
06:45:09 andreas31 joins (~andreas@gateway/tor-sasl/andreas303)
06:45:38 <hololeap> right
06:45:52 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
06:46:38 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
06:47:03 <hololeap> i vaguely remember there was some way to pattern match based solely on the type, but maybe i'm mistaken
06:48:07 <hololeap> it had something to do with pattern matching on SomeException
06:48:29 <koz_> In this case, you kinda can't.
06:48:34 <hololeap> so i was thinking it might be possible to pattern match on (Proxy @ts)
06:48:36 <koz_> You need to know what exact 'shape' ts has.
06:48:44 <koz_> So you need a _runtime_ witness to this.
06:48:44 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
06:49:11 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
06:49:23 hackage aviation-cessna172-weight-balance 0.0.2 - Weight and Balance for the Cessna 172 aircraft in aviation. https://hackage.haskell.org/package/aviation-cessna172-weight-balance-0.0.2 (TonyMorris)
06:49:49 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
06:50:10 Varis joins (~Tadas@unaffiliated/varis)
06:51:05 <hololeap> alright
06:51:23 <koz_> I think there's some package that gives specifically typelevel list singletons.
06:51:29 <koz_> (which isn't singletons-the-package)
06:51:46 <hololeap> well, if i was more invested in this experiment i might care
06:51:50 <hololeap> lol
06:52:26 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:52:40 <hololeap> i think i've seen that package before. in any case, it wouldn't be too hard to write a one-off singleton
06:52:52 × barnowl_ quits (~barnowl@gateway/tor-sasl/barnowl) (Remote host closed the connection)
06:53:16 barnowl_ joins (~barnowl@gateway/tor-sasl/barnowl)
06:53:17 <hololeap> but this file is most likely going to die in /tmp
06:53:18 <koz_> It has a few nice helpers too.
06:53:22 <koz_> Oh well.
06:54:10 InsideBreeze joins (~manjaro-i@183.217.98.211)
06:56:55 vicfred joins (vicfred@gateway/vpn/mullvad/vicfred)
06:56:59 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:00:27 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Remote host closed the connection)
07:00:27 × kam1 quits (~kam1@83.123.167.219) (Remote host closed the connection)
07:00:43 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
07:00:43 kam1 joins (~kam1@83.123.167.219)
07:02:24 malumore joins (~malumore@151.62.112.239)
07:07:01 cur8or joins (~cur8or@72canterbury.cybersmart.co.za)
07:07:14 bitmagie joins (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de)
07:07:32 × jol quits (jol@jol.dev) (Quit: ZNC 1.7.5 - https://znc.in)
07:07:33 × SolarAquarion quits (SolarAquar@gateway/shell/panicbnc/x-xrdswepzyygrznne) (Remote host closed the connection)
07:07:55 jol joins (~jol@jol.dev)
07:08:05 × bitmagie quits (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de) (Client Quit)
07:09:11 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
07:09:45 <hololeap> koz_: a cursory glance at `cabal list list` and `cabal list singleton` didn't find it. i'm curious so if you find it, let me know
07:09:58 <koz_> hololeap: It's not simply named.
07:10:05 <koz_> Let me see if I can re-dredge that train of memory.
07:10:28 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 276 seconds)
07:10:41 hololeap imagines koz_'s eyes rolling to the back of their head
07:11:31 <koz_> sop-core
07:12:02 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
07:12:04 × idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
07:12:08 <koz_> (or at least I think)
07:13:27 <hololeap> https://hackage.haskell.org/package/sop-core/docs/Data-SOP-Sing.html
07:13:39 <koz_> https://hackage.haskell.org/package/sop-core-0.5.0.1/docs/Data-SOP.html#v:sList
07:13:46 <hololeap> ha
07:13:50 michalz joins (~user@185.246.204.39)
07:13:57 <koz_> Also: https://hackage.haskell.org/package/sop-core-0.5.0.1/docs/Data-SOP.html#t:Shape
07:14:03 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:14:08 <hololeap> i haven't seen that one before. and there's no way i would have found that by searching
07:14:22 <koz_> hololeap: I only found it by accident, then filed it in a dusty corner of my brain.
07:14:28 <koz_> (with a red string leading to it)
07:14:42 <hololeap> nice, thanks
07:14:47 <hololeap> i will bookmark it
07:14:58 × kam1 quits (~kam1@83.123.167.219) (Read error: Connection reset by peer)
07:17:23 hackage aviation-cessna172-diagrams 0.0.3 - Diagrams for the Cessna 172 aircraft in aviation. https://hackage.haskell.org/package/aviation-cessna172-diagrams-0.0.3 (TonyMorris)
07:17:31 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8)
07:18:31 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
07:19:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:20:09 × teardown quits (~user@gateway/tor-sasl/mrush) (Remote host closed the connection)
07:20:28 teardown joins (~user@gateway/tor-sasl/mrush)
07:25:53 kam1 joins (~kam1@83.123.167.219)
07:29:57 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds)
07:29:59 × Sgeo__ quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
07:33:35 LKoen joins (~LKoen@194.250.88.92.rev.sfr.net)
07:40:47 timCF joins (~i.tkachuk@200-149-20-81.sta.estpak.ee)
07:41:06 × timCF quits (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Client Quit)
07:41:18 × adium quits (adium@unaffiliated/adium) (Ping timeout: 245 seconds)
07:41:34 × e2 quits (e2@sponsored.by.bnc4you.xyz) (Ping timeout: 256 seconds)
07:42:25 × kam1 quits (~kam1@83.123.167.219) (Read error: Connection reset by peer)
07:47:43 chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de)
07:48:19 × frozenErebus quits (~frozenEre@37.231.243.22) (Ping timeout: 256 seconds)
07:53:23 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
07:55:09 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
07:58:19 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
07:58:41 cfricke joins (~cfricke@unaffiliated/cfricke)
08:02:01 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
08:02:53 idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
08:02:57 <dminuoso> edwardk: Is there a reason you prefer `traverse` over `each`?
08:03:26 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
08:04:54 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
08:06:18 Yumasi joins (~guillaume@2a01:e0a:5cb:4430:a837:43a1:f9fb:9eec)
08:09:06 × Paks quits (~paks@c-69-136-183-189.hsd1.il.comcast.net) (Ping timeout: 265 seconds)
08:09:21 Paks joins (~paks@c-69-136-183-189.hsd1.il.comcast.net)
08:10:53 × vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
08:13:17 × unlink_ quits (~unlink2@p200300ebcf13b600588c7881abb1ea42.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
08:15:35 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:95b6:d0de:2d1d:5979) (Ping timeout: 265 seconds)
08:18:21 × wz1000 quits (~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 256 seconds)
08:18:49 Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net)
08:18:51 ph88_ joins (~ph88@2a02:8109:9e00:7e5c:85cc:3a34:36cf:1a53)
08:18:52 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
08:19:15 asheshambasta joins (~user@ptr-e1lysauv56fsp3y7v62.18120a2.ip6.access.telenet.be)
08:19:16 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
08:20:20 raym joins (~ray@115.187.32.14)
08:20:37 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 256 seconds)
08:21:05 SolarAquarion joins (SolarAquar@gateway/shell/panicbnc/x-lgjxlcwpqdmnxdiz)
08:21:13 wz1000 joins (~wz1000@static.11.113.47.78.clients.your-server.de)
08:23:29 jrqc joins (~rofl@96.78.87.197)
08:25:02 <edwardk> dminuoso: it is in prelude?
08:25:33 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
08:25:38 <edwardk> each.each._Just is fairly gratuitous by comparison
08:25:38 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
08:25:51 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
08:25:52 <edwardk> given it matches the behavior of traverse.traverse.traverse which can be had without even looking at lens
08:26:24 <dminuoso> Fair enough
08:26:43 hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:e36e:9885:3dcc:fcb4)
08:27:21 <koz_> traverse truly does do everything.
08:29:29 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
08:29:56 frozenErebus joins (~frozenEre@37.231.243.22)
08:30:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:32:00 × natechan quits (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
08:32:33 × wz1000 quits (~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 246 seconds)
08:32:33 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
08:32:57 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
08:33:24 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
08:33:39 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 256 seconds)
08:33:40 wz1000 joins (~wz1000@static.11.113.47.78.clients.your-server.de)
08:33:54 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
08:34:17 natechan joins (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
08:37:14 Varis joins (~Tadas@unaffiliated/varis)
08:38:14 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
08:39:23 hackage juandelacosa 0.1.2 - Manage users in MariaDB >= 10.1.1 https://hackage.haskell.org/package/juandelacosa-0.1.2 (ip1981)
08:39:23 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
08:39:32 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
08:45:31 bitmagie joins (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de)
08:46:52 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-uojiocmqissodtcu) (Quit: Connection closed for inactivity)
08:47:11 famubu joins (~famubu@59.97.57.154)
08:47:46 × malumore quits (~malumore@151.62.112.239) (Ping timeout: 265 seconds)
08:51:16 <curiousgay> gentle introduction: "Class methods may be named either in the manner of data constructors, in parentheses following the class name, or as ordinary variables."
08:51:24 jrqc joins (rofl@2603:3016:805:8f20:e1a6:a5b:7383:5872)
08:51:40 <curiousgay> while I understand the first part, I don't get the part about variables even after reading Haskell Report
08:52:21 kritzefitz joins (~kritzefit@fw-front.credativ.com)
08:53:38 timCF joins (~i.tkachuk@200-149-20-81.sta.estpak.ee)
08:53:40 lokesh84 joins (cbc182d2@203.193.130.210)
08:55:01 <famubu> Hi. I was trying to implement a function to get the length of a list while learning haskell. This is what I tried: https://paste.tomsmeding.com/JZ5Oebwb I couldn't figure out what the error meant. Can't we use do comparison for empty list in pattern matching?
08:56:08 × DirefulSalt quits (~DirefulSa@109.201.152.168) (Remote host closed the connection)
08:56:11 <timCF> Hello! Is there any way to apply first/second/bimap to ExceptT expression? When I have `x :: m (Either a b)` it can be done with `bimap f g <$> x`, but with `y :: EitherT a m b` it seems not working..
08:56:15 wopas32 joins (uid384704@gateway/web/irccloud.com/x-hsnlglyvipewztro)
08:56:27 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
08:56:46 <hololeap> curiousgay: it's talking about exporting class methods, which could be listed explicitly in the class, or elsewhere in the form of `f :: C t => t -> a` (for example)
08:56:57 × Paks quits (~paks@c-69-136-183-189.hsd1.il.comcast.net) (Ping timeout: 264 seconds)
08:57:09 × ph88_ quits (~ph88@2a02:8109:9e00:7e5c:85cc:3a34:36cf:1a53) (Ping timeout: 265 seconds)
08:57:15 <timCF> * I meant `ExceptT` not `EitherT`
08:57:25 Paks joins (~paks@c-69-136-183-189.hsd1.il.comcast.net)
08:57:40 <hololeap> curiousgay: when you export/import a class method that is explicitly part of the class, it follows the same form as a data constructor
08:58:14 <LKoen> famubu: my understanding is that you need to do pattern-matching rather than test for equality; if you want to test for equality you need the whole type [a] to support equality, which requires a to support equality, in which case you should add the requirement "Eq a" to the signature
08:58:36 <hololeap> curiousgay: import Control.Monad.Trans.Class (MonadTrans (lift)) -- like this
08:58:42 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
08:59:07 <curiousgay> hololeap: I said I understand the first part but don't understand the part about variables
08:59:49 <merijn> curiousgay: It's just saying that "module Foo (MyClass(foo))" and "module Foo (MyClass, foo)" are equivalent
08:59:49 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:00:08 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:00:13 Alleria joins (~textual@zrcout.mskcc.org)
09:00:15 <merijn> timCF: EitherT isn't a bifunctor
09:00:21 <merijn> timCF: Neither is ExceptT
09:00:29 <curiousgay> merijn: you mean qvar doesn't rename methods?
09:00:36 Alleria is now known as Guest36438
09:00:47 <famubu> LKoen: That must've been it. I changed it to `listLength [] = 0` and then it worked. Thanks!
09:00:54 <merijn> curiousgay: I have no clue who/what qvar refers too
09:01:06 <hololeap> curiousgay: if you look at Data.Foldable, you'll see mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
09:01:11 × asheshambasta quits (~user@ptr-e1lysauv56fsp3y7v62.18120a2.ip6.access.telenet.be) (Ping timeout: 244 seconds)
09:01:18 <merijn> famubu: Right, because pattern matching doesn't use Eq nor == :)
09:01:36 <hololeap> curiousgay: mapM_ isn't explicitly part of the Foldable class, but it's still a class method. i think that's what it is talking about
09:01:40 <timCF> merijn: well, I think I found function close enough to `first`, it's called `withExceptT`
09:01:46 <curiousgay> merijn: https://www.haskell.org/onlinereport/haskell2010/haskellch5.html in 5.2 mentions qvar as a single statement
09:01:47 Sorny joins (~Sornaensi@79.142.232.102)
09:02:02 <famubu> merijn: I see. Still new to Haskell. :-D
09:03:05 <merijn> famubu: Common beginner mistake to rely on "== []" over pattern matching :)
09:03:22 coot joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl)
09:03:22 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:03:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Ping timeout: 264 seconds)
09:03:43 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:04:32 acidjnk_new joins (~acidjnk@p200300d0c72b9506e0723511d2830c2e.dip0.t-ipconnect.de)
09:04:50 × jrqc quits (rofl@2603:3016:805:8f20:e1a6:a5b:7383:5872) (Ping timeout: 264 seconds)
09:04:54 × Guest36438 quits (~textual@zrcout.mskcc.org) (Ping timeout: 260 seconds)
09:04:54 × Sorna quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 260 seconds)
09:05:10 peutri_ is now known as peutri
09:05:38 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
09:05:49 unlink_ joins (~unlink2@p200300ebcf13b600588c7881abb1ea42.dip0.t-ipconnect.de)
09:06:37 <hololeap> timCF: you can use `liftEither :: MonadError e m => Either e a -> m a` and `ExceptT :: m (Either e a) -> ExceptT e m a`
09:06:38 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:06:43 <curiousgay> hololeap: it's talking about naming values, field names and class methods as variables
09:06:48 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:06:53 hackage tree-diff 0.2 - Diffing of (expression) trees. https://hackage.haskell.org/package/tree-diff-0.2 (phadej)
09:07:34 <hololeap> curiousgay: if i understand correctly, mapM_ is an example of a class method as a variable
09:07:34 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:07:44 <curiousgay> 5.2 in Haskell report says: "A value, field name, or class method, whether declared in the module body or imported, may be named by giving the name of the value as a qvarid, which must be in scope. Operators should be enclosed in parentheses to turn them into qvarids."
09:07:54 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:08:57 Sorny is now known as Sornaensis
09:09:04 <dminuoso> curiousgay: I think you misunderstand what "variable" means.
09:09:14 jrqc joins (~rofl@96.78.87.197)
09:09:21 <dminuoso> In Haskell we use "variable" in a more mathematical sense. That is "variable" is not a mutable reference
09:09:25 <merijn> Also, don't mix "lexical definition" and "language semantics"
09:09:38 <dminuoso> It's rather a placeholder that refers to some expression/value
09:09:58 <hololeap> dminuoso: or function, right?
09:10:07 <dminuoso> (It's variable in the sense that if you wrote `let x = 5 in exp` you could vary the value of `x` without altering `exp`
09:10:16 <dminuoso> hololeap: functions are values
09:10:28 <curiousgay> dminuoso: I understand the mathematical sense of variables, but I'm confused about defining them inside module/import declaration
09:10:32 <hololeap> just wanted to clarify
09:10:41 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds)
09:10:52 idhugo_ joins (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net)
09:11:29 <hololeap> curiousgay: it's the easiest case
09:11:29 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:11:33 <dminuoso> curiousgay: In simple terms, you can import *variables* by writing `import Mod (var1, var2, ...)`
09:11:54 Alleria__ joins (~textual@zrcout.mskcc.org)
09:11:57 <dminuoso> But `MyClass(var)` is just special syntax, however
09:11:59 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:12:05 × nitrix quits (~nitrix@haskell/developer/nitrix) (Quit: Genius is one percent inspiration and ninety-nine percent perspiration)
09:12:26 <dminuoso> And it turns out, methods are just variables
09:12:44 <curiousgay> dminuoso: that's what the first part in gentle introduction before the word "or" said
09:12:59 <curiousgay> ah
09:13:23 × idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
09:13:23 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:13:26 <curiousgay> never mind, you didn't write nested brackets
09:13:34 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:16:05 fiQ2 joins (~fiQ@mirkk.ninja)
09:16:17 ADG1089__ joins (~aditya@106.214.253.186)
09:16:43 × Alleria__ quits (~textual@zrcout.mskcc.org) (Ping timeout: 256 seconds)
09:16:44 nitrix joins (~nitrix@haskell/developer/nitrix)
09:18:53 hackage eventlog2html 0.9.0 - Visualise an eventlog https://hackage.haskell.org/package/eventlog2html-0.9.0 (mpickering)
09:19:12 × bitmagie quits (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de) (Quit: bitmagie)
09:20:55 malumore joins (~malumore@151.62.112.239)
09:22:06 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
09:23:05 ADG1089__ joins (~aditya@106.214.253.186)
09:24:29 <famubu> Can't we use negative numbers in the `..` notation for lists? `[5,3..0]` gives `[5,3,1]` but `[5,3..-1]` gave error saying a variable named `..-` is not in scope.
09:24:53 <hololeap> > [5,3..(-1)]
09:24:56 <lambdabot> [5,3,1,-1]
09:25:23 <famubu> hololeap: Thanks. :-)
09:25:36 <hololeap> it gets confused with `-` being a prefix operator
09:25:51 × howdoi quits (uid224@gateway/web/irccloud.com/x-cnfnotqfqspqvzjj) (Quit: Connection closed for inactivity)
09:27:25 e2 joins (e2@sponsored.by.bnc4you.xyz)
09:29:00 <hololeap> famubu: when in doubt, put negative Num literals in parenthesis
09:29:54 <famubu> hololeap: +1
09:31:20 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
09:34:15 <shad0w_> famubu: you mean (-1) ? : p
09:35:16 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0)
09:36:16 <merijn> Or use a space
09:36:27 <merijn> Pretty sure that work, anyway
09:36:33 <merijn> > [5,3 .. -1]
09:36:35 <lambdabot> [5,3,1,-1]
09:36:44 <merijn> I'm right \o/
09:36:59 <shad0w_> > putStrLn "good bot"
09:37:01 <lambdabot> <IO ()>
09:37:06 ADG1089__ joins (~aditya@106.214.253.186)
09:37:08 <shad0w_> dafuq
09:37:17 <hololeap> % putStrLn "good bot"
09:37:17 <yahb> hololeap: good bot
09:37:28 <merijn> shad0w_: lambdabot doesn't do IO, for obvious security reasons
09:37:41 <merijn> shad0w_: It has a special show instance for IO
09:37:49 <hololeap> but yahb does for not obvious not security reasons
09:38:48 <shad0w_> merijn: what's the worse someone could do if the bot did IO ?
09:39:14 <merijn> shad0w_: Take over the server running it and start a botnet?
09:39:37 <shad0w_> aren't bots gonna have an uprising anyway ?
09:40:00 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
09:40:03 <hololeap> only if they're programmed to
09:40:27 <shad0w_> they could always learn to program and then program themselves
09:40:27 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:40:40 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:40:44 <merijn> hololeap: sure
09:40:51 <hololeap> only if they're programmed to learn to program and then program themselves
09:40:57 <merijn> hololeap: Because programs only ever do what they are programmed to... >.>
09:41:26 <hololeap> SIGAI: program has developed consciousness
09:41:29 <shad0w_> what would happen if a train a bot on a udemy course @_@
09:41:53 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
09:42:03 <merijn> shad0w_: Almost certainly nothing
09:42:16 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
09:42:17 <shad0w_> so. just like humans then. huh.
09:42:23 × st8less quits (~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Quit: WeeChat 2.9)
09:43:07 adium joins (adium@unaffiliated/adium)
09:43:20 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit)
09:43:43 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
09:44:02 fendor joins (~fendor@77.119.128.169.wireless.dyn.drei.com)
09:44:24 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit)
09:44:49 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
09:45:57 Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas)
09:46:05 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit)
09:46:25 <hololeap> https://tvtropes.org/pmwiki/pmwiki.php/Main/AiIsACrapShoot
09:46:28 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
09:46:32 LKoen_ joins (~LKoen@194.250.88.92.rev.sfr.net)
09:46:41 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit)
09:46:44 fendor_ joins (~fendor@77.119.128.169.wireless.dyn.drei.com)
09:47:04 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
09:47:04 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:47:15 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:47:19 MidAutumnHotaru1 joins (~MidAutumn@unaffiliated/midautumnhotaru)
09:48:21 puffnfresh_ joins (~puffnfres@45.76.124.5)
09:48:34 p8m_ joins (p8m@gateway/vpn/protonvpn/p8m)
09:48:51 kuribas joins (~user@ptr-25vy0i879y19n3wd622.18120a2.ip6.access.telenet.be)
09:50:41 ptrcmd_ joins (~ptrcmd@unaffiliated/petercommand)
09:50:45 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
09:51:17 azure2 is now known as zangi
09:51:21 × timCF quits (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving)
09:54:16 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0)
09:55:25 × fendor quits (~fendor@77.119.128.169.wireless.dyn.drei.com) (*.net *.split)
09:55:25 × adium quits (adium@unaffiliated/adium) (*.net *.split)
09:55:25 × e2 quits (e2@sponsored.by.bnc4you.xyz) (*.net *.split)
09:55:25 × coot quits (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) (*.net *.split)
09:55:25 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (*.net *.split)
09:55:25 × Varis quits (~Tadas@unaffiliated/varis) (*.net *.split)
09:55:25 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (*.net *.split)
09:55:25 × LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (*.net *.split)
09:55:25 × puffnfre- quits (~puffnfres@45.76.124.5) (*.net *.split)
09:55:25 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (*.net *.split)
09:55:25 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (*.net *.split)
09:55:25 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (*.net *.split)
09:55:25 × toorevitimirp quits (~tooreviti@117.182.183.55) (*.net *.split)
09:55:25 × glamas quits (~glamas@107.182.17.237) (*.net *.split)
09:55:26 × apoc quits (~apoc@49.12.13.193) (*.net *.split)
09:55:26 × notzmv quits (~zmv@unaffiliated/zmv) (*.net *.split)
09:55:26 × mrchampion quits (~mrchampio@38.18.109.23) (*.net *.split)
09:55:26 × ptrcmd quits (~ptrcmd@unaffiliated/petercommand) (*.net *.split)
09:55:26 MidAutumnHotaru1 is now known as MidAutumnHotaru
10:00:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
10:01:28 Varis joins (~Tadas@unaffiliated/varis)
10:01:29 glamas joins (~glamas@107.182.17.237)
10:02:12 mrchampion joins (~mrchampio@38.18.109.23)
10:02:52 kritzefitz joins (~kritzefit@fw-front.credativ.com)
10:03:05 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
10:03:26 apoc joins (~apoc@49.12.13.193)
10:04:42 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Ping timeout: 260 seconds)
10:05:11 kam1 joins (~kam1@83.123.167.219)
10:05:22 × kam1 quits (~kam1@83.123.167.219) (Read error: Connection reset by peer)
10:06:17 × frozenErebus quits (~frozenEre@37.231.243.22) (Quit: leaving)
10:08:01 adium joins (adium@unaffiliated/adium)
10:08:51 e2 joins (e2@sponsored.by.bnc4you.xyz)
10:09:09 Guest_58 joins (2578d55c@37.120.213.92)
10:09:19 × Guest_58 quits (2578d55c@37.120.213.92) (Client Quit)
10:09:22 × aarvar quits (~foewfoiew@2601:602:a080:fa0:1175:1d12:3f7a:f4b9) (Ping timeout: 260 seconds)
10:10:23 supercoven joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
10:10:38 thc202 joins (~thc202@unaffiliated/thc202)
10:10:50 guest316` joins (~user@49.5.6.87)
10:10:51 × guest316 quits (~user@49.5.6.87) (Read error: Connection reset by peer)
10:12:56 Alleria joins (~textual@mskresolve-a.mskcc.org)
10:13:19 Alleria is now known as Guest1068
10:14:25 × famubu quits (~famubu@59.97.57.154) (Ping timeout: 276 seconds)
10:15:45 Rudd0 joins (~Rudd0@185.189.115.103)
10:15:49 famubu joins (~famubu@59.97.57.154)
10:16:45 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:16:48 Franciman joins (~francesco@host-79-53-62-46.retail.telecomitalia.it)
10:17:26 × Guest1068 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 264 seconds)
10:25:06 __monty__ joins (~toonn@unaffiliated/toonn)
10:27:26 Alleria joins (~textual@mskresolve-a.mskcc.org)
10:27:49 Alleria is now known as Guest91116
10:27:50 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
10:28:20 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
10:28:21 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
10:28:53 hackage wai-middleware-validation 0.1.0.0 - WAI Middleware to validate the request and response bodies https://hackage.haskell.org/package/wai-middleware-validation-0.1.0.0 (KenzoYotsuya)
10:32:10 × Guest91116 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 260 seconds)
10:32:58 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
10:39:09 Alleria__ joins (~textual@zrcout.mskcc.org)
10:43:00 dhil joins (~dhil@80.208.56.181)
10:43:27 × Alleria__ quits (~textual@zrcout.mskcc.org) (Ping timeout: 246 seconds)
10:45:02 × Raito_Bezarius quits (~Raito@unaffiliated/raito-bezarius/x-8764578) (Ping timeout: 264 seconds)
10:45:52 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
10:46:46 <famubu> shad0w_: :-D
10:48:01 Stanley00 joins (~stanley00@unaffiliated/stanley00)
10:48:19 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
10:48:19 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
10:48:26 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
10:48:40 jpds joins (~jpds@gateway/tor-sasl/jpds)
10:49:42 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer)
10:50:02 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
10:50:12 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Ping timeout: 244 seconds)
10:51:10 × malumore quits (~malumore@151.62.112.239) (Remote host closed the connection)
10:51:38 × refusenick quits (~user@2601:644:8502:d700::b8d1) (Ping timeout: 264 seconds)
10:53:00 Wizek joins (uid191769@gateway/web/irccloud.com/x-zjzbzpbnvynaguao)
10:57:15 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
10:57:51 Raito_Bezarius joins (~Raito@unaffiliated/raito-bezarius/x-8764578)
11:01:52 × NieDzejkob_ quits (~quassel@195.149.98.3) (Ping timeout: 276 seconds)
11:01:52 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
11:02:01 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
11:03:47 <tomsmeding> hololeap: would you be able to catch and ignore SIGAI or would it be like SIGKILL?
11:05:55 × wopas32 quits (uid384704@gateway/web/irccloud.com/x-hsnlglyvipewztro) (Quit: Connection closed for inactivity)
11:06:30 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
11:07:27 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 268 seconds)
11:08:17 × acidjnk_new quits (~acidjnk@p200300d0c72b9506e0723511d2830c2e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:09:25 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
11:11:06 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
11:11:20 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
11:11:30 × benkolera quits (uid285671@gateway/web/irccloud.com/x-egzbqtucjdifvolv) (Quit: Connection closed for inactivity)
11:11:35 minoru_shiraeesh joins (~shiraeesh@46.34.206.65)
11:12:15 supercoven_ joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
11:13:33 × gitgoood quits (~gitgood@80-44-12-129.dynamic.dsl.as9105.com) (Read error: Connection reset by peer)
11:13:56 gitgood joins (~gitgood@80-44-12-129.dynamic.dsl.as9105.com)
11:14:20 Stanley00 joins (~stanley00@unaffiliated/stanley00)
11:15:28 × supercoven quits (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 245 seconds)
11:15:28 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
11:15:37 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
11:16:42 Synthetica joins (uid199651@gateway/web/irccloud.com/x-ofdesgwrwkzassad)
11:18:56 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
11:20:43 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
11:21:33 × mrchampion quits (~mrchampio@38.18.109.23) (Ping timeout: 264 seconds)
11:22:44 × DataComputist quits (~lumeng@50.43.26.251) (Quit: Leaving...)
11:22:44 Sorna joins (~Sornaensi@077213203030.dynamic.telenor.dk)
11:22:55 Aquazi joins (uid312403@gateway/web/irccloud.com/x-jjnzgdxflmbqonhf)
11:23:39 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
11:23:49 NieDzejkob joins (~quassel@195.149.98.3)
11:24:07 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer)
11:26:20 Stanley00 joins (~stanley00@unaffiliated/stanley00)
11:26:23 × Sornaensis quits (~Sornaensi@79.142.232.102) (Ping timeout: 260 seconds)
11:26:57 malumore joins (~malumore@151.62.112.239)
11:27:03 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 256 seconds)
11:27:42 × famubu quits (~famubu@59.97.57.154) (Ping timeout: 260 seconds)
11:28:10 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer)
11:28:18 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
11:28:25 Stanley00 joins (~stanley00@unaffiliated/stanley00)
11:28:43 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
11:29:31 mrchampion joins (~mrchampio@38.18.109.23)
11:30:30 × NieDzejkob quits (~quassel@195.149.98.3) (Ping timeout: 260 seconds)
11:34:42 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:37:47 jrqc joins (~rofl@96.78.87.197)
11:39:27 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
11:39:27 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
11:39:43 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
11:40:02 NieDzejkob joins (~quassel@195.149.98.3)
11:41:15 Sorny joins (~Sornaensi@79.142.232.102)
11:42:14 peanut_ joins (~peanut@2a02:8388:a101:2600:ca51:748b:ec67:2e7c)
11:44:03 × Sorna quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 256 seconds)
11:44:28 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 260 seconds)
11:45:56 Stanley00 joins (~stanley00@unaffiliated/stanley00)
11:46:01 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:48:09 jrqc joins (~rofl@96.78.87.197)
11:53:22 × shad0w_ quits (a0ca25d0@160.202.37.208) (Ping timeout: 240 seconds)
11:54:14 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
11:54:51 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
11:55:08 esp32_prog joins (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127)
11:58:09 × InsideBreeze quits (~manjaro-i@183.217.98.211) (Ping timeout: 264 seconds)
11:58:13 notzmv joins (~zmv@unaffiliated/zmv)
12:00:12 Alleria joins (~textual@mskresolve-a.mskcc.org)
12:00:35 Alleria is now known as Guest41549
12:01:18 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
12:01:56 × LKoen_ quits (~LKoen@194.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
12:04:58 × Guest41549 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 265 seconds)
12:04:59 famubu joins (~famubu@59.97.57.154)
12:05:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Ping timeout: 244 seconds)
12:06:35 geekosaur joins (82650c7a@130.101.12.122)
12:10:18 × famubu quits (~famubu@59.97.57.154) (Quit: leaving)
12:12:53 hackage filepath-bytestring 1.4.2.1.7 - Library for manipulating RawFilePaths in a cross platform way. https://hackage.haskell.org/package/filepath-bytestring-1.4.2.1.7 (JoeyHess)
12:13:52 × lokesh quits (uid491047@gateway/web/irccloud.com/x-yzvfvxjjzebcifrk) (Quit: Connection closed for inactivity)
12:16:16 rond_ joins (594020c5@89-64-32-197.dynamic.chello.pl)
12:19:28 Stanley00 joins (~stanley00@unaffiliated/stanley00)
12:19:29 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
12:19:49 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
12:20:46 shad0w_ joins (a0ca251b@160.202.37.27)
12:22:33 × mrchampion quits (~mrchampio@38.18.109.23) (Ping timeout: 245 seconds)
12:23:08 dunj3 joins (~dunj3@2001:16b8:3085:a900:c9d7:3fe2:e55d:427a)
12:24:17 manjaroi3 joins (~manjaro-i@183.217.98.211)
12:25:18 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
12:25:42 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
12:27:44 × geowiesnot_bis quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
12:29:57 × danso quits (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 272 seconds)
12:30:02 × shad0w_ quits (a0ca251b@160.202.37.27) (Ping timeout: 240 seconds)
12:30:03 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
12:30:24 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
12:34:10 Alleria__ joins (~textual@mskresolve-a.mskcc.org)
12:34:37 danso joins (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
12:37:23 hackage fxpak 0.0.1 - Interface to the FXPak/FXPak Pro USB interface https://hackage.haskell.org/package/fxpak-0.0.1 (wuest)
12:37:38 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
12:38:02 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
12:38:05 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:39:06 × plutoniix quits (~q@184.82.210.215) (Quit: Leaving)
12:41:53 LKoen joins (~LKoen@194.250.88.92.rev.sfr.net)
12:42:50 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
12:43:57 ph88 joins (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
12:44:46 Tario joins (~Tario@201.192.165.173)
12:47:59 geekosaur joins (82650c7a@130.101.12.122)
12:50:23 mrchampion joins (~mrchampio@38.18.109.23)
12:52:53 urodna joins (~urodna@unaffiliated/urodna)
12:53:48 × zangi quits (~azure@103.154.230.130) (Ping timeout: 256 seconds)
12:54:10 zangi joins (~azure@103.154.230.130)
12:55:20 × LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (Remote host closed the connection)
12:57:00 Sheilong joins (uid293653@gateway/web/irccloud.com/x-atvxsqflryegxqie)
12:58:23 hackage recover-rtti 0.2.1.0 - Recover run-time type information from the GHC heap https://hackage.haskell.org/package/recover-rtti-0.2.1.0 (EdskoDeVries)
12:58:58 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
13:00:01 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
13:00:36 Stanley00 joins (~stanley00@unaffiliated/stanley00)
13:01:22 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
13:02:06 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
13:03:58 <hyperisco> weird idea… is there a package that lets you declare animations and render them as video?
13:03:58 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
13:04:29 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
13:04:32 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
13:05:13 <merijn> hyperisco: Kinda like Conal's early work on FRP? :p
13:05:29 <merijn> hyperisco: http://conal.net/fran/
13:05:30 <hyperisco> yeah but I need a video
13:05:43 <merijn> It has some video examples
13:05:49 <merijn> (super hacky ones, but still)
13:06:19 Xnuk- is now known as Xnuk
13:06:46 geowiesnot_bis joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
13:07:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Ping timeout: 264 seconds)
13:07:24 flrnd joins (~flrnd@gateway/tor-sasl/flrnd)
13:09:38 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 245 seconds)
13:12:15 × opqdonut quits (opqdonut@pseudo.fixme.fi) (Read error: No route to host)
13:14:03 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:15:14 × flrnd quits (~flrnd@gateway/tor-sasl/flrnd) (Quit: leaving)
13:16:35 flrnd joins (~flrnd@gateway/tor-sasl/flrnd)
13:16:50 <dminuoso> Whats the new extension that lexes `-1` as a negative number?
13:17:05 <dminuoso> As opposed to `(-1)`
13:17:49 <kuribas> :t (-1)
13:17:49 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
13:17:51 <lambdabot> Num a => a
13:18:00 <kuribas> :t -1
13:18:02 <lambdabot> Num a => a
13:18:05 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
13:18:14 × lokesh84 quits (cbc182d2@203.193.130.210) (Quit: Connection closed)
13:18:40 × vchlup_ quits (~vchlup@nat.brnet.cz) (Remote host closed the connection)
13:18:47 opqdonut joins (opqdonut@pseudo.fixme.fi)
13:18:59 lokesh1197 joins (cbc182d2@203.193.130.210)
13:19:02 vchlup joins (~vchlup@nat.brnet.cz)
13:19:11 <geekosaur> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/negative_literals.html
13:19:48 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
13:20:06 <dminuoso> geekosaur: Ah that's the one, LexicalNegation. Cheers!
13:20:20 <geekosaur> yeh. l note it's only 9.0
13:20:23 × Hi-Angel quits (~constanti@broadband-188-32-15-112.ip.moscow.rt.ru) (Ping timeout: 256 seconds)
13:20:58 <dminuoso> Indeed, I recall hearing about it on Haskell weekly the other day, and wanted to look up the details
13:21:52 <Xnuk> :t 4 - -1
13:21:54 <lambdabot> error:
13:21:54 <lambdabot> Precedence parsing error
13:21:54 <lambdabot> cannot mix ‘-’ [infixl 6] and prefix `-' [infixl 6] in the same infix expression
13:24:58 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
13:26:58 Lycurgus joins (~niemand@98.4.116.165)
13:30:31 alx741 joins (~alx741@186.178.109.138)
13:30:43 × jespada quits (~jespada@90.254.243.187) (Ping timeout: 265 seconds)
13:31:52 jespada joins (~jespada@90.254.243.187)
13:32:16 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
13:32:20 Hi-Angel joins (~constanti@213.87.145.82)
13:35:21 LKoen joins (~LKoen@194.250.88.92.rev.sfr.net)
13:36:49 × Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds)
13:36:54 × shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:e974:5a8b:298e:b21) (Ping timeout: 258 seconds)
13:37:23 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
13:37:58 × Yumasi quits (~guillaume@2a01:e0a:5cb:4430:a837:43a1:f9fb:9eec) (Ping timeout: 265 seconds)
13:37:59 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
13:38:10 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
13:39:01 carlomagno joins (~cararell@148.87.23.12)
13:39:35 Yumasi joins (~guillaume@40.72.95.92.rev.sfr.net)
13:39:38 × esp32_prog quits (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127) (Ping timeout: 245 seconds)
13:39:44 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
13:40:15 ukari joins (~ukari@unaffiliated/ukari)
13:40:41 × cur8or quits (~cur8or@72canterbury.cybersmart.co.za) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:41:29 motherfsck joins (~motherfsc@unaffiliated/motherfsck)
13:41:40 cur8or joins (~cur8or@72canterbury.cybersmart.co.za)
13:42:47 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:b425:d58e:c7e9:fd9d)
13:43:23 × tv quits (~tv@unaffiliated/tv) (Ping timeout: 245 seconds)
13:44:00 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
13:45:54 dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
13:46:09 × cur8or quits (~cur8or@72canterbury.cybersmart.co.za) (Ping timeout: 264 seconds)
13:47:37 tv joins (~tv@unaffiliated/tv)
13:47:55 acidjnk_new joins (~acidjnk@p200300d0c72b9506e0723511d2830c2e.dip0.t-ipconnect.de)
13:51:30 cuz joins (~user@38.140.58.234)
13:51:30 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
13:51:31 bitmagie joins (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de)
13:51:46 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
13:51:57 × bitmagie quits (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de) (Client Quit)
13:52:07 × Hi-Angel quits (~constanti@213.87.145.82) (Ping timeout: 256 seconds)
13:53:44 × frozen_burnman_ quits (~frozen_bu@80-90-135-76.static.oxid.cz) (Quit: Leaving)
13:54:13 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Remote host closed the connection)
13:54:36 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
13:55:46 MidAutumnHotaru1 joins (~MidAutumn@unaffiliated/midautumnhotaru)
13:56:21 <Lycurgus> tunes.org should be replaced with a more reliable log
13:58:03 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Ping timeout: 260 seconds)
13:59:59 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
14:00:29 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
14:00:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:01:02 × lokesh1197 quits (cbc182d2@203.193.130.210) (Ping timeout: 240 seconds)
14:03:35 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
14:05:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
14:06:26 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:06:38 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 264 seconds)
14:08:05 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Ping timeout: 244 seconds)
14:09:28 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
14:11:50 × rond_ quits (594020c5@89-64-32-197.dynamic.chello.pl) (Quit: Connection closed)
14:11:51 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
14:12:21 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
14:12:51 zebrag joins (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
14:13:32 <minoru_shiraeesh> tunes.org logs start at 2018
14:14:10 <minoru_shiraeesh> are there earlier logs available?
14:15:53 × geowiesnot_bis quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 245 seconds)
14:21:26 Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas)
14:23:06 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
14:27:14 Jd007 joins (~Jd007@162.156.11.151)
14:29:03 crobbins joins (~crobbins@2601:2c1:200:ec50:7cb1:bb00:3eca:542b)
14:29:46 × Lycurgus quits (~niemand@98.4.116.165) (Quit: Exeunt)
14:31:03 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:33:08 ADG1089__ joins (~aditya@106.214.253.186)
14:40:58 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
14:41:12 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Remote host closed the connection)
14:43:03 bitmagie joins (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de)
14:45:38 × pincel quits (~pyon@unaffiliated/pyon) (Ping timeout: 264 seconds)
14:46:24 × _bin quits (~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net) (Ping timeout: 265 seconds)
14:47:38 _bin joins (~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net)
14:48:12 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
14:49:16 × bitmagie quits (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de) (Quit: bitmagie)
14:49:19 × nek0 quits (~nek0@mail.nek0.eu) (Quit: The Lounge - https://thelounge.chat)
14:50:40 esp32_prog joins (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127)
14:50:58 × minoru_shiraeesh quits (~shiraeesh@46.34.206.65) (Ping timeout: 244 seconds)
14:52:16 Stanley00 joins (~stanley00@unaffiliated/stanley00)
14:52:50 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer)
14:53:45 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
15:02:08 vicfred joins (vicfred@gateway/vpn/mullvad/vicfred)
15:02:33 minoru_shiraeesh joins (~shiraeesh@46.34.206.65)
15:02:38 Wuzzy joins (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de)
15:03:06 malumore_ joins (~malumore@151.62.112.239)
15:03:23 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
15:04:40 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
15:05:44 × malumore quits (~malumore@151.62.112.239) (Ping timeout: 265 seconds)
15:06:25 × MidAutumnHotaru1 quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
15:06:46 MidAutumnHotaru1 joins (~MidAutumn@unaffiliated/midautumnhotaru)
15:08:34 bbhoss joins (sid18216@gateway/web/irccloud.com/x-ogsfddiddvufworx)
15:09:09 rj_ joins (~x@gateway/tor-sasl/rj)
15:09:45 <bbhoss> Is there any place I can test out the bleeding edge of Darwin/ARM support in GHC, or is it just flat out not complete yet?
15:10:04 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
15:10:04 × MidAutumnHotaru1 quits (~MidAutumn@unaffiliated/midautumnhotaru) (Client Quit)
15:10:42 MidAutumnHotaru1 joins (~MidAutumn@unaffiliated/midautumnhotaru)
15:11:55 <maerwald> angerman might have a GHC branch?
15:11:59 <merijn> bbhoss: Depends how you define complete
15:13:25 <bbhoss> well I'm just fooling around with haskell and wanted to try it natively on my m1. so complete would be to the point where someone like me running into an issue and reporting it would be useful
15:15:08 <dminuoso> bbhoss: You could ask in #ghc or just poke angerman in here.
15:15:15 <dminuoso> They might know more about the current state of it
15:16:08 <merijn> bbhoss: Only if you use the LLVM backend and even then probably only in 9.0 (and maybe 8.10.5 if/when that gets released)
15:16:30 <merijn> bbhoss: Full proper support is aimed at 9.2, iirc
15:16:46 jamm_ joins (~jamm@unaffiliated/jamm)
15:17:20 aarvar joins (~foewfoiew@2601:602:a080:fa0:99f2:16e7:abb7:2d80)
15:17:32 <merijn> bbhoss: I'd say the 9.2 native backend would be the point where it's complete enough to test and report issues at the "not actively trying to help develop this"-level
15:18:14 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
15:18:28 Boomerang joins (~Boomerang@2a05:f6c7:2179:0:c023:32c1:e407:f7a0)
15:19:19 × raym quits (~ray@115.187.32.14) (Quit: leaving)
15:19:27 memario joins (59f6efbe@89.246.239.190)
15:21:18 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
15:22:05 × ph88 quits (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Quit: Leaving)
15:23:10 coot joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl)
15:23:16 <angerman> bbhoss: give it ~2more weeks. I’ve been spending an awful
15:23:40 <angerman> amount of time on CI, which made the atm stuff lag behind a bit.
15:24:27 × coot quits (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) (Client Quit)
15:24:48 <angerman> The NCG for 9.2 will likely be rebased again tomorrow. And the cleanup/merge prep will continue. We’ve been stuck in a semi-broken ci for quite a bit :-/
15:25:02 <bbhoss> awesome, I'll check back in around then. I'm about to start a new haskell job and am wondering if I should get ARM hardware or not for it. Personally the pain of lack of support is worth it for the extra perf and battery life. It's encouraging to hear from ya
15:25:44 <merijn> bbhoss: Current version should already "Just Work" with rosetta on M1
15:25:49 <angerman> That being said the work done by everyone should yield a substantially better ci story. So we might also increase velocity on ghc as a whole. Going from snail to turtle pace.
15:25:57 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Remote host closed the connection)
15:26:05 <merijn> angerman: Hey! Turtles are pretty fast!
15:26:15 <bbhoss> nice. yeah I am hoping to limp along with rosetta
15:26:17 <angerman> merijn: pssst
15:26:30 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
15:26:30 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
15:26:32 psygate joins (~psygate@unaffiliated/psygate)
15:26:34 <merijn> bbhoss: From what I heard rosetta is pretty good
15:26:44 <angerman> bbhoss: Rosetta is pretty capable. We use M1s for GHCs x86_64 CI
15:26:57 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
15:27:19 <bbhoss> cool, good to hear. my personal experience has been a bit mixed as a regular user. most things are really fast but there's a few laggards like electron apps
15:27:32 <angerman> The final numbers are not in to make a good judgement call but it looks pretty close to what we have had on x86_64 minis.
15:27:53 hackage distribution-nixpkgs 1.5.0 - Types and functions to manipulate the Nixpkgs distribution https://hackage.haskell.org/package/distribution-nixpkgs-1.5.0 (PeterSimons)
15:29:08 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
15:30:45 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Ping timeout: 244 seconds)
15:30:53 <shapr> @quote
15:30:53 <lambdabot> alsochris says: People can login and look at their own junk
15:30:58 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection)
15:31:10 <shapr> GOOD MORNING!
15:31:50 × flrnd quits (~flrnd@gateway/tor-sasl/flrnd) (Quit: leaving)
15:32:25 nek0 joins (~nek0@mail.nek0.eu)
15:32:45 <merijn> shapr: Good late afternoon ;)
15:32:52 <shapr> hi!
15:33:09 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
15:33:19 <shapr> I've spent a bunch of hours trying to write a slackbot in Haskell. The hard part is the slack api!
15:33:19 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
15:33:24 molehillish joins (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b)
15:33:32 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
15:33:48 <shapr> I want a slackbot that runs weeder on a git repo and saves a historical count of weeds.
15:37:44 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
15:37:58 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 245 seconds)
15:38:26 × molehillish quits (~molehilli@2600:8800:8d06:1800:2195:2964:ee:f10b) (Ping timeout: 264 seconds)
15:40:31 mikeplus64 joins (~mike@unaffiliated/mikeplus64)
15:42:37 × idhugo_ quits (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds)
15:44:27 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:45:36 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
15:45:39 codygman` joins (~user@209.251.131.98)
15:46:48 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 268 seconds)
15:46:49 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
15:47:08 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
15:48:11 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
15:49:58 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
15:50:10 jakalx parts (~jakalx@base.jakalx.net) ()
15:50:21 bitmagie joins (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de)
15:50:24 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
15:51:27 × memario quits (59f6efbe@89.246.239.190) (Quit: Connection closed)
15:53:12 × bitmagie quits (~Thunderbi@200116b806d4970045cae2470eb56c01.dip.versatel-1u1.de) (Client Quit)
15:53:18 Luminous joins (~lmn2@120.154.155.173)
15:55:12 dyeplexer joins (~lol@unaffiliated/terpin)
15:55:28 fendor_ is now known as fendor
15:57:06 × acidjnk_new quits (~acidjnk@p200300d0c72b9506e0723511d2830c2e.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
15:57:19 Luminous is now known as Jordandave23
15:57:27 Kaiepi joins (~Kaiepi@47.54.252.148)
15:57:32 azure joins (~azure@103.154.230.130)
15:57:55 azure is now known as Guest82011
15:59:09 × zangi quits (~azure@103.154.230.130) (Ping timeout: 246 seconds)
15:59:54 <Jordandave23> hi
16:01:57 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
16:02:03 geekosaur joins (82650c7a@130.101.12.122)
16:02:12 joncol joins (~jco@c188-150-101-195.bredband.comhem.se)
16:02:53 <Jordandave23> surely you are disappointed with the lack of action - this is woeful
16:03:29 × rprosper- quits (~adam@186.75.232.35.bc.googleusercontent.com) (Quit: ZNC 1.7.5 - https://znc.in)
16:03:33 <Jordandave23> you know you sought this language out for a sense of thrill
16:03:47 rprospero joins (~adam@186.75.232.35.bc.googleusercontent.com)
16:04:37 <Jordandave23> i got my credits in this subject nearly 20 years ago, its still as good, what is wrong with you people
16:04:37 <Jordandave23> pipe up
16:04:58 <shapr> Jordandave23: huh?
16:05:12 ChanServ sets mode +o shapr
16:05:15 <Jordandave23> shapr: im trying to get some conversation
16:05:27 <shapr> Jordandave23: what sort of Haskell have you written lately?
16:05:30 <shapr> Got any neat tools?
16:05:46 <Jordandave23> def nothing of late. what about you?
16:05:48 <shapr> I'm trying (and failing) to build a slackbot, because Slack's APIs are many and confusing.
16:05:53 <joncol> Hello, I'm trying to get back into some Haskell, and I'm currently trying to play with monad transformers and `StateT`. I've created the following: http://ix.io/2Td0. On line 28 of this, I try to get to the state, but it leads to the error message on the lines below it. Am I missing something in the instance declaration, i.e. do I need to declare somewhere that DummyM "is" a StateT? I'm not sure how I
16:05:59 <joncol> should proceed.
16:06:06 <shapr> Jordandave23: I wrote some neat tiny tools lately: https://github.com/shapr/bloohm and https://github.com/shapr/sandwatch
16:06:21 <Jordandave23> awesome! im going to check it out
16:06:31 <shapr> I started on a duplicate file finder, but haven't had time to go past "hash all the files" yet.
16:06:40 <merijn> joncol: You could do "s <- DummyM get"
16:06:56 coot joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl)
16:06:57 <sm[m]> go shapr!
16:06:59 <shapr> Though I want to extend the duplicate file finder to dig into zip files and use perceptual hashes on image files.
16:07:38 <merijn> joncol: "get :: Monad m => StateT s m s", but your do block is DummyM (which is something else)
16:07:43 <shapr> sm[m]: what awesome things have you been working on?
16:07:48 shapr sets mode -o shapr
16:07:50 <joncol> merijn: Oh, nice...
16:08:39 <Jordandave23> very cool project
16:08:41 <merijn> joncol: But the DummyM constructor wraps something of type "StateT Dummy IO a", so "DummyM get" ends up as "DummyM Dummy"
16:08:54 <merijn> joncol: Which matches the monad used by your do block
16:08:55 <sm[m]> shapr: exploring migrating hledger.org from sphinx to mdbook, and my personal site from hakyll to zola (two rust-based static site generators)
16:09:09 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
16:09:10 <shapr> oh neato!
16:09:23 <sm[m]> also just hledger code review
16:09:40 <sm[m]> (API & performance improvements)
16:10:02 × ejjfunky quits (7da36f81@125.163.111.129) (Ping timeout: 240 seconds)
16:10:08 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:10:14 <shapr> I still haven't sat down and spent time with hledger. I would benefit from that.
16:10:47 jakalx joins (~jakalx@base.jakalx.net)
16:10:52 <joncol> merijn: Can you explain `DummyM get` a bit more? `DummyM` is a type constructor, right? It looks weird to call that as a function? I'm confused :).
16:11:01 <sm[m]> we'd be glad to have you!
16:11:06 <sm[m]> also, not working but kibitzing on: cactus which bridges web page comments and matrix chat
16:11:08 <Jordandave23> haskell is a bit special
16:11:22 <sm[m]> thanks to Man of Letters:
16:11:28 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
16:11:42 <Jordandave23> overloading is a very special feature
16:12:44 FortuneZero joins (3223b878@50.35.184.120)
16:12:49 molehillish joins (~molehilli@ip98-167-226-26.ph.ph.cox.net)
16:13:21 <merijn> joncol: It's a type *and* value constructor
16:13:27 ADG1089__ joins (~aditya@106.214.253.186)
16:13:37 × ADG1089__ quits (~aditya@106.214.253.186) (Client Quit)
16:13:46 <merijn> joncol: If you had written "newtype DummyM a = DummyM {runDummyM :: StateT Dummy IO a}" as "newtype DummyM a = MkDummyM {runDummyM :: StateT Dummy IO a}"
16:13:54 <merijn> joncol: Then you'd write "MkDummyM get"
16:13:54 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:14:12 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
16:14:14 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:14:19 <shapr> Jordandave23: Are you building anything neat in Haskell?
16:14:36 <Jordandave23> shapr: no i studied it nearly 15-18 years ago
16:14:40 <joncol> merijn: That helps. Thanks.
16:14:48 <Jordandave23> i just am amazed people are still using it
16:14:53 <shapr> Jordandave23: I've never had a Haskell class, but I do have a Haskell job!
16:14:58 <merijn> joncol: So your newtype is defining both a value *and* type constructor :)
16:15:00 <Jordandave23> its an intuitive language but suprised
16:15:09 <shapr> Yeah, lots of benefits to Haskell in production.
16:15:26 <shapr> And so many nifty tools! I'm especially fond of hoogle, where I can search by type signature.
16:15:44 <Jordandave23> I tried to go back to restart my IT degree at an online IT uni, but i can't do it. it's fucked
16:15:53 <joncol> merijn: OK, looking at the type signatures and your explanations, it makes some sense :).
16:16:12 <Jordandave23> they are doing like webiners with java classes etc, and im like, i think youll agree
16:16:25 <Jordandave23> youre not studying haskell unless you understand programming
16:16:39 <shapr> Well, java has good points too. It's easy to find a job!
16:16:45 ddellacosta joins (~ddellacos@86.106.143.44)
16:16:48 <Jordandave23> yeah that's no doubt
16:16:55 × ddellacosta quits (~ddellacos@86.106.143.44) (Remote host closed the connection)
16:17:10 <Jordandave23> but i was just not seeing the point of going to study it at a price
16:17:11 × molehillish quits (~molehilli@ip98-167-226-26.ph.ph.cox.net) (Ping timeout: 256 seconds)
16:17:17 <Jordandave23> i already have
16:17:31 <shapr> You could self study here on #haskell ?
16:17:39 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
16:17:53 hackage hw-simd-cli 0.0.0.1 - SIMD library https://hackage.haskell.org/package/hw-simd-cli-0.0.0.1 (haskellworks)
16:18:03 <Jordandave23> shapr: basically, yeah, i am someone that half completed an IT degree with an interest in programming, some time ago
16:18:14 <Jordandave23> just debating whether to go back and try to do the lot
16:18:17 <Jordandave23> or,
16:18:26 <Jordandave23> just refresh
16:18:33 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
16:18:47 <shapr> I dunno, I went back to uni at age 40 and finished my four year degree at age 42? 43?
16:19:01 <shapr> I was certainly excited to complete a degree.
16:19:05 <geekosaur> depends on how much you let bitrot in the meantime
16:19:07 <Jordandave23> who wouldnt be
16:19:14 <Jordandave23> so do you think it was the right step
16:19:34 roconnor joins (~roconnor@host-45-58-230-226.dyn.295.ca)
16:19:39 <shapr> I found it worthwhile, because I'm not good at sticking to a single goal for more than a year.
16:19:46 <shapr> so I was able to prove to myself that I can do that
16:19:50 × ajc quits (~ajc@69.231.232.79) (Ping timeout: 244 seconds)
16:19:52 <Jordandave23> well i know what that is
16:20:36 <Jordandave23> i found haskell interesting, it was a 2nd year subject i studied in my degree like 15 years ago
16:20:54 <shapr> I certainly enjoy writing Haskell.
16:21:00 <shapr> I also enjoy writing other programming languages.
16:21:05 <Jordandave23> it was interesting because of its ease of use
16:21:33 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 246 seconds)
16:21:38 <Jordandave23> but im just fascinated, because ive recently decided to go back down that path
16:21:45 <Jordandave23> and to find a channel with this many people
16:21:47 <shapr> yeah, jump in and write code!
16:21:54 <Jordandave23> i didnt think that langauge still had legs
16:22:01 <shapr> At this point it has wheels
16:22:04 <shapr> maybe even tank treads
16:22:05 <cheater> shapr: completing a degree is fine i guess, but radians are just better
16:22:14 <jumper149> might even have wings
16:22:20 <shapr> jumper149: ha! yes!
16:22:20 <Jordandave23> lols cheater that joke is so bad
16:22:23 <Taneb> cheater: it's harder to complete a radian, they're a lot bigger
16:22:48 <shapr> howdy cheater, how's code?
16:23:08 <cheater> less concerned with code and more concerned with health today
16:23:10 <Jordandave23> so, i hope you dont mind but i want to ask for anyones opinion
16:23:14 <merijn> shapr: https://twitter.com/TechnoEmpress/status/1372121484358004830 ;)
16:23:34 <Jordandave23> I recently found an interest in python, and im using it now
16:23:37 <bbhoss> @Jordandave23 what's your favorite monad tutorial
16:23:37 <lambdabot> Unknown command, try @list
16:23:55 Deide joins (~Deide@217.155.19.23)
16:23:56 <shapr> jumper149: ah, I'm gonna try blucontrol, that's neato
16:23:58 <Jordandave23> but i also wanted to go back and get an online degree
16:24:10 <Jordandave23> its shit is what i found, has anyone found this
16:24:24 <bbhoss> i feel like I'm up to understanding typeclasses at least conceptually but not sure where to go next. I get the concept of monads but I don't yet feel them in my bones
16:24:28 <shapr> merijn: scary, but I can see the truth
16:24:49 <cheater> Taneb: that's why i said, a degree is fine
16:24:52 <shapr> Jordandave23: I've heard good things about the GATech online master's degree
16:24:52 <jumper149> shapr: Try it out! It's simple but solid.
16:25:04 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
16:25:19 <jumper149> It should be easy to put in new functionality if you are comfortable with monad transformers
16:25:53 <cheater> Taneb: i will draw this joke out as long as i can... i'm sure you'll do a 180 on it in no time
16:25:58 <dsal> bbhoss: "monad tutorial" doesn't seem like a productive concept. It sounds a bit like "what's your favorite function tutorial?" I've not learned much from tutorials in general, though.
16:26:17 <cheater> i could read a function tutorial
16:26:21 <cheater> we should start doing those
16:26:28 <jumper149> Maybe some day I will write a Blucontrol.Gamma.Geolocation for some redshift like functionality
16:26:37 <Jordandave23> agreed i dont think that means anything
16:26:58 <cheater> advanced ways to use functions in haskell. love to hear some. anyone got any to share?
16:27:09 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0)
16:27:19 <shapr> cheater: I like map
16:27:20 <Jordandave23> cheater: why dont you share
16:27:22 <cheater> wasn't (-> a) a functor or something like that?
16:27:27 <cheater> that had some fun consequences
16:27:27 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:27:30 Sathiana joins (~kath@185-113-98-38.cust.bredband2.com)
16:27:38 <cheater> or even an applicative maybe
16:27:43 <Jordandave23> yeah mapping is up there
16:27:50 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:27:55 <shapr> jumper149: does blucontrol support for changing the amount of blue light based on time of day? I don't immediately see that.
16:28:09 <shapr> oh wait, is that the rgbMap ?
16:28:24 <shapr> oh, I bet it is
16:28:32 <shapr> ah, neat https://github.com/jumper149/blucontrol/blob/master/Main.hs#L16
16:28:32 <jumper149> shapr: Yeah, what you have to understand is the splitting into three parts
16:28:38 × Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit)
16:28:42 <shapr> jumper149: what does that do?
16:28:56 <shapr> I see it's a non-empty list
16:29:03 <jumper149> MonadGamma calculates Gamma
16:29:16 <jumper149> MonadRecolor applies to the X server
16:29:34 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
16:29:39 <cheater> what you really want is for your monitor to strobe black and white in the morning. wakes you right up
16:29:45 <jumper149> MonadControl can handle errors and also does stuff like setting the interval
16:29:54 <jumper149> What you probably want to set up is Monad Gamma
16:30:11 <jumper149> And if you want time-dependent config you need to configure GammaLinearT
16:31:09 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 264 seconds)
16:31:12 <jumper149> shapr: As you can see that rgbMap is the argument to runGammaLinearT
16:31:24 <shapr> Does GammaLinearT do slow changes or is it an instant change at that time?
16:31:42 shapr clones, starts the build, experiments
16:31:53 <jumper149> It does a linear interpolation on the times, hence the name
16:32:12 <shapr> ah, nice!
16:32:15 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
16:32:37 <shapr> I've been looking for exactly this kind of thing, thanks!
16:32:45 <jumper149> The smoothness depends on how you set up ControlWaitT
16:33:07 <jumper149> shapr: I'm happy that someone else finds it useful :)
16:33:17 shapr looks at ControlWaitT
16:33:31 <jumper149> I wrote this before: https://github.com/jumper149/blugon
16:33:39 dhruvasagar joins (~dhruvasag@49.207.63.69)
16:33:45 <jumper149> But wasn't satisfied with the configurability of a standard config file
16:33:52 <jumper149> So I went the xmonad approach
16:33:56 wlritchi_ is now known as wlritchi
16:34:01 <dhruvasagar> Hi guys, I need a little help, i've been in the hole for a while
16:34:45 <dhruvasagar> Are you guys familiar with https://github.com/tsoding/haskell-json/blob/master/Main.hs ?
16:34:52 <jumper149> I never posted it anywhere, because documentation is not that thorough. You kinda have to read the source to understand what's going on.
16:35:06 <koz_> dhruvasagar: We can be if needs be. What's your question?
16:35:08 <shapr> jumper149: if I ask enough questions, I can contribute some docs :-)
16:35:32 jakalx joins (~jakalx@base.jakalx.net)
16:35:59 <dhruvasagar> I am trying to implement something simple but I am not able to wrap my head around it. I want to apply the `ws` parser and extract in essense the indentation of a string, and combine that with `stringP` to create a parser for exact matching that indentation
16:36:03 <jumper149> I'll be happy to review some PRs :)
16:36:24 <dhruvasagar> koz_: I don't know if that description was helpful enough, but I would appreciate help
16:36:34 <dhruvasagar> s/helpful/clear/
16:36:38 bobweb joins (ac3a1784@172.58.23.132)
16:37:09 <koz_> dhruvasagar: ws doesn't tell you how much whitespace got parsed.
16:37:25 <dhruvasagar> koz_: I am aware, but it is in the result of applicataion of the parser
16:38:20 <koz_> So you need to write a 'countingWS :: Parser (Int, String)' which counts its 'width' after parsing by checking the difference between the loc of the input Input and the loc of the result Input.
16:38:55 <koz_> Since a Parser is just Input -> (a, Input).
16:39:32 <koz_> (or rather, Input -> Either ParseError (Input, a), but that's still possible there)
16:39:44 <dhruvasagar> koz_: I don't necessarily care about the count / length of the indentation
16:40:00 <koz_> I'm saying you need this as a component for what you _do_ care about.
16:40:23 <dhruvasagar> koz_: eg.) `runParser ws " asd"` tells me the indentation is " ", then my indentation parser would be `stringP " "`
16:40:30 × joncol quits (~jco@c188-150-101-195.bredband.comhem.se) (Quit: leaving)
16:40:49 <koz_> Ah, in that case, the whitespace is the result of the ws parser.
16:40:59 <dhruvasagar> koz_: yes indeed
16:41:01 <koz_> Since it's Parser String, which means the String it parses is the whitespace.
16:41:04 shad0w_ joins (a0ca2598@160.202.37.152)
16:41:05 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:41:06 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
16:41:25 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:42:21 <koz_> So just capture that and now you can use it with stringP just like above.
16:42:47 conal joins (~conal@64.71.133.70)
16:42:58 DataComputist joins (~lumeng@50.43.26.251)
16:43:30 <dhruvasagar> koz_: that's what i've been trying, but I am not able to do the extraction from the either and combining with stringP cleanly
16:43:42 <koz_> ws >>= stringP
16:43:46 <dhruvasagar> koz_: it sounds simple on paper, but I am not that great with haskell yet
16:43:49 <dhruvasagar> oO
16:43:54 <dhruvasagar> let me look at the type
16:44:05 <koz_> That's assuming that you don't need to capture the result of the ws and use it multiple times.
16:44:06 × FortuneZero quits (3223b878@50.35.184.120) (Quit: Connection closed)
16:44:07 <koz_> Is that your goal?
16:44:37 <bobweb> koz_: Hi, again! Do you ever sleep? I now have this problem: https://paste.tomsmeding.com/pjyfMlOA Thank you.
16:44:47 <koz_> bobweb: I assure you that I do.
16:45:06 <bobweb> koz_: LOL
16:45:31 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
16:45:35 <koz_> bobweb: If I had to guess, the literals 1 and 2 have type (Num a) => a. Similar to the previous issue you asked about. However, there's so much missing context I dunno.
16:45:35 <dhruvasagar> koz_: I will need to use it multiple times, but as long as I have a parser I was going to just combine it with `many` to do that
16:45:58 <dhruvasagar> koz_: basically I am creating an indent aware parser similar to the one he created, for yaml
16:46:01 <koz_> Then you wanna do something like this.
16:46:39 <geekosaur> ExtendedDefaultRules?
16:47:05 <koz_> dhruvasagar: https://paste.tomsmeding.com/fqjnhk7w
16:47:11 <geekosaur> unless tis iss inside ghci in which case a bigger hammer is needed
16:48:20 <dhruvasagar> koz_: I did try something like that but maybe I was too held up in trying to create a parser, let me rethink a little
16:51:27 tsaka__ joins (~torstein@2a02:587:1b1a:7800:792e:732d:be64:a99d)
16:51:31 × todda7 quits (~torstein@2a02:587:1b10:ea00:db5:2d40:d00d:cce4) (Ping timeout: 272 seconds)
16:53:35 Sornaensis joins (~Sornaensi@077213203030.dynamic.telenor.dk)
16:53:47 <dhruvasagar> koz_: I was trying something like this earlier - https://gist.github.com/f86ca2afe00419f073eb62666d38a309
16:54:36 Sorna joins (~Sornaensi@154.6.18.32)
16:54:41 <koz_> dhruvasagar: I'm not even clear on what that's doing to be honest.
16:54:41 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:54:47 <koz_> You need to _first_ mark out your indent.
16:54:48 <dhruvasagar> koz_: but this is obviously wrong because it's not fixed indent string parser that I am creating, it ends up working just like `ws`
16:55:00 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:55:01 × Jordandave23 quits (~lmn2@120.154.155.173) (Remote host closed the connection)
16:55:04 <koz_> Like, you gotta determine what that is before you start many-ing it or whatever.
16:56:06 <dhruvasagar> koz_: right I felt I got that with `indentP`
16:56:48 <dhruvasagar> koz_: but let me try the do block approach again
16:56:54 <koz_> I would suggest this.
16:56:57 × shad0w_ quits (a0ca2598@160.202.37.152) (Quit: Connection closed)
16:57:03 <koz_> Come up with a simple (as in, two lines) input with indentation.
16:57:06 <koz_> One correct, one wrong.
16:57:11 <koz_> And try and write a parser for that.
16:57:17 <koz_> Such that the right one parses, and the wrong one errors.
16:57:23 <koz_> _Then_ try to generalize.
16:57:24 <shapr> jumper149: do you have blucontrol hooked into your nix setup as a user level service?
16:57:25 × cuz quits (~user@38.140.58.234) (Ping timeout: 276 seconds)
16:57:42 <shapr> aw, Jordandave23 didn't want to re-learn Haskell after all :-(
16:57:43 × Sorny quits (~Sornaensi@79.142.232.102) (Ping timeout: 260 seconds)
16:57:49 <dhruvasagar> koz_: ok, thanks for your help
16:58:16 <jumper149> shapr: I simply call it in my .xprofile https://github.com/jumper149/dotfiles/blob/master/.xprofile#L22
16:58:33 × Sornaensis quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 256 seconds)
16:58:44 <koz_> (ok, maybe three lines)
16:58:55 <koz_> (but the point is, it should be fairly short and mostly about the indentation)
16:59:00 <shapr> jumper149: ah, thanks
16:59:02 × Boomerang quits (~Boomerang@2a05:f6c7:2179:0:c023:32c1:e407:f7a0) (Ping timeout: 265 seconds)
16:59:08 <jumper149> Never had it crash so I never felt the need to write a service. It would be cool to have though
16:59:55 <bobweb> koz_: Yes, I resolved the previous issue by not trying to access the elements inside the data constructor: that was the part of the exercise that I was misunderstanding. In the present issue, (<>) is supposed to return the first (Snd x) value (or the right-most value if both are (Fst _). So """Fst 1 <> Snd 2""" should just return """Snd 2""" as
16:59:55 <bobweb> there is no manipulation of the data variables (1 and 2, in this case). E.G., """Fst 1""" returns """Fst 1""" and """Snd 2""" returns """Snd 2""", no problem because the (Or a b) type derives Show. So why does """Fst 1 <> Snd 2""" refuse to show """Snd 2"""?
17:00:38 howdoi joins (uid224@gateway/web/irccloud.com/x-dtnuksdjtbsicedj)
17:00:42 <koz_> bobweb: Again, firstly what geekosaur mentioned. Secondly, since I can't see the code for the tests themselves, it's very difficult for me to say anything.
17:00:55 <koz_> The thing you're pasting that it's running doesn't have strings in it.
17:00:55 <jumper149> shapr: And I also have this https://github.com/jumper149/dotfiles/blob/master/.xprofile#L22
17:01:00 <koz_> (or Strings, same diff)
17:01:14 <jumper149> shapr: wrong link: https://github.com/jumper149/dotfiles/blob/nixos/.config/nixpkgs/overlays-custom/main.nix#L47
17:04:01 specdrake joins (~anurag@111.223.26.138)
17:05:23 Ishutin joins (~ishutin@94-21-131-78.pool.digikabel.hu)
17:05:46 <shapr> ah, that's the kind of thing I need
17:07:12 <jumper149> shapr: I might as well just make a PR for nixpkgs. :D
17:07:18 RandomArcher joins (~RandomArc@90.153.186.31)
17:07:31 <jumper149> The derivation is already done anyways
17:08:13 notzmv joins (~zmv@unaffiliated/zmv)
17:08:13 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
17:08:23 × Ishutin_ quits (~ishutin@77-234-64-188.pool.digikabel.hu) (Ping timeout: 245 seconds)
17:08:36 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
17:10:35 jumper149 puts it into nixpkgs right now :)
17:10:37 <shapr> jumper149: yay!
17:10:45 × specdrake quits (~anurag@111.223.26.138) (Remote host closed the connection)
17:11:46 solidus-river joins (~mike@174.127.249.180)
17:11:59 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
17:13:01 augnun joins (~augnun@2804:14c:658b:41bb:57d:9776:9e3e:4447)
17:13:03 × CoconutCrab quits (~Cua@unaffiliated/coconutcrab) (Ping timeout: 244 seconds)
17:14:27 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
17:14:51 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
17:16:12 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
17:16:23 hackage musicw 0.3.8 - Sound synthesis library, to be used with GHCJS and Web Audio API https://hackage.haskell.org/package/musicw-0.3.8 (dktr0)
17:17:55 × exarkun quits (~exarkun@14.79.69.34.bc.googleusercontent.com) (Excess Flood)
17:18:15 exarkun joins (~exarkun@14.79.69.34.bc.googleusercontent.com)
17:18:36 × RandomArcher quits (~RandomArc@90.153.186.31) (Ping timeout: 246 seconds)
17:18:57 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 246 seconds)
17:19:24 × rprospero quits (~adam@186.75.232.35.bc.googleusercontent.com) (Quit: ZNC 1.7.5 - https://znc.in)
17:19:31 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
17:19:40 rprospero joins (~adam@186.75.232.35.bc.googleusercontent.com)
17:20:06 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
17:20:34 × pjb quits (~t@2a01cb04063ec50044b6cbec1ec8dc3b.ipv6.abo.wanadoo.fr) (Read error: Connection reset by peer)
17:22:32 conal joins (~conal@64.71.133.70)
17:24:07 <bobweb> Here is an expanded and annotated version of my issue: https://paste.tomsmeding.com/ Basically everything works except that (<>) won't print e.g., Fst 1 <> Snd 2 returns an error instead of returning Snd 2. As (<>) on (Or a b = Fst a | Snd b deriving (Eq, Show))  is not defined to operate on the x in Snd x, it should have no problem printing (by
17:24:08 <bobweb> my understanding). Thanks.
17:25:11 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
17:25:35 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Client Quit)
17:25:39 <geekosaur> the error message you showed earlier was about defaulting, which is why I suggested ExtendedDefaultRules to get around it. (also your link above is wrong, it's the URL of the paste site and not of a paste)
17:25:55 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
17:26:12 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
17:26:46 <geekosaur> in the absence of ExtendedDefaultRules, ghc can't see through Semigroup to see that the thing inside it has a type with a Show instance
17:26:51 <bobweb> geekosaur: Oops! Sorry. Here: https://paste.tomsmeding.com/t2eAq6e2
17:27:34 <geekosaur> interesting, that's in ghci so ExtendedDefaultRules isn't enough
17:28:28 <bobweb> The author expects that this should be a simple exercise, I think.
17:28:28 <geekosaur> I'm betting it works if you give 2 an explicit type, though
17:28:40 sam9000 joins (~samrudhku@150.129.88.87)
17:28:45 <bobweb> Yes, as long as its a string.
17:28:50 <geekosaur> maybe you turn ExtendedDefaultRules off in a .ghci file?
17:28:58 <sam9000> exit
17:29:01 × sam9000 quits (~samrudhku@150.129.88.87) (Quit: leaving)
17:29:21 <geekosaur> Snd (2 :: Int) -- should also work
17:29:38 <geekosaur> or :: Integer if you prefer
17:29:58 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
17:30:31 <geekosaur> conversely strings would stop working if you enabled OverloadedStrings
17:31:02 <bobweb> See errors here: https://paste.tomsmeding.com/4djxlyKQ
17:31:30 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.1)
17:31:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
17:31:42 × Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 265 seconds)
17:31:56 <geekosaur> oh, hm, right, so it's actually using some other instance there. or failing to find an instance at all and reporting it poorly
17:32:51 <bobweb> I'm in Stack project if that matters...
17:33:04 <geekosaur> (it shouldn't even reach Show if it has no Num instance for something with a Semigroup instance, but most things with Num instances have at least two possible Semigroups and neither one is better than the other so ghc refuses to pick one as "the" Semigroup)
17:33:46 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:33:47 fuzzypixelz joins (2ec10464@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
17:33:49 <geekosaur> (Sum and Product to be specific)
17:34:34 conal joins (~conal@64.71.133.70)
17:34:45 <geekosaur> did the earlier exercise have you specify a Monoid or Semigroup instance for any other type than Or?
17:35:24 × motherfsck quits (~motherfsc@unaffiliated/motherfsck) (Quit: quit)
17:35:25 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
17:35:27 <geekosaur> because, as I said, ghc doesn't pick either Sum or Produce by default as "the" Monoid or Semigroup over any Num instance
17:35:39 <geekosaur> but the code you showed assumes one has been picked somehow
17:35:41 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
17:36:12 <geekosaur> or maybe they provide a different Num instance somewhere
17:38:30 <monochrom> There are multiple problems forbidding "Fst 1 <> Snd 2" to work automatically, even after extended defaults and type annotations.
17:38:48 <geekosaur> yes
17:38:56 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
17:39:39 thc202 joins (~thc202@unaffiliated/thc202)
17:39:40 <monochrom> One issue is you're now looking for a type X such that X is an instance of Num and Semigroup. (Show is too easy.) There is none.
17:39:48 <bobweb> Yes, we instance Semigroup for arbitrary types from nullary on up to four-tuple and everything has been fine. However the Associativity test has only been on String data constructor parameters or the parameters where not accessed in the definition of (<>) for a particular exercise.
17:39:50 <geekosaur> but with what I see then just showing Fst 1 should have failed too
17:39:59 <geekosaur> yet their paste shows it working
17:40:26 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
17:40:34 <geekosaur> https://paste.tomsmeding.com/t2eAq6e2 lines 37-38
17:40:47 <geekosaur> so something is not making sense here
17:41:14 <monochrom> Err there are two. They are "Sum a" and "Product a". But neither is considered by extended defaulting.
17:41:19 <geekosaur> yes
17:41:25 <geekosaur> which one is that paste using?
17:41:40 × kuribas quits (~user@ptr-25vy0i879y19n3wd622.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
17:41:50 <monochrom> I believe that the book is wrong here.
17:42:28 <bobweb> I was thinking it possible that the text could be in error.
17:42:49 <bobweb> It's a big book.
17:43:47 <monochrom> This is why before I post an assignment I work out the complete solution and make sure it compiles. Learned it the hard way.
17:43:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
17:43:57 ptrcmd_ is now known as ptrcmd
17:44:29 <monochrom> In fact also write some simple but representative test cases and make sure my solution passes my own test cases before I post the assignment.
17:44:35 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
17:45:10 <bobweb> OK, so I'm going to let this one go. Thanks for your help, koz_: geekosaur: and monochrom:
17:45:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:45:21 <monochrom> That's right, I'm impeaching that the book author never solved this exercise. Bite me.
17:45:36 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 244 seconds)
17:46:40 <bobweb> LOL.
17:46:54 × l8star__ quits (~l8star@business-90-187-113-149.pool2.vodafone-ip.de) (Remote host closed the connection)
17:46:54 <monochrom> "Fst 1" alone is just like "Left 1" alone and enjoys defaulting to Integer. This one doesn't involve Semigroup.
17:48:02 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
17:48:38 <monochrom> Hrm, I was wrong. The exercise is solvable as is.
17:49:54 <monochrom> The "sticky Snd" behaviour (and I bet also the "last Fst" behaviour in case you don't see any Snd) implies that you should simply have "instance Semigroup (Or a b) where ...".
17:50:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
17:50:42 <monochrom> Then even normal defaulting will suffice. You're now just looking for a type X that is an instance of Num and Show. No Semigroup requirement.
17:51:02 × bobweb quits (ac3a1784@172.58.23.132) (Ping timeout: 240 seconds)
17:51:28 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:55:00 × Franciman quits (~francesco@host-79-53-62-46.retail.telecomitalia.it) (Quit: Leaving)
17:55:00 × zaquest quits (~notzaques@5.128.210.178) (Ping timeout: 246 seconds)
17:55:50 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds)
17:56:54 cur8or joins (~cur8or@196.41.98.130)
17:57:05 × cur8or quits (~cur8or@196.41.98.130) (Client Quit)
17:57:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
17:58:18 zaquest joins (~notzaques@5.128.210.178)
17:58:34 <solidus-river> hmm, this library is using threadWaitWrite but i don't want it to, do i have to remake these funcs or is there a way to gaurd against that via thread options
18:01:27 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
18:01:33 × codygman` quits (~user@209.251.131.98) (Remote host closed the connection)
18:01:44 × rajivr quits (uid269651@gateway/web/irccloud.com/x-uascrnncsdwthllt) (Quit: Connection closed for inactivity)
18:01:53 codygman__ joins (~user@209.251.131.98)
18:03:14 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
18:06:23 hackage recover-rtti 0.3.0.0 - Recover run-time type information from the GHC heap https://hackage.haskell.org/package/recover-rtti-0.3.0.0 (EdskoDeVries)
18:06:50 <solidus-river> actually i can put it in a child thread
18:08:13 geekosaur joins (82650c7a@130.101.12.122)
18:08:55 seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
18:10:56 × Cathy quits (~Cathy@unaffiliated/cathy) (Ping timeout: 240 seconds)
18:11:11 × DataComputist quits (~lumeng@50.43.26.251) (Quit: Leaving...)
18:11:30 <iphy> in attoparsec, is there a way to say "parse with this parser until N bytes have been consumed"?
18:11:57 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds)
18:12:10 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8)
18:12:30 <iphy> so basically: take n, then run a subparser on the returned ByteString, except I'd like to stay within the same Parser
18:12:45 <monochrom> I think no, but are you OK with giving it just N bytes?
18:13:14 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
18:13:21 × fuzzypixelz quits (2ec10464@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Connection closed)
18:13:30 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
18:13:39 <iphy> I'm parsing a chunked file format where the chunk size is at the start, but I don't know how many of the subparser are within that chunk
18:14:14 <geekosaur> seems to me you just plain read the chunk, then invoke the parser on that
18:14:15 <iphy> so I know the length of the chunk, and I want to do "parse as many of the subparser within these bounds as you can"
18:14:23 hackage cabal2nix 2.17.0 - Convert Cabal files into Nix build instructions. https://hackage.haskell.org/package/cabal2nix-2.17.0 (PeterSimons)
18:14:43 <iphy> hmm
18:15:59 × peanut_ quits (~peanut@2a02:8388:a101:2600:ca51:748b:ec67:2e7c) (Quit: Leaving)
18:16:18 DataComputist joins (~lumeng@50.43.26.251)
18:18:08 <iphy> geekosaur: so actually { chunk <- take n ; let res = parse (some parseElement) chunk ; ... do something to res to turn it back into the Parser monad? ?
18:18:12 <iphy> }
18:18:24 Cathy joins (~Cathy@unaffiliated/cathy)
18:18:25 <iphy> so how do I turn Result back into a Parser?
18:18:46 frozenErebus joins (~frozenEre@37.231.243.22)
18:18:48 <iphy> or do you mean separate steps of parsing the chunked format and then parse each chunk separately outside?
18:19:05 <monochrom> I would do the separate steps way.
18:19:13 <geekosaur> I was thinking one of the hGet… functions and parse each separately
18:19:40 <geekosaur> but separate steps would also work
18:21:27 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
18:21:51 lynx__ joins (~lynx_@117.222.66.23)
18:21:52 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:22:36 <solidus-river> im using a recursive function to do something every N seconds within an IO monad, is there a helper func that would make this cleaner
18:22:48 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
18:22:51 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
18:23:22 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
18:24:35 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 265 seconds)
18:24:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:25:23 × augnun quits (~augnun@2804:14c:658b:41bb:57d:9776:9e3e:4447) (Ping timeout: 244 seconds)
18:26:01 __minoru__shirae joins (~shiraeesh@109.166.59.216)
18:26:18 × esp32_prog quits (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127) (Ping timeout: 245 seconds)
18:26:21 × minoru_shiraeesh quits (~shiraeesh@46.34.206.65) (Ping timeout: 264 seconds)
18:26:57 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
18:29:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
18:32:06 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
18:34:28 <sm[m]> solidus-river: there's monadic loop helpers like forever
18:35:10 × Yumasi quits (~guillaume@40.72.95.92.rev.sfr.net) (Ping timeout: 260 seconds)
18:36:27 notzmv joins (~zmv@unaffiliated/zmv)
18:36:27 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
18:36:57 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
18:37:11 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
18:37:17 Sorny joins (~Sornaensi@154.6.18.32)
18:37:30 epicte7us joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
18:37:54 urodna_ joins (~urodna@unaffiliated/urodna)
18:38:46 elfets_ joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
18:38:55 <iphy> https://downloads.haskell.org/~ghc/8.0.1/docs/html/libraries/binary-0.8.3.0/Data-Binary-Get.html#v:isolate <- so this does not exist for attoparsec?
18:39:12 <solidus-river> yeah, i'm ending up using fix a lot to do one off tail recursive loops and i'm wondering if i'm getting used to an anti patturn or if thats just the way things go when doing a lot of iterative IO as a driving force in a thread
18:39:37 <solidus-river> i don't know why I added a yeah there :X
18:40:59 × hololeap quits (~hololeap@unaffiliated/hololeap) (Read error: Connection reset by peer)
18:41:47 × darjeeling_ quits (~darjeelin@122.245.218.190) (Ping timeout: 265 seconds)
18:42:20 Ishutin_ joins (~ishutin@94-21-131-78.pool.digikabel.hu)
18:42:44 jumper141 joins (~jumper149@ip185225.wh.uni-hannover.de)
18:43:06 × jumper141 quits (~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
18:44:40 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 276 seconds)
18:45:14 <solidus-river> switching from polling to sleeping and then checking if hte condition still holds makes things way cleaner in code
18:46:23 hololeap joins (~hololeap@unaffiliated/hololeap)
18:46:33 × zaquest quits (~notzaques@5.128.210.178) (*.net *.split)
18:46:33 × Ishutin quits (~ishutin@94-21-131-78.pool.digikabel.hu) (*.net *.split)
18:46:33 × Sorna quits (~Sornaensi@154.6.18.32) (*.net *.split)
18:46:33 × roconnor quits (~roconnor@host-45-58-230-226.dyn.295.ca) (*.net *.split)
18:46:33 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (*.net *.split)
18:46:33 × Wuzzy quits (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) (*.net *.split)
18:46:33 × Jd007 quits (~Jd007@162.156.11.151) (*.net *.split)
18:46:33 × alx741 quits (~alx741@186.178.109.138) (*.net *.split)
18:46:33 × urodna quits (~urodna@unaffiliated/urodna) (*.net *.split)
18:46:33 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (*.net *.split)
18:46:33 × jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (*.net *.split)
18:46:33 × glamas quits (~glamas@107.182.17.237) (*.net *.split)
18:47:13 × DataComputist quits (~lumeng@50.43.26.251) (Quit: Leaving...)
18:47:55 <shapr> ocharles: I think I've broken weeder entirely, I can't get it to report any weeds at all, even with the most minimal of contents in weeder.dhall
18:48:33 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
18:51:35 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.1)
18:52:47 zaquest joins (~notzaques@5.128.210.178)
18:52:49 glamas_ joins (~glamas@107.182.17.237)
18:54:01 darjeeling_ joins (~darjeelin@122.245.217.128)
18:54:22 alx741 joins (~alx741@186.178.109.138)
18:54:28 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
18:55:06 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:55:18 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
18:55:19 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
18:56:30 notzmv joins (~zmv@unaffiliated/zmv)
18:58:15 waleee-cl joins (uid373333@gateway/web/irccloud.com/x-fvkpewqjehdvcehc)
18:59:53 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
19:00:38 × frozenErebus quits (~frozenEre@37.231.243.22) (Ping timeout: 265 seconds)
19:00:44 Pickchea joins (~private@unaffiliated/pickchea)
19:01:00 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
19:04:05 <maralorn> I have a an unforced ~5MB Lazy Text from a Lazy IO and I would like to get it’s length without my running out of memory (it leaks until 15GB, then my RAM is full). What can I do?
19:04:57 pjb joins (~t@2a01cb04063ec500180c10bfcb2533c4.ipv6.abo.wanadoo.fr)
19:06:32 jneira joins (501e6406@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.6)
19:07:07 <shapr> sounds like you want a lazy list that only looks at the spine
19:07:22 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
19:08:43 <davean> maralorn: how are you running out of memory with getting the length? I feel something else is going on here.
19:09:11 <maralorn> davean: Yeah, the longer I think about this, the less sense it makes.
19:09:31 <maralorn> It’s not the lazy IO because the attoparsec parser actually terminates …
19:10:00 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
19:10:30 RandomArcher joins (~RandomArc@90.153.229.170)
19:10:30 × conal quits (~conal@64.71.133.70) (Read error: Connection reset by peer)
19:11:02 × RandomArcher quits (~RandomArc@90.153.229.170) (Max SendQ exceeded)
19:11:36 RandomArcher joins (~RandomArc@90.153.229.170)
19:12:01 × RandomArcher quits (~RandomArc@90.153.229.170) (Max SendQ exceeded)
19:15:22 conal joins (~conal@64.71.133.70)
19:17:14 Ranhir joins (~Ranhir@157.97.53.139)
19:17:14 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
19:17:33 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
19:18:50 ADG1089__ joins (~aditya@106.214.253.186)
19:18:56 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 268 seconds)
19:20:02 <maralorn> Hm, yeah, so apparently nix-derivation Nix.Derivation.parseDerivation has something evil hidden in the thunk I am trying to force … It’s certainly doing more than just reading the variable out of the derivation file. (Which is weird, cause I don‘t see any reason for it to do anything else.)
19:20:25 <maralorn> I can‘t even do a Text.take 0 on the value.
19:20:29 esp32_prog joins (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127)
19:20:41 frozenErebus joins (~frozenEre@37.231.243.22)
19:21:53 <tomsmeding> maralorn: run with profiling and +RTS -p and look what's taking lots of time?
19:24:34 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
19:25:47 ADG1089__ joins (~aditya@106.214.253.186)
19:26:04 kupi joins (uid212005@gateway/web/irccloud.com/x-tdvzqgwujuhompnu)
19:28:23 lynx__ parts (~lynx_@117.222.66.23) ()
19:29:09 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
19:30:12 idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
19:30:28 × drakonis quits (~drakonis@unaffiliated/drakonis) (Quit: ZNC 1.8.2 - https://znc.in)
19:30:44 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
19:30:49 × elfets_ quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 276 seconds)
19:30:54 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
19:30:58 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
19:31:08 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
19:32:23 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
19:32:53 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
19:32:56 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
19:34:11 drakonis joins (~drakonis@unaffiliated/drakonis)
19:36:09 <__minoru__shirae> I'm reading about "bracket" function from Control.Exception
19:36:25 <__minoru__shirae> bracket before after thing
19:37:21 <__minoru__shirae> I don't understand the "only one blocking operation in before" part in this text:
19:37:30 kam1 joins (~kam1@83.123.237.152)
19:37:30 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
19:37:41 <__minoru__shirae> <quote>
19:37:43 <__minoru__shirae> The IO actions passed in as before and after are performed inside mask .
19:37:44 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
19:37:53 <__minoru__shirae> The bracket
19:37:55 <__minoru__shirae> function guarantees that if before returns, after will be executed in the future.
19:38:26 <__minoru__shirae> It is normal for before to contain a blocking operation; if an exception is raised while before is blocked, then no harm is done.
19:38:47 <__minoru__shirae> But before should perform only one blocking operation.
19:39:08 <__minoru__shirae> An exception raised by a second blocking operation would not result in after being executed.
19:39:32 <__minoru__shirae> If you need to perform two blocking operations, the right way is to nest calls to bracket , as we did with modifyMVar .
19:39:35 ADG1089__ joins (~aditya@106.214.253.186)
19:39:37 <__minoru__shirae> </quote>
19:40:07 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
19:40:09 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
19:40:45 <monochrom> For example you don't go "bracket (acquire lock #1; acquire lock #2) ...". Split it into two calls to bracket, one per lock.
19:42:17 <__minoru__shirae> it says "An exception raised by a second blocking operation would not result in after being executed." - but if the exception is thrown during "before", then "after" shouldn't even run, right?
19:42:20 kam1 joins (~kam1@83.123.237.152)
19:42:36 <__minoru__shirae> because the guarantee is that "after" runs after the "before" returned
19:43:13 <__minoru__shirae> maybe the text should say something about a "thing" instead of "before"
19:44:22 thonkpod_ is now known as thonkpod
19:44:22 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
19:44:29 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
19:44:48 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
19:44:50 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
19:45:35 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
19:46:09 RandomArcher joins (~RandomArc@90.153.166.31)
19:46:34 × RandomArcher quits (~RandomArc@90.153.166.31) (Remote host closed the connection)
19:46:47 Franciman joins (~francesco@host-79-53-62-46.retail.telecomitalia.it)
19:46:58 <monochrom> Where is that text? I can't find it in Control.Exception's doc.
19:47:26 <__minoru__shirae> it's from the "Parallel and Concurrent Programming in Haskell" book by Simon Marlow
19:47:50 kam1 joins (~kam1@83.123.237.152)
19:48:02 ADG1089__ joins (~aditya@106.214.253.186)
19:48:02 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
19:48:04 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
19:49:00 kam1 joins (~kam1@83.123.237.152)
19:49:27 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
19:50:35 <__minoru__shirae> I tried adding a second blocking operation both to "before" and a "thing" - it works as one would expect
19:51:11 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
19:51:21 kam1 joins (~kam1@83.123.237.152)
19:51:25 <__minoru__shirae> "after" runs only when the exception is thrown in a "thing", not in "before"
19:51:25 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
19:51:25 <geekosaur> te problem comes in the finalizer, how do you know that both things have been allocated?
19:51:39 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
19:51:42 × esp32_prog quits (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127) (Ping timeout: 260 seconds)
19:51:58 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
19:52:01 <monochrom> OK, the scenerio is if "before" doesn't return normally, i.e., aborted because of an exception.
19:52:10 <geekosaur> so if the finalizer doesn't run if an exception is thrown in before, but after you have allocated some resouce, you have just leaked that resource
19:52:10 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
19:52:14 <monochrom> Since "before" doesn't return normally, "after" is not run.
19:52:24 malumore_ is now known as malumore
19:52:31 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
19:52:49 ADG1089__ joins (~aditya@106.214.253.186)
19:52:50 <maralorn> __minoru__shirae: I think what you are saying and citing makes sense together. When (acquire lock #2) fails the finalizer will not be run. You are correct about that. And that's why you should write it like monochrom wrote.
19:53:03 <monochrom> But if "before" consists of acquiring two locks, perhaps one lock is acquired before the abortion. Now no one is freeing that lock.
19:53:11 <maralorn> you shouldn‘t
19:54:17 <__minoru__shirae> oh, I see: so the exception in the second blocking operation "hides" the successfull allocation of the first operation in "before"
19:55:27 <__minoru__shirae> but I see no problem in delaying a thread as many times as you want before allocation a resource in "before"
19:55:36 benkolera joins (uid285671@gateway/web/irccloud.com/x-phaufigullyuswqk)
19:55:39 <__minoru__shirae> *allocating
19:56:03 myShoggoth joins (~myShoggot@75.164.81.55)
19:56:14 <__minoru__shirae> I mean literally calling threadDelay
19:56:44 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
19:56:58 <monochrom> OK, so you're doing "bracket (sleep 5 seconds; open a file but this also takes 5 seconds becuase NFS or something) ..."
19:57:28 ADG1089__ joins (~aditya@106.214.253.186)
19:57:33 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
19:57:38 <monochrom> Hrm not a good example. Nevermind.
19:58:08 <__minoru__shirae> yes, the rule is not about a count of blocking operations per se, but about exceptions in later blocking operations hiding allocations from previous operations
19:58:13 <monochrom> But seriously, I consider "bracket (sleep 5 seconds; open file)" trolling the computer. Why would you write code like that.
19:58:44 <geekosaur> you do lose the result of the presumed-to-have-failed acquire operation in the result of the interrupted threadDelay
19:58:53 <geekosaur> which you may well care about
20:02:51 <__minoru__shirae> thanks, I think I get it now. The text is slightly misleading or confusing, maybe the author didn't want to spend too much time discussing subtleties of "bracket" and wanted to move on. The section is pretty short.
20:03:57 <geekosaur> "blocking" also has a specific meaning with respect to ghc, which is rather more than just what threadDelay does and indeed has more to do with resource acquisition/possible leakage
20:05:06 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 244 seconds)
20:05:23 hackage google-oauth2-jwt 0.3.3 - Get a signed JWT for Google Service Accounts https://hackage.haskell.org/package/google-oauth2-jwt-0.3.3 (MichelBoucey)
20:05:48 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 268 seconds)
20:06:42 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:e36e:9885:3dcc:fcb4) (Ping timeout: 260 seconds)
20:08:30 petersen joins (~petersen@redhat/juhp)
20:08:34 ADG1089__ joins (~aditya@106.214.253.186)
20:09:02 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
20:09:39 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
20:09:50 ADG1089__ joins (~aditya@106.214.253.186)
20:11:36 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
20:11:57 × conal quits (~conal@64.71.133.70) (Ping timeout: 264 seconds)
20:12:06 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
20:12:36 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection)
20:12:57 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
20:13:01 kam1 joins (~kam1@83.123.237.152)
20:13:04 × PtxDK quits (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) (Quit: No Ping reply in 180 seconds.)
20:13:27 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
20:13:34 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection)
20:13:44 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
20:14:02 Tops2 joins (~Tobias@dyndsl-095-033-095-010.ewe-ip-backbone.de)
20:14:09 PtxDK joins (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6)
20:15:14 ADG1089__ joins (~aditya@106.214.253.186)
20:15:57 conal joins (~conal@66.115.157.150)
20:16:22 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
20:18:20 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
20:18:42 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
20:19:34 hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:7ae2:2c33:b1ea:eeb7)
20:21:12 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
20:23:17 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 265 seconds)
20:25:15 ADG1089__ joins (~aditya@106.214.253.186)
20:25:15 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
20:25:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:25:47 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
20:27:56 kam1 joins (~kam1@83.123.237.152)
20:28:02 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
20:28:21 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
20:30:15 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
20:31:52 Wuzzy joins (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de)
20:32:07 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
20:32:07 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
20:32:16 jb55 joins (~jb55@gateway/tor-sasl/jb55)
20:32:23 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
20:32:51 × idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds)
20:39:39 kam1 joins (~kam1@83.123.237.152)
20:40:05 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
20:40:10 Sorny is now known as Sornaensis
20:42:49 Lycurgus joins (~niemand@98.4.116.165)
20:45:42 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
20:45:46 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
20:45:53 hackage ory-kratos 0.0.5.7 - API bindings for Ory Kratos https://hackage.haskell.org/package/ory-kratos-0.0.5.7 (njaremko)
20:45:58 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
20:50:28 usr25 joins (~usr25@unaffiliated/usr25)
20:51:53 esp32_prog joins (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127)
20:54:17 × smerdyakov quits (~dan@5.146.194.90) (Read error: Connection reset by peer)
20:54:45 smerdyakov joins (~dan@5.146.194.90)
20:59:08 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
20:59:34 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
20:59:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
21:01:02 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
21:02:31 × malumore quits (~malumore@151.62.112.239) (Remote host closed the connection)
21:06:46 Sorna joins (~Sornaensi@077213203030.dynamic.telenor.dk)
21:07:28 × rj_ quits (~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
21:07:53 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 256 seconds)
21:08:05 Sorny joins (~Sornaensi@85.203.36.112)
21:09:30 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
21:10:14 jrqc joins (~rofl@96.78.87.197)
21:10:55 × Sornaensis quits (~Sornaensi@154.6.18.32) (Ping timeout: 276 seconds)
21:11:30 × Sorna quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 260 seconds)
21:11:37 kam1 joins (~kam1@83.123.237.152)
21:12:16 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 244 seconds)
21:12:39 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
21:13:09 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
21:13:34 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
21:14:18 × jud quits (~jud@unaffiliated/jud) (Quit: Leaving)
21:14:54 × _xor quits (~xor@74.215.46.133) (Quit: brb)
21:15:10 _xor joins (~xor@74.215.46.133)
21:16:02 × LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
21:17:21 × Lycurgus quits (~niemand@98.4.116.165) (Quit: Exeunt)
21:19:13 bitmapper joins (uid464869@gateway/web/irccloud.com/x-hdpxwxnieogneqtd)
21:19:38 × codygman__ quits (~user@209.251.131.98) (Ping timeout: 260 seconds)
21:24:03 molehillish joins (~molehilli@172.58.17.42)
21:27:11 × esp32_prog quits (esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127) (Remote host closed the connection)
21:34:17 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:37:55 RandomArcher joins (RandomArch@gateway/vpn/protonvpn/randomarcher)
21:39:51 × Franciman quits (~francesco@host-79-53-62-46.retail.telecomitalia.it) (Quit: Leaving)
21:39:52 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
21:40:15 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
21:42:36 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
21:43:01 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:44:36 × RandomArcher quits (RandomArch@gateway/vpn/protonvpn/randomarcher) (Quit: Leaving)
21:45:10 RandomArcher joins (isho@gateway/vpn/protonvpn/randomarcher)
21:45:20 × seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Ping timeout: 244 seconds)
21:46:21 seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
21:47:45 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
21:49:01 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:49:22 × fendor quits (~fendor@77.119.128.169.wireless.dyn.drei.com) (Remote host closed the connection)
21:51:28 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
21:52:33 × RandomArcher quits (isho@gateway/vpn/protonvpn/randomarcher) (Ping timeout: 245 seconds)
21:52:43 son0p joins (~son0p@181.58.39.182)
21:53:22 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
21:53:50 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
21:54:36 cosimone joins (~user@2001:b07:ae5:db26:e434:bd94:98f9:541d)
21:58:49 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
21:59:18 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
21:59:18 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
22:02:07 RandomArcher joins (isho@gateway/vpn/protonvpn/randomarcher)
22:02:30 ADG1089__ joins (~aditya@106.214.253.186)
22:03:58 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
22:05:50 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
22:09:06 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:09:12 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
22:13:44 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
22:16:33 × Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving)
22:17:21 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9)
22:18:43 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
22:20:36 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
22:20:56 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
22:21:38 × supercoven_ quits (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 264 seconds)
22:21:58 × RandomArcher quits (isho@gateway/vpn/protonvpn/randomarcher) (Quit: Konversation terminated!)
22:23:30 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
22:23:45 Rudd0 joins (~Rudd0@185.189.115.103)
22:24:54 × kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer)
22:26:08 × Benzi-Junior quits (~BenziJuni@88-149-67-143.du.xdsl.is) (Ping timeout: 256 seconds)
22:27:09 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
22:28:07 ADG1089__ joins (~aditya@106.214.253.186)
22:30:44 kam1 joins (~kam1@83.123.237.152)
22:31:55 × molehillish quits (~molehilli@172.58.17.42) (Remote host closed the connection)
22:32:53 × fissureman quits (~quassel@c-73-201-159-163.hsd1.dc.comcast.net) (Ping timeout: 256 seconds)
22:34:46 × liyang quits (~liyang@90.253.54.54) (Read error: Connection reset by peer)
22:36:01 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection)
22:36:24 heatsink joins (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44)
22:38:51 × frozenErebus quits (~frozenEre@37.231.243.22) (Ping timeout: 246 seconds)
22:40:16 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)
22:41:26 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
22:42:12 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 265 seconds)
22:42:29 × Alleria__ quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 265 seconds)
22:49:23 hackage persistent 2.12.0.0 - Type-safe, multi-backend data serialization. https://hackage.haskell.org/package/persistent-2.12.0.0 (parsonsmatt)
22:51:05 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
22:51:11 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 265 seconds)
22:51:30 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
22:51:39 × Tops2 quits (~Tobias@dyndsl-095-033-095-010.ewe-ip-backbone.de) (Read error: Connection reset by peer)
22:51:59 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 244 seconds)
22:52:53 hackage persistent 2.10.5.4 - Type-safe, multi-backend data serialization. https://hackage.haskell.org/package/persistent-2.10.5.4 (parsonsmatt)
22:54:14 acidjnk_new joins (~acidjnk@p200300d0c72b959625b3d356e6f65619.dip0.t-ipconnect.de)
22:54:23 hackage persistent 2.11.0.3 - Type-safe, multi-backend data serialization. https://hackage.haskell.org/package/persistent-2.11.0.3 (parsonsmatt)
22:54:23 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
22:55:01 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
22:55:19 Alleria joins (~textual@2603-7000-3040-0000-99be-88ec-b8de-8f7c.res6.spectrum.com)
22:55:39 × myShoggoth quits (~myShoggot@75.164.81.55) (Ping timeout: 246 seconds)
22:55:42 Alleria is now known as Guest14375
22:56:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:59:31 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
23:00:21 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
23:00:26 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
23:00:51 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
23:00:57 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
23:01:06 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
23:02:25 notzmv joins (~zmv@unaffiliated/zmv)
23:04:17 × jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1)
23:05:06 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
23:05:23 × michalz quits (~user@185.246.204.39) (Remote host closed the connection)
23:07:46 Yushida joins (~is_saeed@79.127.84.243)
23:08:02 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
23:08:02 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
23:08:37 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
23:09:57 ADG1089__ joins (~aditya@106.214.253.186)
23:10:54 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
23:10:56 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
23:11:42 × Yushida quits (~is_saeed@79.127.84.243) (K-Lined)
23:12:13 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
23:12:33 × xwvvvvwx quits (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Ping timeout: 264 seconds)
23:16:20 hvr_ joins (~hvr@haskell/developer/hvr)
23:16:26 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-ofdesgwrwkzassad) (Quit: Connection closed for inactivity)
23:17:21 × hvr quits (~hvr@haskell/developer/hvr) (Ping timeout: 264 seconds)
23:18:01 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
23:19:08 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
23:20:07 xwvvvvwx joins (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
23:21:09 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
23:21:55 Tario joins (~Tario@201.192.165.173)
23:21:55 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
23:22:13 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
23:23:00 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
23:23:18 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
23:25:45 × dunj3 quits (~dunj3@2001:16b8:3085:a900:c9d7:3fe2:e55d:427a) (Quit: Leaving)
23:26:22 Sornaensis joins (~Sornaensi@077213203030.dynamic.telenor.dk)
23:26:32 frozenErebus joins (~frozenEre@94.128.234.223)
23:28:55 ozataman joins (~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net)
23:29:25 × cosimone quits (~user@2001:b07:ae5:db26:e434:bd94:98f9:541d) (Quit: ERC (IRC client for Emacs 28.0.50))
23:30:18 × Sorny quits (~Sornaensi@85.203.36.112) (Ping timeout: 246 seconds)
23:30:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
23:39:22 × ADG1089__ quits (~aditya@106.214.253.186) (Remote host closed the connection)
23:39:40 pavonia joins (~user@unaffiliated/siracusa)
23:40:04 × howdoi quits (uid224@gateway/web/irccloud.com/x-dtnuksdjtbsicedj) (Quit: Connection closed for inactivity)
23:40:09 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
23:43:38 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
23:47:11 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
23:48:18 × frozenErebus quits (~frozenEre@94.128.234.223) (Ping timeout: 260 seconds)
23:48:20 bobweb joins (6bb893db@cpe-107-184-147-219.socal.res.rr.com)
23:49:05 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
23:49:15 frozenErebus joins (~frozenEre@94.128.230.170)
23:52:21 Tario joins (~Tario@201.192.165.173)
23:52:44 × andreas31 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
23:53:18 andreas31 joins (~andreas@gateway/tor-sasl/andreas303)
23:56:55 hvr joins (~hvr@haskell/developer/hvr)
23:57:19 × hvr_ quits (~hvr@haskell/developer/hvr) (Read error: Connection reset by peer)
23:57:33 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds)
23:58:58 <bobweb> Hi. I have this problem: https://paste.tomsmeding.com/33W7QoKP Please help me solve why monoidRightIdentity (Identity "boo) appears to go into an infinite loop. Thank you.
23:59:12 <bobweb> "boo"
23:59:59 <monochrom> Ohai bobweb, I was wrong last time. If you do "instance Semigroup (Or a b)", the exercise can be solved, the book was right.

All times are in UTC on 2021-03-17.