2020/10/29

2020-10-29 00:01:55 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-10-29 00:06:09 +0100crestfallen(~john@128.32.176.159)
2020-10-29 00:06:25 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c75:523e:ddcb:cd98) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 00:06:52 +0100britva(~britva@2a02:aa13:7240:2980:1ce4:625f:f093:45ef) (Quit: This computer has gone to sleep)
2020-10-29 00:07:26 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c75:523e:ddcb:cd98)
2020-10-29 00:09:35 +0100errst(~errst@unaffiliated/tirej) (Quit: Lost terminal)
2020-10-29 00:10:56 +0100britva(~britva@2a02:aa13:7240:2980:1ce4:625f:f093:45ef)
2020-10-29 00:11:37 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 00:12:27 +0100knupfer(~Thunderbi@200116b82c88900041e2bae31fea6a53.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-10-29 00:15:41 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c75:523e:ddcb:cd98) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 00:15:49 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-10-29 00:16:00 +0100Tario(~Tario@201.192.165.173)
2020-10-29 00:16:04 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 00:17:10 +0100 <crestfallen> Hi .. I understand most of this paste. it clarifies that (->) is not a morphism (I guess a morphism cannot be binary?) ; and that fmap for Functor (-> r) is composition. So generally fmap is a morphism, perhaps the most basic one? https://termbin.com/evcw
2020-10-29 00:17:43 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-29 00:18:40 +0100 <crestfallen> I see how the expansion of (->) r (fmap) is composition.
2020-10-29 00:19:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-29 00:21:02 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-10-29 00:21:35 +0100 <crestfallen> so my question is, if the above is correct, are there morphisms more simple than fmap?
2020-10-29 00:21:59 +0100britva(~britva@2a02:aa13:7240:2980:1ce4:625f:f093:45ef) (Quit: This computer has gone to sleep)
2020-10-29 00:22:10 +0100 <bsima> how do i convert a Decimal to a Float or Int?
2020-10-29 00:22:17 +0100ulidtko|k(~ulidtko@193.111.48.79) (Remote host closed the connection)
2020-10-29 00:22:33 +0100 <Axman6> what's a Decimal?
2020-10-29 00:22:36 +0100ulidtko|k(~ulidtko@193.111.48.79)
2020-10-29 00:22:38 +0100 <bsima> Data.Decimal
2020-10-29 00:22:39 +0100 <ghoulguy> probably: realToFrac and truncate
2020-10-29 00:22:56 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c75:523e:ddcb:cd98)
2020-10-29 00:23:06 +0100 <ghoulguy> truncate or round, depending on which behavior you want
2020-10-29 00:23:39 +0100 <Axman6> :t realToFrac
2020-10-29 00:23:40 +0100 <lambdabot> (Real a, Fractional b) => a -> b
2020-10-29 00:24:21 +0100 <crestfallen> or are there morphisms I've probably come across before?
2020-10-29 00:24:27 +0100 <bsima> i think realToFrac is what I wanted, thanks
2020-10-29 00:24:48 +0100falafel(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 272 seconds)
2020-10-29 00:25:34 +0100 <crestfallen> also I'm trying to see if and how (->) r is partial application
2020-10-29 00:25:58 +0100 <crestfallen> a bit confused..
2020-10-29 00:26:41 +0100 <Axman6> it's a partial application of the type (->) but doesn't represent partial application of functions to values - ((->) r) is all functions which can accept an r
2020-10-29 00:26:43 +0100 <lyxia> crestfallen: I'm not sure what you mean by "morphism"
2020-10-29 00:27:03 +0100 <crestfallen> https://termbin.com/evcw lyxia it's the blurb at the top
2020-10-29 00:27:45 +0100 <crestfallen> all functions which can accept an r Axman6 ...
2020-10-29 00:27:53 +0100 <lyxia> crestfallen: I don't find that paste particularly good, notably because it starts by using the word "morphism" in an unconventional way, if it makes sense at all.
2020-10-29 00:28:23 +0100 <crestfallen> really ok. lyxia thanks, what about below the paragraph though?
2020-10-29 00:29:47 +0100falafel(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-29 00:30:17 +0100 <lyxia> The important part is that ((->) r) is a mapping from types to types, that's the first condition for something to be in the Functor class in Haskell.
2020-10-29 00:30:59 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 00:31:15 +0100 <lyxia> But it's worth mentioning that the Functor class in Haskell is itself a restriction of amuch more general idea of functors in category theory, where they don't necessarily map types to types.
2020-10-29 00:31:49 +0100mdrjr1(~mdrjr@217.146.82.202)
2020-10-29 00:32:25 +0100 <lyxia> So this paragraph is talking in terms of categories about the very restricted notion of Functor in Haskell, that's bound to mix up ideas and confuse people.
2020-10-29 00:32:44 +0100 <crestfallen> yeah, i.e. an object doesn't need to be a type. like it can be a group I think lyxia
2020-10-29 00:32:51 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-29 00:33:13 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Quit: ChaiTRex)
2020-10-29 00:33:30 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-10-29 00:35:04 +0100christo(~chris@81.96.113.213)
2020-10-29 00:36:34 +0100 <monsterchrom> Who wrote that?
2020-10-29 00:36:43 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
2020-10-29 00:36:56 +0100 <crestfallen> thanks lyxia and Axman6 monsterchrom one sec
2020-10-29 00:37:33 +0100 <lyxia> monsterchrom: did you change your nick
2020-10-29 00:37:41 +0100 <monsterchrom> There is a reason in a 1st-year linear algebra course we don't go "use the Yoneda lemma to prove that every elementary row operation is representable by multiplying by a matrix", even though it is totally true.
2020-10-29 00:37:50 +0100 <monsterchrom> Yeah Halloween theme
2020-10-29 00:38:01 +0100crestfallenwretchswollen
2020-10-29 00:38:31 +0100 <wretchswollen> I need to find the source monsterchrom . I probably doctored the paragraph to the best of my understanding
2020-10-29 00:39:24 +0100 <monsterchrom> There is totally no point in bringing up objects and morphism in Haskell. Not even in the context of the Functor type class.
2020-10-29 00:39:38 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 00:40:03 +0100 <lyxia> ^
2020-10-29 00:40:09 +0100 <monsterchrom> Alternatively if the purpose is learning category theory, then learn from a proper category theory book independent of Haskell.
2020-10-29 00:40:10 +0100 <wretchswollen> ok I read bartosz a bit and it often goes there..
2020-10-29 00:40:24 +0100 <wretchswollen> I think it might be from that quarter
2020-10-29 00:40:42 +0100 <monsterchrom> I actually looked in Bartosz's and can't find it.
2020-10-29 00:40:54 +0100 <wretchswollen> not sure, I certainly didn't write it
2020-10-29 00:41:15 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c75:523e:ddcb:cd98) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 00:41:38 +0100 <wretchswollen> I'll delete it. I like the exercise of getting to fmap = (.)
2020-10-29 00:41:39 +0100jamm_(~jamm@unaffiliated/jamm)
2020-10-29 00:41:45 +0100 <monsterchrom> Bartosz's is a case of "category theory for programmers" so first of all if you are not already a good programmer, one that has written 1000 lines of correct code, you can't use it.
2020-10-29 00:42:26 +0100 <monsterchrom> I don't understand how one looks at "category theory for programmers" and infers "so this is good for learning both at the same time".
2020-10-29 00:42:45 +0100 <wretchswollen> yeah it's tough. sometimes things do stick. I got a lot from a lesson on the kleisli operator
2020-10-29 00:43:13 +0100avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 00:43:16 +0100 <wretchswollen> it helped me understand bind better
2020-10-29 00:43:43 +0100 <monsterchrom> Then again I also don't understand how there can be undergrad students who look at "prerequisite of this course" and can mentally edit it to "co-requsite of this course" and then email me "can I take your course and the prereq course at the same time? like it makes perfect sense?"
2020-10-29 00:43:44 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-29 00:44:30 +0100 <wretchswollen> I had it easy: I studied Literature and my mom taught me to read well.
2020-10-29 00:44:40 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 00:45:57 +0100 <wretchswollen> thanks monsterchrom that takes the load off. but to be honest I'm still thinking about Axman6 's " ((->) r) is all functions which can accept an r "
2020-10-29 00:46:14 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2020-10-29 00:46:45 +0100 <koz_> monsterchrom: I would make a funny joke here, but I don't think I can think of two things where 'pre-X' and 'co-X' both exist
2020-10-29 00:46:46 +0100whaletechno(~whaletech@unaffiliated/whaletechno)
2020-10-29 00:46:50 +0100 <koz_> Like, are cosheaves a thing?
2020-10-29 00:47:43 +0100jespada(~jespada@90.254.243.98) (Ping timeout: 256 seconds)
2020-10-29 00:47:47 +0100 <wretchswollen> yeah like I tried to sit in on abstract algebra, when pre algebra and calculus was 30 years old
2020-10-29 00:47:58 +0100 <wretchswollen> were*
2020-10-29 00:48:13 +0100 <wretchswollen> I meant preCalculus
2020-10-29 00:49:05 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 00:49:26 +0100 <wretchswollen> but hey, I'm beginning to understand bind, and yesterday made a huge headway with traversable
2020-10-29 00:50:37 +0100tim(~user@S0106a84e3fe54613.ed.shawcable.net)
2020-10-29 00:50:48 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2020-10-29 00:50:48 +0100jespada(~jespada@90.254.243.98)
2020-10-29 00:50:53 +0100tim(~user@S0106a84e3fe54613.ed.shawcable.net) (Remote host closed the connection)
2020-10-29 00:51:38 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2020-10-29 00:51:40 +0100tput(~user@S0106a84e3fe54613.ed.shawcable.net)
2020-10-29 00:51:42 +0100 <Axman6> data Foo f = Foo { bar :: f Int,baz :: f Bool }; type ReadFoo = Foo ((->) String) -- ReadFoo ~= Foo {bar :: r -> Int, baz :: r -> Bool}. ((->) String) is the functor for functors which can accept Strings
2020-10-29 00:51:52 +0100jcowan(sid325434@gateway/web/irccloud.com/x-evadozowlzlhtjmy)
2020-10-29 00:52:09 +0100xocolatl(xocolatl@gateway/vpn/protonvpn/xocolatl)
2020-10-29 00:52:26 +0100xocolatl(xocolatl@gateway/vpn/protonvpn/xocolatl) ("Leaving")
2020-10-29 00:52:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 00:53:38 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 00:53:38 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-29 00:53:39 +0100 <jcowan> A speculative question: I realize that Haskell patterns are fixed. But suppose they were extensible. What would matching against a procedure plausibly mean?
2020-10-29 00:53:39 +0100 <Axman6> for functions*
2020-10-29 00:54:02 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-29 00:54:07 +0100 <Axman6> jcowan: like view patterns?
2020-10-29 00:54:24 +0100 <Axman6> or something else
2020-10-29 00:55:49 +0100 <wretchswollen> working...
2020-10-29 00:56:08 +0100 <tput> I'm writing an fft as an exercise. I have a vector of values which I need to divide into two sub vectors, composed of every other element. How can I do this *quickly*? Basically I'm looking for a performant stride or slice. I'm happy to change from vector to array or any other similar datatype.
2020-10-29 00:56:55 +0100 <wretchswollen> thanks Axman6
2020-10-29 00:56:59 +0100 <Axman6> tput: one way I've seen this done is how Repa would do it, where you just use functions to reindex into the original array
2020-10-29 00:57:03 +0100 <koz_> tput: By 'quickly' I assume you mean O(1)?
2020-10-29 00:57:29 +0100 <jcowan> Are view patterns implemented now?
2020-10-29 00:57:30 +0100 <koz_> If so, delayed arrays are indeed what you want - you'll be well-served by massiv, I think.
2020-10-29 00:57:43 +0100 <Axman6> they have been implemented for years jcowan
2020-10-29 00:57:44 +0100 <tput> yeah, I'd ideally like a reindexed view into the original data structure without copying
2020-10-29 00:58:00 +0100 <koz_> tput: Ah, then you can use generate from vector.
2020-10-29 00:58:15 +0100 <koz_> If you wanna be _sure_, then massiv's delayed arrays are what you're after.
2020-10-29 00:58:18 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-29 00:58:23 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-29 00:58:32 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-29 00:58:34 +0100 <koz_> generate will _likely_ fuse, but I can't promise much.
2020-10-29 00:58:44 +0100 <Axman6> > let f ((\x -> x `mod` 3 == 0 && x `mod` 5 == 0) -> True) = "FizzBuzz"; f x = show x in map f [1..20]
2020-10-29 00:58:46 +0100 <lambdabot> ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","FizzBuzz","16...
2020-10-29 00:59:03 +0100 <jcowan> Okay, thanks. I was under the impression they were part of Haskell at one time and then withdrawn.
2020-10-29 00:59:26 +0100falafel(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 264 seconds)
2020-10-29 01:00:01 +0100mdrjr1(~mdrjr@217.146.82.202) ()
2020-10-29 01:01:13 +0100 <tput> at a glance it looks like generate will copy data to a new vector, which isn't ideal. but it might be good enough. I'll give it a try, thank you koz_
2020-10-29 01:01:21 +0100 <koz_> tput: It might fuse.
2020-10-29 01:01:22 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c)
2020-10-29 01:01:31 +0100 <koz_> No way to know without looking at what gets emitted.
2020-10-29 01:01:46 +0100 <koz_> Again, if you want _certainty_, delayed arrays from massiv.
2020-10-29 01:02:25 +0100ransom(~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Ping timeout: 240 seconds)
2020-10-29 01:02:25 +0100 <tput> lol, indeed. rewrite rules are a blessing and a curse. I have used massiv before, but was hoping to avoid the dependency at the moment. Thanks again!
2020-10-29 01:02:43 +0100 <koz_> No worries. I think your use case is _exactly_ where delayed arrays shine.
2020-10-29 01:02:59 +0100 <koz_> Massiv also has a bunch of cool things that might be useful for FFTs (stencilling, for example).
2020-10-29 01:03:24 +0100 <Axman6> is massiv basically Repa 2.0?
2020-10-29 01:03:37 +0100 <koz_> Axman6: I guess?
2020-10-29 01:03:39 +0100 <tput> p.s. am I speaking to Domen? I'm definitly on the sidelines of the haskell community, but I'm trying to be a little more involved.
2020-10-29 01:03:43 +0100 <MarcelineVQ> it's like repa but bigger
2020-10-29 01:03:49 +0100 <koz_> tput: I am not Domen Kozar.
2020-10-29 01:03:57 +0100 <koz_> (much as I sometimes wish I was)
2020-10-29 01:04:01 +0100 <tput> ah, took a guess on the user name, sorry.
2020-10-29 01:04:14 +0100 <Axman6> koz_: don't let your dreams by dreams
2020-10-29 01:04:15 +0100 <koz_> Not a bad guess. I'm some variant of 'Koz' everywhere.
2020-10-29 01:04:27 +0100 <Axman6> be*
2020-10-29 01:04:29 +0100 <koz_> Axman6: Don't let your grammar by grammar either.
2020-10-29 01:04:31 +0100 <MarcelineVQ> don't let your memes be beans
2020-10-29 01:05:17 +0100 <tput> well now it feels like a small puzzle
2020-10-29 01:05:37 +0100Axman6insists on pronouncing koz_ "cuz" in his mind
2020-10-29 01:05:41 +0100 <koz_> Basically massiv takes some adjusting to, but it's _really_ good if you genuinely care about speedy arrays.
2020-10-29 01:05:45 +0100 <koz_> Axman6: LOL
2020-10-29 01:05:53 +0100 <koz_> I have a cousin with axes for hands.
2020-10-29 01:06:01 +0100 <koz_> Apparently.
2020-10-29 01:06:06 +0100 <Axman6> I guess that makes us family
2020-10-29 01:06:16 +0100 <koz_> LOL
2020-10-29 01:06:33 +0100keep_learning(~keep_lear@43.231.26.152) (Quit: Leaving)
2020-10-29 01:07:13 +0100avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-29 01:07:24 +0100ph88(~ph88@2a02:8109:9e40:2704:f4dc:2c7e:f773:7bca) (Quit: Leaving)
2020-10-29 01:08:10 +0100 <Axman6> probably a better relative than Axman13, the dumbass blacksheep of the family: https://newgrounds.fandom.com/wiki/Dot_Dot_Dot_-_Animated
2020-10-29 01:08:51 +0100 <MarcelineVQ> the cutscenes were pretty good
2020-10-29 01:08:59 +0100 <koz_> Well, new family is always nice to discover.
2020-10-29 01:09:14 +0100 <koz_> Good work for someone with axes for hands for sure.
2020-10-29 01:09:25 +0100 <MarcelineVQ> I think mick would be sad to know he's still best known for dot dot dot :>
2020-10-29 01:09:33 +0100 <Axman6> You only press One ButtEN!
2020-10-29 01:10:16 +0100 <koz_> Yeah, so you can do it with the flat of the axe.
2020-10-29 01:10:21 +0100 <koz_> So you don't ruin your keyboard.
2020-10-29 01:10:42 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-29 01:11:25 +0100 <hololeap> i imagined them using a giant keyboard with stumps for keys
2020-10-29 01:11:27 +0100 <koz_> I think our branch of the family made different strategic choices, as I'm (actually) related to someone who goes by 'daggerman13' online.
2020-10-29 01:13:08 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-29 01:13:44 +0100 <wretchswollen> Axman6, sorry what's the trick to get fizzbuzz to work in ghci . I'm getting "Illegal view pattern" for the lambda part
2020-10-29 01:16:21 +0100 <tput> :set -XViewPatterns
2020-10-29 01:16:28 +0100solonarv(~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr) (Ping timeout: 265 seconds)
2020-10-29 01:17:09 +0100 <wretchswollen> oh thanks tput
2020-10-29 01:17:16 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-10-29 01:22:31 +0100damianfral4(~damianfra@173.red-37-12-232.dynamicip.rima-tde.net)
2020-10-29 01:25:21 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ)
2020-10-29 01:31:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 01:32:09 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-10-29 01:32:20 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 256 seconds)
2020-10-29 01:35:04 +0100wretchswollen(~john@128.32.176.159) (Ping timeout: 240 seconds)
2020-10-29 01:35:55 +0100ulidtko|k(~ulidtko@193.111.48.79) (Remote host closed the connection)
2020-10-29 01:36:08 +0100pthariensflame(~pthariens@2600:6c52:7280:100:402a:573f:3489:c595)
2020-10-29 01:36:09 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Remote host closed the connection)
2020-10-29 01:36:26 +0100pthariensflame(~pthariens@2600:6c52:7280:100:402a:573f:3489:c595) (Client Quit)
2020-10-29 01:36:43 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 01:36:57 +0100hackagesbv 8.9 - SMT Based Verification: Symbolic Haskell theorem prover using SMT solving. https://hackage.haskell.org/package/sbv-8.9 (LeventErkok)
2020-10-29 01:38:20 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 01:39:08 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds)
2020-10-29 01:41:01 +0100jud(~jud@cpe-70-113-106-222.austin.res.rr.com)
2020-10-29 01:41:01 +0100jud(~jud@cpe-70-113-106-222.austin.res.rr.com) (Changing host)
2020-10-29 01:41:01 +0100jud(~jud@unaffiliated/jud)
2020-10-29 01:41:04 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2020-10-29 01:42:45 +0100damianfral4(~damianfra@173.red-37-12-232.dynamicip.rima-tde.net) (Ping timeout: 240 seconds)
2020-10-29 01:44:52 +0100nyaomi(~naomi@2604:6000:1509:c86e:c878:29ff:fedf:ce89) (Quit: meow)
2020-10-29 01:48:56 +0100christo(~chris@81.96.113.213)
2020-10-29 01:49:04 +0100taurux(~taurux@net-188-216-115-134.cust.vodafonedsl.it) (Ping timeout: 240 seconds)
2020-10-29 01:49:57 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-29 01:50:24 +0100djellemah(~djellemah@c-73-12-31-179.hsd1.va.comcast.net)
2020-10-29 01:51:01 +0100taurux(~taurux@net-188-216-115-134.cust.vodafonedsl.it)
2020-10-29 01:51:26 +0100poorlyknitmonad(2edfa393@HSI-KBW-46-223-163-147.hsi.kabel-badenwuerttemberg.de)
2020-10-29 01:53:41 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c75:523e:ddcb:cd98)
2020-10-29 01:53:56 +0100tflgen2(~tflgen2@178.162.212.214)
2020-10-29 01:56:17 +0100damianfral4(~damianfra@173.red-37-12-232.dynamicip.rima-tde.net)
2020-10-29 02:01:53 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-10-29 02:05:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-29 02:07:44 +0100alp_(~alp@2a01:e0a:58b:4920:589a:775e:5f4f:1d0b)
2020-10-29 02:08:19 +0100vonfry(~user@178.128.212.63)
2020-10-29 02:08:33 +0100alp(~alp@2a01:e0a:58b:4920:494c:d829:c480:230f) (Ping timeout: 272 seconds)
2020-10-29 02:09:57 +0100nineonine(~textual@216.81.48.202) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 02:09:57 +0100hackagewhich 0.1.0.1 - Determine the full path to an executable. https://hackage.haskell.org/package/which-0.1.0.1 (abrar)
2020-10-29 02:11:04 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 260 seconds)
2020-10-29 02:14:32 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-10-29 02:14:47 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-10-29 02:19:44 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
2020-10-29 02:19:58 +0100Lord_of_Life(~Lord@46.217.220.26)
2020-10-29 02:20:30 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
2020-10-29 02:22:54 +0100nyaomi(~naomi@cpe-74-75-6-125.maine.res.rr.com)
2020-10-29 02:23:51 +0100notnatebtw(~nate@125.161.130.165) (Quit: WeeChat 2.9)
2020-10-29 02:24:10 +0100poorlyknitmonad(2edfa393@HSI-KBW-46-223-163-147.hsi.kabel-badenwuerttemberg.de) (Remote host closed the connection)
2020-10-29 02:35:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 02:35:16 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 272 seconds)
2020-10-29 02:35:43 +0100magnuscake(~magnuscak@103.44.33.121)
2020-10-29 02:36:44 +0100darjeeling_(~darjeelin@115.215.42.47) (Ping timeout: 240 seconds)
2020-10-29 02:36:50 +0100 <magnuscake> Hey guys. So I'm currently diving into understanding typeclass and instances and I came across this syntax
2020-10-29 02:36:58 +0100 <magnuscake> data Trivial =
2020-10-29 02:37:05 +0100 <magnuscake> Trivial'
2020-10-29 02:37:13 +0100 <magnuscake> instance Eq Trivial where
2020-10-29 02:37:25 +0100 <magnuscake> Trivial' == Trivial' = True
2020-10-29 02:37:32 +0100 <magnuscake> My question is why are we using Trivial' instead of Trivial? Don't they technically mean the same thing?
2020-10-29 02:37:47 +0100 <c_wraith> One is the name of the type, the other is the name of the constructor
2020-10-29 02:37:58 +0100 <c_wraith> did you misread "data" as "type" in the declaration?
2020-10-29 02:38:12 +0100 <c_wraith> I wish introductory materials never mentioned "type". It more or less shouldn't be used.
2020-10-29 02:38:26 +0100 <magnuscake> Sorry so Trivial' is the type in this case?
2020-10-29 02:38:36 +0100alp_(~alp@2a01:e0a:58b:4920:589a:775e:5f4f:1d0b) (Ping timeout: 268 seconds)
2020-10-29 02:38:43 +0100 <c_wraith> No, Trivial is the type. Trivial' is the data constructor
2020-10-29 02:39:17 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 02:39:32 +0100 <magnuscake> Ah yeah that makes sense
2020-10-29 02:40:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-29 02:40:33 +0100 <magnuscake> Yeah it does make it difficult to keep track of type and constructor in the beginning
2020-10-29 02:41:37 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 02:41:56 +0100 <c_wraith> The funny thing is that I'm sure that example used that because they think it's too confusing when a type and its constructor have the same name
2020-10-29 02:42:18 +0100 <c_wraith> Even though I'm sure no one has ever been confused by (,) having the same name as a type and as a constructor
2020-10-29 02:46:13 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-29 02:46:57 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-29 02:51:40 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
2020-10-29 02:52:15 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Ping timeout: 272 seconds)
2020-10-29 02:54:55 +0100xerox_(~xerox@unaffiliated/xerox)
2020-10-29 02:55:07 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c75:523e:ddcb:cd98) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 02:55:58 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-roarfkilnkqrlcqj) (Quit: Connection closed for inactivity)
2020-10-29 02:59:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 03:00:02 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-10-29 03:00:03 +0100milessabin(sid86799@gateway/web/irccloud.com/x-tsnesmrcjrlroviv) (Read error: Connection reset by peer)
2020-10-29 03:00:12 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-sdeipatzzilccgnx) (Ping timeout: 260 seconds)
2020-10-29 03:00:12 +0100rslima_____(sid26145@gateway/web/irccloud.com/x-svaniiqnbyfvpeqv) (Ping timeout: 260 seconds)
2020-10-29 03:00:19 +0100J_Arcane(sid119274@gateway/web/irccloud.com/x-bqxivhzktyeyfmzj) (Read error: Connection reset by peer)
2020-10-29 03:00:32 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-mhwfcebznpkovctx) (Ping timeout: 260 seconds)
2020-10-29 03:00:38 +0100ocharles(sid30093@musicbrainz/user/ocharles) (Read error: Connection reset by peer)
2020-10-29 03:00:44 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-pkehsujwjkxhciwt) (Ping timeout: 256 seconds)
2020-10-29 03:00:48 +0100rslima_____(sid26145@gateway/web/irccloud.com/x-fgvrtbnpeqwbcevi)
2020-10-29 03:00:49 +0100milessabin(sid86799@gateway/web/irccloud.com/x-sikstaduqanjrikp)
2020-10-29 03:00:58 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-uvvegwfyydfudwfg)
2020-10-29 03:01:01 +0100ocharles(sid30093@musicbrainz/user/ocharles)
2020-10-29 03:01:06 +0100J_Arcane(sid119274@gateway/web/irccloud.com/x-ivyumcmbhtoteijd)
2020-10-29 03:01:16 +0100agander_m(sid407952@gateway/web/irccloud.com/x-jwoqulslpyqlylbi) (Read error: Connection reset by peer)
2020-10-29 03:01:23 +0100typetetris(sid275937@gateway/web/irccloud.com/x-arltcnyiruapbdou) (Ping timeout: 260 seconds)
2020-10-29 03:01:25 +0100jackdk(sid373013@gateway/web/irccloud.com/x-xnbaqmiqnfknxnjx) (Ping timeout: 240 seconds)
2020-10-29 03:01:27 +0100dani-(sid341953@gateway/web/irccloud.com/x-dmefyomzdfqtzrok) (Read error: Connection reset by peer)
2020-10-29 03:01:35 +0100nbloomf(~nbloomf@76.217.43.73)
2020-10-29 03:01:36 +0100agander_m(sid407952@gateway/web/irccloud.com/x-wvuflyjbjmlajpto)
2020-10-29 03:01:44 +0100dani-(sid341953@gateway/web/irccloud.com/x-btnxpfbxhslylctw)
2020-10-29 03:01:45 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2020-10-29 03:01:56 +0100kristjansson(sid126207@gateway/web/irccloud.com/x-gnpvtzvuodufjtmg) (Ping timeout: 260 seconds)
2020-10-29 03:02:08 +0100jackdk(sid373013@gateway/web/irccloud.com/x-iryzpzzygtrtkbbz)
2020-10-29 03:02:59 +0100typetetris(sid275937@gateway/web/irccloud.com/x-sdhyqriahiqslcsk)
2020-10-29 03:02:59 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-xetnenikiqaoibky)
2020-10-29 03:03:01 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-dkdpshuvsuixqjqw)
2020-10-29 03:03:44 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-29 03:04:02 +0100kristjansson(sid126207@gateway/web/irccloud.com/x-wreqehnlduflmpbh)
2020-10-29 03:05:04 +0100milessabin(sid86799@gateway/web/irccloud.com/x-sikstaduqanjrikp) (Ping timeout: 240 seconds)
2020-10-29 03:05:10 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-10-29 03:08:12 +0100magnuscake(~magnuscak@103.44.33.121) (Quit: Leaving)
2020-10-29 03:09:31 +0100nuxdie(uid343142@gateway/web/irccloud.com/x-eubxksbuxauhuttg) (Quit: Connection closed for inactivity)
2020-10-29 03:11:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 03:11:45 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2020-10-29 03:14:08 +0100nbloomf(~nbloomf@76.217.43.73) (Read error: Connection reset by peer)
2020-10-29 03:14:12 +0100nbloomf_(~nbloomf@2600:1700:ad14:3020:e5a9:395e:fb06:bd56)
2020-10-29 03:15:03 +0100tuple(~igloo@66.115.157.61)
2020-10-29 03:15:24 +0100tuple(~igloo@66.115.157.61) (Client Quit)
2020-10-29 03:16:36 +0100milessabin(sid86799@gateway/web/irccloud.com/x-hmwhfzuctmzszqzh)
2020-10-29 03:24:41 +0100justan0theruser(~justanoth@unaffiliated/justanotheruser)
2020-10-29 03:25:07 +0100xsperry(~as@unaffiliated/xsperry)
2020-10-29 03:26:26 +0100bennofs1(~benno@dslb-178-000-065-150.178.000.pools.vodafone-ip.de) (Quit: WeeChat 2.9)
2020-10-29 03:26:26 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds)
2020-10-29 03:32:28 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 03:36:44 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-29 03:37:11 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 03:37:49 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-29 03:38:10 +0100toorevitimirp(~tooreviti@117.182.180.36)
2020-10-29 03:39:52 +0100vonfry(~user@178.128.212.63) (Remote host closed the connection)
2020-10-29 03:40:11 +0100vonfry(~user@116.236.75.207)
2020-10-29 03:42:02 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2020-10-29 03:43:14 +0100vonfry`(~user@178.128.212.63)
2020-10-29 03:43:44 +0100Jonkimi727406120(~Jonkimi@119.123.241.90)
2020-10-29 03:44:04 +0100djellemah(~djellemah@c-73-12-31-179.hsd1.va.comcast.net) (Ping timeout: 240 seconds)
2020-10-29 03:45:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2020-10-29 03:47:26 +0100vonfry(~user@116.236.75.207) (Ping timeout: 264 seconds)
2020-10-29 03:49:14 +0100vonfry`(~user@178.128.212.63) (Remote host closed the connection)
2020-10-29 03:49:46 +0100vonfry`(~user@116.236.75.207)
2020-10-29 03:50:55 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-29 03:52:38 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 03:52:47 +0100falafel(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-29 03:54:38 +0100vonfry`(~user@116.236.75.207) (Ping timeout: 264 seconds)
2020-10-29 03:55:01 +0100xff0x_(~fox@2001:1a81:528e:cb00:6c8e:24a5:6afd:e566)
2020-10-29 03:55:04 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-10-29 03:57:56 +0100xff0x(~fox@83.236.18.113) (Ping timeout: 260 seconds)
2020-10-29 03:58:30 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-29 04:00:01 +0100tflgen2(~tflgen2@178.162.212.214) ()
2020-10-29 04:02:02 +0100acidjnk_new2(~acidjnk@p200300d0c7226033a9f8e60d1c4e3d2a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-29 04:03:42 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 268 seconds)
2020-10-29 04:05:24 +0100akad_(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 260 seconds)
2020-10-29 04:07:08 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 04:10:02 +0100sveit(~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Quit: Bye)
2020-10-29 04:10:18 +0100sveit(~sveit@45.77.0.246)
2020-10-29 04:12:25 +0100lagothrixGuest49151
2020-10-29 04:12:25 +0100Guest49151(~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
2020-10-29 04:12:32 +0100lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-10-29 04:12:39 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c)
2020-10-29 04:13:07 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 04:14:17 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-29 04:15:37 +0100Chi1thangoo(~Chi1thang@87.112.60.168) (Ping timeout: 246 seconds)
2020-10-29 04:15:51 +0100drbean(~drbean@TC210-63-209-82.static.apol.com.tw)
2020-10-29 04:16:28 +0100hackagepredicate-typed 0.7.4.0 - Predicates, Refinement types and Dsl https://hackage.haskell.org/package/predicate-typed-0.7.4.0 (gbwey)
2020-10-29 04:18:19 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 04:18:30 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2020-10-29 04:19:12 +0100christo(~chris@81.96.113.213)
2020-10-29 04:19:14 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 264 seconds)
2020-10-29 04:19:20 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-10-29 04:19:48 +0100Gurkenglas_Gurkenglas
2020-10-29 04:21:14 +0100mdrjr1(~mdrjr@154.13.1.56)
2020-10-29 04:22:13 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-29 04:22:37 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2020-10-29 04:24:58 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-10-29 04:31:09 +0100howdoi(uid224@gateway/web/irccloud.com/x-npushggnkcvoclse) (Quit: Connection closed for inactivity)
2020-10-29 04:31:24 +0100mimi1vx(~mimi@tulipan.habr.nat.praha12.net) (Ping timeout: 256 seconds)
2020-10-29 04:31:50 +0100falafel(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 264 seconds)
2020-10-29 04:32:56 +0100theDon(~td@muedsl-82-207-238-123.citykom.de) (Ping timeout: 260 seconds)
2020-10-29 04:34:34 +0100theDon(~td@muedsl-82-207-238-079.citykom.de)
2020-10-29 04:34:48 +0100ddellacosta(~dd@86.106.121.168) (Ping timeout: 260 seconds)
2020-10-29 04:37:39 +0100mbomba(~mbomba@142.114.9.241)
2020-10-29 04:38:27 +0100hackageesqueleto 3.4.0.0 - Type-safe EDSL for SQL queries on persistent backends. https://hackage.haskell.org/package/esqueleto-3.4.0.0 (parsonsmatt)
2020-10-29 04:41:07 +0100juliusdeane(~user@130.64.35.16)
2020-10-29 04:41:16 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 04:42:05 +0100 <juliusdeane> what's the process for specifying a dependency from github with cabal2nix?
2020-10-29 04:46:15 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-10-29 04:50:10 +0100hongminh1ehongminhee
2020-10-29 04:52:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 04:52:44 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2020-10-29 04:54:41 +0100nbloomf_(~nbloomf@2600:1700:ad14:3020:e5a9:395e:fb06:bd56) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 04:57:35 +0100mimi1vx(~mimi@2a01:490:16:1026:3ddc:b7b4:53e2:6f04)
2020-10-29 04:58:08 +0100sveit(~sveit@45.77.0.246) (Quit: Bye)
2020-10-29 04:59:41 +0100jcowan(sid325434@gateway/web/irccloud.com/x-evadozowlzlhtjmy) ()
2020-10-29 05:00:31 +0100Rudd0(~Rudd0@185.189.115.98)
2020-10-29 05:02:13 +0100sveit(~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f)
2020-10-29 05:03:18 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-10-29 05:06:13 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds)
2020-10-29 05:06:25 +0100Wuzzy(~Wuzzy@p5790ef06.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-29 05:12:22 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 05:14:37 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Ping timeout: 268 seconds)
2020-10-29 05:15:44 +0100toorevitimirp(~tooreviti@117.182.180.36) (Ping timeout: 240 seconds)
2020-10-29 05:16:02 +0100toorevitimirp(~tooreviti@117.182.180.36)
2020-10-29 05:16:42 +0100vacm(~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 05:17:10 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds)
2020-10-29 05:18:05 +0100drbean(~drbean@TC210-63-209-82.static.apol.com.tw) (Ping timeout: 240 seconds)
2020-10-29 05:21:46 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 05:22:37 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-29 05:26:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-29 05:26:37 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2020-10-29 05:28:06 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 05:28:23 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 05:29:14 +0100jakob_(~textual@p57b0eae0.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
2020-10-29 05:30:40 +0100christo(~chris@81.96.113.213)
2020-10-29 05:32:16 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2020-10-29 05:37:51 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net)
2020-10-29 05:38:29 +0100jakob_(~textual@p200300f49f1622005170e88643324e4f.dip0.t-ipconnect.de)
2020-10-29 05:39:05 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2020-10-29 05:41:50 +0100dolio(~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in)
2020-10-29 05:41:59 +0100Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-29 05:44:00 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2020-10-29 05:46:03 +0100dolio(~dolio@haskell/developer/dolio)
2020-10-29 05:49:57 +0100dolio(~dolio@haskell/developer/dolio) (Read error: Connection reset by peer)
2020-10-29 05:50:45 +0100dolio(~dolio@haskell/developer/dolio)
2020-10-29 05:51:14 +0100mbomba(~mbomba@142.114.9.241) (Quit: WeeChat 2.9)
2020-10-29 05:53:38 +0100Sanchayan(~Sanchayan@122.167.95.166)
2020-10-29 05:53:45 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-29 05:54:56 +0100dolio(~dolio@haskell/developer/dolio) (Read error: Connection reset by peer)
2020-10-29 05:55:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 05:55:58 +0100dolio(~dolio@haskell/developer/dolio)
2020-10-29 06:00:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-29 06:03:13 +0100_vaibhavingale_(~Adium@203.188.228.9)
2020-10-29 06:03:45 +0100juliusdeane(~user@130.64.35.16) (Ping timeout: 240 seconds)
2020-10-29 06:05:39 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:e5a9:395e:fb06:bd56)
2020-10-29 06:06:26 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 06:07:31 +0100xerox_(~xerox@unaffiliated/xerox)
2020-10-29 06:07:52 +0100day_(~Unknown@unaffiliated/day)
2020-10-29 06:08:34 +0100cheater1(~user@unaffiliated/cheater)
2020-10-29 06:10:26 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 258 seconds)
2020-10-29 06:10:29 +0100cheater1cheater
2020-10-29 06:11:25 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2020-10-29 06:11:37 +0100day(~Unknown@unaffiliated/day) (Ping timeout: 264 seconds)
2020-10-29 06:11:37 +0100day_day
2020-10-29 06:12:06 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-10-29 06:13:13 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-29 06:15:12 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-29 06:19:49 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
2020-10-29 06:28:44 +0100tdhttt(~tdhttt@2600:8802:2203:2500:49a:4401:3967:ca62) (Ping timeout: 240 seconds)
2020-10-29 06:31:03 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-29 06:32:09 +0100tdhttt(~tdhttt@89.45.90.31)
2020-10-29 06:33:57 +0100hackagehurl 1.4.2.1 - Haskell URL resolver https://hackage.haskell.org/package/hurl-1.4.2.1 (alcinnz)
2020-10-29 06:34:21 +0100darjeeling_(~darjeelin@112.16.171.8)
2020-10-29 06:35:24 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
2020-10-29 06:35:39 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 06:36:34 +0100jakob_(~textual@p200300f49f1622005170e88643324e4f.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
2020-10-29 06:37:09 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 06:38:13 +0100dustypacer(~pi@2600:6c50:80:2f4a:e9d0:6569:1cea:d1d4)
2020-10-29 06:38:43 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:e5a9:395e:fb06:bd56) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 06:39:57 +0100christo(~chris@81.96.113.213)
2020-10-29 06:40:43 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-29 06:50:19 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
2020-10-29 06:50:49 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Ping timeout: 268 seconds)
2020-10-29 06:52:42 +0100bartemius(~bartemius@109.252.20.20)
2020-10-29 06:56:32 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-29 07:00:01 +0100mdrjr1(~mdrjr@154.13.1.56) ()
2020-10-29 07:00:31 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 07:02:31 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-10-29 07:04:30 +0100dustypacer(~pi@2600:6c50:80:2f4a:e9d0:6569:1cea:d1d4) (Quit: Leaving)
2020-10-29 07:04:56 +0100dustypacer(~pi@2600:6c50:80:2f4a:e9d0:6569:1cea:d1d4)
2020-10-29 07:05:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2020-10-29 07:11:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2020-10-29 07:13:05 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-10-29 07:16:43 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-29 07:18:17 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 07:18:26 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-10-29 07:21:38 +0100xff0x_(~fox@2001:1a81:528e:cb00:6c8e:24a5:6afd:e566) (Ping timeout: 264 seconds)
2020-10-29 07:21:58 +0100DpEpsilon1(~DpEpsilon@s91904426.blix.com)
2020-10-29 07:22:10 +0100xff0x_(~fox@port-92-193-232-58.dynamic.as20676.net)
2020-10-29 07:22:28 +0100hackagepersistent-vector 0.2.0 - A persistent sequence based on array mapped tries https://hackage.haskell.org/package/persistent-vector-0.2.0 (TristanRavitch)
2020-10-29 07:23:35 +0100wagle(~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2020-10-29 07:24:05 +0100wagle(~wagle@quassel.wagle.io)
2020-10-29 07:25:03 +0100damianfral(~damianfra@166.red-2-142-239.dynamicip.rima-tde.net)
2020-10-29 07:26:44 +0100damianfral4(~damianfra@173.red-37-12-232.dynamicip.rima-tde.net) (Ping timeout: 240 seconds)
2020-10-29 07:28:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-29 07:30:13 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-29 07:31:11 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-29 07:32:37 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
2020-10-29 07:33:33 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-29 07:33:52 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-29 07:37:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 07:38:26 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 264 seconds)
2020-10-29 07:39:18 +0100 <eedgit> Writing a test for a rotation function, I'm using an auxiliary function (which I think is the best way to keep as much 'pure' ?). Should I be testing for both functions - or is only 1 needed? https://dpaste.org/4NYa
2020-10-29 07:40:05 +0100toorevitimirp(~tooreviti@117.182.180.36) (Ping timeout: 260 seconds)
2020-10-29 07:40:41 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 07:42:18 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 07:42:37 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 268 seconds)
2020-10-29 07:42:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-10-29 07:43:35 +0100 <dsal> The concept of a property is something that's meant to be true about your function. Neither `streamPop` nor `prop_stream` communicate a whole lot about what they're meant to do. If `rot` is what you're trying to write, then what interesting properties does it have?
2020-10-29 07:45:26 +0100christo(~chris@81.96.113.213)
2020-10-29 07:46:25 +0100barrucadu(~barrucadu@fsf/member/barrucadu) (Remote host closed the connection)
2020-10-29 07:50:10 +0100alx741(~alx741@186.178.110.246) (Ping timeout: 246 seconds)
2020-10-29 07:50:13 +0100Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-29 07:50:44 +0100alx741(~alx741@186.178.110.246)
2020-10-29 07:53:25 +0100dustypacer(~pi@2600:6c50:80:2f4a:e9d0:6569:1cea:d1d4) (Quit: Leaving)
2020-10-29 07:53:26 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be)
2020-10-29 07:54:06 +0100dustypacer(~pi@2600:6c50:80:2f4a:e9d0:6569:1cea:d1d4)
2020-10-29 07:55:17 +0100 <eedgit> dsal Thanks I'll have a think - is there a more appropriate name? streamPop made sense to me as take->drop->cycle felt like 'popping' the values out using a sliding-window over a 'stream' (the infinite/circular list)
2020-10-29 07:55:40 +0100 <dsal> e.g., if you replace the implementation of `streamPop` with `flip const` your property holds. However, if you test `rot` there may be interesting properties such as `rot == transpose . rot`
2020-10-29 07:56:12 +0100 <dsal> It's just a list of the rotations. You could call it `rotations` or something. Naming is hard.
2020-10-29 07:57:12 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 07:57:30 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 07:57:58 +0100 <dsal> > iterate (\(x:xs) -> xs <> [x]) "abc"
2020-10-29 07:58:00 +0100 <lambdabot> ["abc","bca","cab","abc","bca","cab","abc","bca","cab","abc","bca","cab","ab...
2020-10-29 07:58:00 +0100 <eedgit> cool thanks :)
2020-10-29 07:58:02 +0100damianfral(~damianfra@166.red-2-142-239.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
2020-10-29 07:59:43 +0100mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-10-29 08:00:55 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
2020-10-29 08:01:45 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2020-10-29 08:04:30 +0100[rg](63f22acf@cpe589630b81951-cm589630b8194f.cpe.net.cable.rogers.com)
2020-10-29 08:05:24 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Ping timeout: 240 seconds)
2020-10-29 08:06:28 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds)
2020-10-29 08:08:25 +0100[rg](63f22acf@cpe589630b81951-cm589630b8194f.cpe.net.cable.rogers.com) (Remote host closed the connection)
2020-10-29 08:09:45 +0100justan0theruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 268 seconds)
2020-10-29 08:13:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 08:16:53 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net)
2020-10-29 08:18:51 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net) (Client Quit)
2020-10-29 08:19:28 +0100toorevitimirp(~tooreviti@117.182.180.36)
2020-10-29 08:27:47 +0100dhouthoo(~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be)
2020-10-29 08:28:16 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 08:29:59 +0100proquint(67e75ebe@103.231.94.190)
2020-10-29 08:30:12 +0100alp_(~alp@2a01:e0a:58b:4920:48bc:fb07:c437:122b)
2020-10-29 08:30:13 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 08:31:46 +0100 <proquint> How do I break a bytestring into 4-bit and 2-bit integers? I'm trying to print the proquint of a 48-bit number (https://arxiv.org/html/0901.4016)
2020-10-29 08:33:02 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2020-10-29 08:34:54 +0100 <proquint> I want to break a 16-bit word into 4-bit, 2-bit, 4-bit, 2-bit, 4-bit numbers and map those numbers to letters.
2020-10-29 08:34:54 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-10-29 08:35:02 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 268 seconds)
2020-10-29 08:36:05 +0100hiroaki(~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2020-10-29 08:39:14 +0100 <int-e> > let rotations xs = cycle . map (zipWith (flip const) xs) . zipWith (flip const) xs . tails . cycle $ xs in rotations "abc" -- hmm, maybe a bit over-engineered
2020-10-29 08:39:16 +0100 <lambdabot> ["abc","bca","cab","abc","bca","cab","abc","bca","cab","abc","bca","cab","ab...
2020-10-29 08:40:06 +0100uwap(~uwap@genja.uwap.name) (Quit: ZNC 1.8.0 - https://znc.in)
2020-10-29 08:42:02 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-10-29 08:42:40 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 08:44:15 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-29 08:45:06 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-10-29 08:47:04 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-29 08:47:22 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2020-10-29 08:47:43 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 08:52:17 +0100otulp(~otulp@ti0187q162-5696.bb.online.no) (Ping timeout: 260 seconds)
2020-10-29 08:53:25 +0100sakirious(~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
2020-10-29 08:53:44 +0100tput(~user@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 240 seconds)
2020-10-29 08:54:09 +0100uwap(~uwap@genja.uwap.name)
2020-10-29 08:55:59 +0100vicfred_(~vicfred@unaffiliated/vicfred)
2020-10-29 08:57:43 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-10-29 08:58:31 +0100xsperry(~as@unaffiliated/xsperry) (Remote host closed the connection)
2020-10-29 08:58:37 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 08:58:37 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 08:58:37 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 08:59:05 +0100vicfred(~vicfred@unaffiliated/vicfred) (Ping timeout: 268 seconds)
2020-10-29 08:59:31 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2020-10-29 08:59:44 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-29 09:00:21 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-10-29 09:02:18 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 09:02:18 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 09:02:18 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 09:03:04 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-29 09:03:47 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-29 09:04:54 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c)
2020-10-29 09:06:27 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-29 09:06:46 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-29 09:08:45 +0100jespada(~jespada@90.254.243.98) (Ping timeout: 260 seconds)
2020-10-29 09:10:56 +0100jespada(~jespada@90.254.243.98)
2020-10-29 09:12:29 +0100sakirious(~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
2020-10-29 09:14:20 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 256 seconds)
2020-10-29 09:14:45 +0100ndbopoi^(~hph@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:14:46 +0100ndbopoi^(~hph@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:14:59 +0100Lord_of_Life(~Lord@46.217.220.26) (Changing host)
2020-10-29 09:14:59 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-10-29 09:15:01 +0100ndbopoi^(nehsou@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:15:02 +0100ndbopoi^(nehsou@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:15:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 09:15:16 +0100ndbopoi^(aeoifvotdt@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:15:17 +0100ndbopoi^(aeoifvotdt@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:15:32 +0100ndbopoi^(nehsou@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:15:33 +0100ndbopoi^(nehsou@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:15:44 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 268 seconds)
2020-10-29 09:15:48 +0100ndbopoi^(aeoifvotdt@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:15:49 +0100ndbopoi^(aeoifvotdt@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:16:03 +0100ndbopoi^(nehsou@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:16:04 +0100ndbopoi^(nehsou@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:16:19 +0100ndbopoi^(krt@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:16:20 +0100ndbopoi^(krt@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:16:35 +0100ndbopoi^(~hph@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:16:36 +0100ndbopoi^(~hph@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:16:45 +0100sakirious(~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
2020-10-29 09:16:50 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:16:51 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:17:06 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:17:07 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:17:22 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:17:23 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:17:37 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:17:38 +0100ndbopoi^(ndbopoi@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:17:55 +0100ndbopoi^(krt@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:17:56 +0100ndbopoi^(krt@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:18:11 +0100ndbopoi^(~hph@ip98-184-89-2.mc.at.cox.net)
2020-10-29 09:18:12 +0100ndbopoi^(~hph@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
2020-10-29 09:18:20 +0100thc202(~thc202@unaffiliated/thc202)
2020-10-29 09:18:21 +0100sakirious(~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
2020-10-29 09:27:58 +0100hackagengx-export-tools-extra 0.5.7.0 - More extra tools for Nginx haskell module https://hackage.haskell.org/package/ngx-export-tools-extra-0.5.7.0 (lyokha)
2020-10-29 09:28:32 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-10-29 09:29:02 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-29 09:29:40 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 09:31:26 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-29 09:32:26 +0100idhugo(~idhugo@users-1190.st.net.au.dk)
2020-10-29 09:33:44 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 09:33:57 +0100chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
2020-10-29 09:34:03 +0100mrc(~mrc@81.30.75.204)
2020-10-29 09:34:16 +0100mrcGuest84165
2020-10-29 09:36:20 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a)
2020-10-29 09:36:43 +0100nlhowell(~nlhowell@don28-11.ln.rinet.ru) (Ping timeout: 265 seconds)
2020-10-29 09:36:43 +0100dyeplexer(~lol@unaffiliated/terpin)
2020-10-29 09:39:15 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-29 09:39:37 +0100taurux(~taurux@net-188-216-115-134.cust.vodafonedsl.it) (Ping timeout: 265 seconds)
2020-10-29 09:39:52 +0100taurux(~taurux@net-130-25-114-244.cust.vodafonedsl.it)
2020-10-29 09:41:20 +0100Tario(~Tario@201.192.165.173) (Remote host closed the connection)
2020-10-29 09:42:07 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-10-29 09:42:48 +0100dorkside(~tdbgamer@208.190.197.222) (Ping timeout: 258 seconds)
2020-10-29 09:43:06 +0100 <dminuoso> 09:41:53 juliusdeane | [03:42:05] what's the process for specifying a dependency from github with cabal2nix?
2020-10-29 09:43:10 +0100 <dminuoso> Oh, they're gone
2020-10-29 09:46:25 +0100 <dminuoso> proquint: Use Data.ByteString.unpack and then masking/shifting from Data.Bits
2020-10-29 09:46:32 +0100 <tomsmeding> proquint: https://paste.tomsmeding.com/W9HxzL4y
2020-10-29 09:46:37 +0100 <tomsmeding> lol
2020-10-29 09:47:17 +0100vonfry(~user@116.236.75.207)
2020-10-29 09:47:26 +0100 <dminuoso> tomsmeding: I have a homework assignment, I need to write a fully functional RADIUS library. Do you have a paste ready for me?
2020-10-29 09:47:30 +0100 <dminuoso> :>
2020-10-29 09:47:37 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-10-29 09:47:39 +0100 <tomsmeding> :p
2020-10-29 09:47:52 +0100 <proquint> tomsmending: lol awesome thank you... I stumbled upon the Data.Bits myself but you beat me to the implementation. Thanks!
2020-10-29 09:48:04 +0100tomsmedingtips hat
2020-10-29 09:48:27 +0100 <tomsmeding> spec is unclear though
2020-10-29 09:48:48 +0100 <dminuoso> tomsmeding: Do you think you can give me an answer in 5 minutes for that problem as well?
2020-10-29 09:48:54 +0100 <tomsmeding> not prominent enough that this is strictly about data of an even number of bytes, and the 4-2 sequence does not cycle, only within a single nibble
2020-10-29 09:48:58 +0100 <tomsmeding> correction, word
2020-10-29 09:49:10 +0100 <tomsmeding> replace 'nibble' with 'word' in my code proquint
2020-10-29 09:49:12 +0100 <dminuoso> The term "nibble" and "word" are so ill defined.
2020-10-29 09:49:19 +0100 <tomsmeding> nibblewibble
2020-10-29 09:49:22 +0100 <tomsmeding> dminuoso: no
2020-10-29 09:49:38 +0100 <dminuoso> oh well. nibble is well defined
2020-10-29 09:49:40 +0100 <dminuoso> word is not
2020-10-29 09:49:47 +0100 <tomsmeding> ah that's true
2020-10-29 09:49:54 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-dqhgzgfgsjzhioqy) (Quit: Connection closed for inactivity)
2020-10-29 09:49:58 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 09:50:18 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 09:50:20 +0100 <tomsmeding> dminuoso: it would be nice if I could pull the same trick with writing an automatic differentiation engine, wouldn't it?
2020-10-29 09:50:26 +0100 <tomsmeding> then my thesis would be simpler
2020-10-29 09:50:33 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 09:50:36 +0100 <merijn> dminuoso: It's not :p
2020-10-29 09:50:38 +0100 <dminuoso> Heh, the difference is my task is just of mechanical nature.
2020-10-29 09:50:46 +0100 <dminuoso> merijn: It really is.
2020-10-29 09:50:49 +0100 <merijn> dminuoso: Hell, byte isn't even well defined if you mix in C
2020-10-29 09:50:59 +0100 <dminuoso> The term byte in general is often misunderstood
2020-10-29 09:51:04 +0100 <dminuoso> Too many conflate it with octet
2020-10-29 09:51:17 +0100 <dminuoso> But so many people dont work with DSPs or legacy hardware..
2020-10-29 09:51:53 +0100 <dminuoso> Fun fact, I've seen an architecture where function pointers were 15 bits.
2020-10-29 09:51:56 +0100 <tomsmeding> I already have trouble working with modern hardware
2020-10-29 09:52:10 +0100GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-29 09:52:29 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 09:52:29 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 09:52:29 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 09:52:55 +0100 <tomsmeding> dminuoso: interesting, did one store function pointers in separate kinds of registers, or are all registers 15 bits, or are they 16 and one bit is just ignored?
2020-10-29 09:53:10 +0100 <dminuoso> merijn: Anyway. Regarding word, there's two conflating notions. It either is the native size CPUs operate on (which doesnt even make sense on CPUs built in the past 30 years, they have many different word widths, depending on the instructions), or its 16 bits if you enter the world of assembers.
2020-10-29 09:54:45 +0100 <dminuoso> Because historical reasons, and people writing bad assembly code.
2020-10-29 09:55:09 +0100christo(~chris@81.96.113.213)
2020-10-29 09:55:49 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 268 seconds)
2020-10-29 09:56:39 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c)
2020-10-29 09:56:54 +0100proquint(67e75ebe@103.231.94.190) (Remote host closed the connection)
2020-10-29 09:57:09 +0100 <dminuoso> tomsmeding: I dont know the reasons really, it was directly from some something-not-quite-like-C language specification for a texas instruments DSP.
2020-10-29 09:57:24 +0100phr0m3indh0v3n(~Android@188.90.94.167)
2020-10-29 09:57:46 +0100 <dminuoso> (Or maybe it was 31 bits, one of them anyhow)
2020-10-29 09:58:05 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-29 09:58:15 +0100 <tomsmeding> funny things
2020-10-29 09:59:01 +0100mmohammadi9812(~mmohammad@2.178.160.31) (Ping timeout: 264 seconds)
2020-10-29 09:59:19 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-10-29 09:59:52 +0100christo(~chris@81.96.113.213) (Ping timeout: 272 seconds)
2020-10-29 10:00:01 +0100kuribas(~user@ptr-25vy0i9qqlftcl4jjst.18120a2.ip6.access.telenet.be)
2020-10-29 10:00:01 +0100DpEpsilon1(~DpEpsilon@s91904426.blix.com) ()
2020-10-29 10:00:05 +0100CaptainFox[m](onianimatr@gateway/shell/matrix.org/x-szolbyecjnlczmzs) (Quit: Idle for 30+ days)
2020-10-29 10:01:06 +0100mmohammadi9812(~mmohammad@5.116.92.37)
2020-10-29 10:01:41 +0100vonfry(~user@116.236.75.207) ("ERC (IRC client for Emacs 27.1)")
2020-10-29 10:01:59 +0100darjeeling_(~darjeelin@112.16.171.8) (Ping timeout: 268 seconds)
2020-10-29 10:04:19 +0100mozzarella(~sam@unaffiliated/sam113101) (Read error: Connection reset by peer)
2020-10-29 10:05:04 +0100gnumonic_(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
2020-10-29 10:05:42 +0100mozzarella(~sam@unaffiliated/sam113101)
2020-10-29 10:06:08 +0100phr0m3indh0v3n(~Android@188.90.94.167) (Quit: -a- IRC for Android 2.1.59)
2020-10-29 10:07:39 +0100gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
2020-10-29 10:08:58 +0100Franciman(~francesco@host-82-54-10-114.retail.telecomitalia.it)
2020-10-29 10:11:19 +0100mimi_vx(~mimi@tulipan.habr.nat.praha12.net)
2020-10-29 10:11:54 +0100michalrus(m@michalrus.com) (Ping timeout: 272 seconds)
2020-10-29 10:12:23 +0100votefortrump(3dded63f@61-222-214-63.HINET-IP.hinet.net)
2020-10-29 10:14:26 +0100mimi1vx(~mimi@2a01:490:16:1026:3ddc:b7b4:53e2:6f04) (Ping timeout: 264 seconds)
2020-10-29 10:15:14 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-29 10:17:21 +0100GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-29 10:17:33 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 10:17:34 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 10:17:34 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 10:19:34 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-10-29 10:19:44 +0100idhugo(~idhugo@users-1190.st.net.au.dk) (Remote host closed the connection)
2020-10-29 10:19:58 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-10-29 10:20:16 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-hdjxwzczxilznuyg)
2020-10-29 10:20:42 +0100taurux(~taurux@net-130-25-114-244.cust.vodafonedsl.it) (Ping timeout: 265 seconds)
2020-10-29 10:20:44 +0100benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 240 seconds)
2020-10-29 10:21:12 +0100idhugo(~idhugo@users-1190.st.net.au.dk)
2020-10-29 10:21:28 +0100wright(~wright@154.13.1.56)
2020-10-29 10:22:32 +0100taurux(~taurux@net-93-151-195-63.cust.vodafonedsl.it)
2020-10-29 10:27:11 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 10:28:06 +0100michalrus(m@michalrus.com)
2020-10-29 10:28:34 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 10:29:10 +0100votefortrump(3dded63f@61-222-214-63.HINET-IP.hinet.net) (Remote host closed the connection)
2020-10-29 10:29:51 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 10:29:58 +0100hackageuusi 0.0.1.0 - Remove all version constraints of dependencies in .cabal file https://hackage.haskell.org/package/uusi-0.0.1.0 (berberman)
2020-10-29 10:32:01 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-29 10:33:26 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2020-10-29 10:33:41 +0100knupfer(~Thunderbi@200116b82cb50a00a447ccfffef86d6b.dip.versatel-1u1.de)
2020-10-29 10:34:50 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-10-29 10:36:05 +0100knupfer(~Thunderbi@200116b82cb50a00a447ccfffef86d6b.dip.versatel-1u1.de) (Remote host closed the connection)
2020-10-29 10:36:19 +0100knupfer(~Thunderbi@200116b82cb50a006c81a39a2011bb8b.dip.versatel-1u1.de)
2020-10-29 10:37:32 +0100benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60)
2020-10-29 10:41:25 +0100avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 10:43:59 +0100 <merijn> that... doesn't sound like a good feature
2020-10-29 10:52:44 +0100bliminse(~bliminse@host109-158-129-241.range109-158.btcentralplus.com) (Ping timeout: 240 seconds)
2020-10-29 10:53:52 +0100bliminse(~bliminse@host109-158-129-241.range109-158.btcentralplus.com)
2020-10-29 11:00:46 +0100 <Uniaika> yep'
2020-10-29 11:04:14 +0100carlomagno1(~cararell@148.87.23.8) (Remote host closed the connection)
2020-10-29 11:05:48 +0100carlomagno(~cararell@148.87.23.8)
2020-10-29 11:07:39 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-29 11:07:44 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 11:07:44 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 11:07:44 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 11:08:04 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds)
2020-10-29 11:10:25 +0100aarvar(~foewfoiew@50.35.43.33) (Ping timeout: 264 seconds)
2020-10-29 11:13:25 +0100darjeeling_(~darjeelin@122.245.121.118)
2020-10-29 11:13:27 +0100thblt(~thblt@unaffiliated/thblt)
2020-10-29 11:15:12 +0100 <thblt> Can I search for typeclasses on Hoogle? Eg, I was wondering if there's a class such as `toBool :: a -> Bool`, but idk how to look.
2020-10-29 11:15:34 +0100 <thblt> (Hoogle or anything)
2020-10-29 11:15:40 +0100fmeyer(~fmeyer@p4fc127b6.dip0.t-ipconnect.de) (Quit: Leaving)
2020-10-29 11:15:52 +0100christo(~chris@81.96.113.213)
2020-10-29 11:16:14 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
2020-10-29 11:17:41 +0100 <merijn> You can, but that class doesn't exist
2020-10-29 11:17:53 +0100 <merijn> At least, not in a library that anyone actually uses
2020-10-29 11:19:12 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2020-10-29 11:19:25 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-29 11:19:43 +0100livvy(~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds)
2020-10-29 11:19:50 +0100mmohammadi9812(~mmohammad@5.116.92.37) (Ping timeout: 264 seconds)
2020-10-29 11:20:27 +0100mmohammadi9812(~mmohammad@2.178.160.31)
2020-10-29 11:20:32 +0100 <thblt> merijn: thanks :) Is there a query syntax for that? I tried String -> a, and there's a lot of *coerce stuff before `Show a => show…`
2020-10-29 11:20:36 +0100dhil(~dhil@195.213.192.122)
2020-10-29 11:23:01 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-29 11:23:30 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
2020-10-29 11:23:42 +0100livvy(~livvy@gateway/tor-sasl/livvy)
2020-10-29 11:26:33 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-29 11:26:44 +0100rprije(~rprije@194-193-168-77.tpgi.com.au) (Ping timeout: 240 seconds)
2020-10-29 11:26:54 +0100ghoulguy(x@freenode/staff/haskell.developer.glguy) (Read error: Connection reset by peer)
2020-10-29 11:28:53 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-29 11:30:58 +0100hackageunliftio 0.2.13.1 - The MonadUnliftIO typeclass for unlifting monads to IO (batteries included) https://hackage.haskell.org/package/unliftio-0.2.13.1 (MichaelSnoyman)
2020-10-29 11:31:03 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 11:31:17 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-29 11:31:17 +0100nlhowell(~nlhowell@don28-11.ln.rinet.ru)
2020-10-29 11:31:25 +0100glguy(x@freenode/staff/haskell.developer.glguy)
2020-10-29 11:32:48 +0100is_null(~jpic@pdpc/supporter/professional/is-null) (Remote host closed the connection)
2020-10-29 11:33:07 +0100mmohammadi9812(~mmohammad@2.178.160.31) (Ping timeout: 246 seconds)
2020-10-29 11:33:28 +0100mmohammadi9812(~mmohammad@2.178.123.90)
2020-10-29 11:34:36 +0100Zaphod(51ae801c@mekats.plus.com)
2020-10-29 11:35:00 +0100ZaphodGuest43909
2020-10-29 11:35:27 +0100ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2020-10-29 11:36:02 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-29 11:36:32 +0100Guest43909ZaphodB
2020-10-29 11:40:16 +0100dorkside(~tdbgamer@208.190.197.222)
2020-10-29 11:40:35 +0100Sanchayan(~Sanchayan@122.167.95.166) (Quit: leaving)
2020-10-29 11:47:24 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-29 11:47:33 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-29 11:48:07 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 11:48:40 +0100ZaphodBZaphodBrox
2020-10-29 11:49:38 +0100 <thblt> Quick question: To represent a keyboard layout, I use a Map of Map of Map (Map State (Map Key (Map Level Effect))) Is there a built-in way to fold this sort of monster, or a better way to do this?
2020-10-29 11:52:20 +0100 <dminuoso> thblt: lens/optics lets you fold this rather easily
2020-10-29 11:53:37 +0100 <thblt> dminuoso: thanks, looking into this
2020-10-29 11:56:48 +0100 <dminuoso> % let m :: IM.IntMap (IM.IntMap (IM.IntMap String)); m = [(1, [(11, [(111, "foo"), (112, "bar")])])]
2020-10-29 11:56:48 +0100 <yahb> dminuoso: ; <interactive>:242:52: warning: [-Wname-shadowing] This binding for `m' shadows the existing binding defined at <interactive>:240:52
2020-10-29 11:56:53 +0100 <dminuoso> m ^.. folded.folded.folded
2020-10-29 11:56:57 +0100 <dminuoso> % m ^.. folded.folded.folded
2020-10-29 11:56:58 +0100 <yahb> dminuoso: ["foo","bar"]
2020-10-29 11:58:28 +0100hackagewai-saml2 0.2.1.2 - SAML2 assertion validation as WAI middleware https://hackage.haskell.org/package/wai-saml2-0.2.1.2 (mbg)
2020-10-29 12:00:15 +0100Tario(~Tario@201.192.165.173)
2020-10-29 12:00:29 +0100 <dminuoso> % let m3 :: IM.IntMap (IM.IntMap (IM.IntMap Int)); m3 = [(1, [(11, [(111, 10), (112, 20)]), (12,[(121, 30), (122, 40)])])]
2020-10-29 12:00:29 +0100 <yahb> dminuoso:
2020-10-29 12:00:38 +0100 <dminuoso> % foldMapOf (folded.folded.folded) Product m3
2020-10-29 12:00:38 +0100 <yahb> dminuoso: Product {getProduct = 240000}
2020-10-29 12:01:58 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 12:02:38 +0100christo(~chris@81.96.113.213)
2020-10-29 12:02:51 +0100carlomagno(~cararell@148.87.23.8) (Ping timeout: 268 seconds)
2020-10-29 12:03:15 +0100acidjnk_new2(~acidjnk@p200300d0c7226033a9f8e60d1c4e3d2a.dip0.t-ipconnect.de)
2020-10-29 12:04:37 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 12:04:52 +0100christo(~chris@81.96.113.213)
2020-10-29 12:06:04 +0100alp_(~alp@2a01:e0a:58b:4920:48bc:fb07:c437:122b) (Ping timeout: 240 seconds)
2020-10-29 12:06:47 +0100 <thblt> I just need to understand how to bifold :)
2020-10-29 12:07:29 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Quit: ZNC 1.8.1 - https://znc.in)
2020-10-29 12:07:31 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 12:08:24 +0100 <dminuoso> thblt: with lens you can just fuse different folds with summing
2020-10-29 12:08:35 +0100 <thblt> wow
2020-10-29 12:08:38 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 12:08:58 +0100christo(~chris@81.96.113.213)
2020-10-29 12:10:23 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
2020-10-29 12:11:44 +0100alx741(~alx741@186.178.110.246) (Ping timeout: 240 seconds)
2020-10-29 12:11:47 +0100carlomagno(~cararell@148.87.23.8)
2020-10-29 12:12:38 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-10-29 12:12:38 +0100idhugo(~idhugo@users-1190.st.net.au.dk) (Ping timeout: 264 seconds)
2020-10-29 12:13:14 +0100 <dminuoso> thblt: Oh heh in case of lens it's just (<>) in fact
2020-10-29 12:14:08 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 272 seconds)
2020-10-29 12:15:07 +0100 <thblt> I don't have this in Data.Lens?
2020-10-29 12:15:58 +0100 <dminuoso> % ([1,2,3], [4,5,6]) ^.. (_1.folded <> _2.folded) :: [Int] -- thblt
2020-10-29 12:15:58 +0100 <yahb> dminuoso: [1,2,3,4,5,6]
2020-10-29 12:16:31 +0100 <Uniaika> thblt: it's the traditional semigroup binary operator
2020-10-29 12:16:33 +0100Arahaelamateurarahael
2020-10-29 12:17:37 +0100 <thblt> That's what I got from ghci indeed.
2020-10-29 12:18:05 +0100 <dminuoso> thblt: note this might not be the same as bifold though
2020-10-29 12:18:29 +0100ft(~ft@shell.chaostreff-dortmund.de) (Ping timeout: 256 seconds)
2020-10-29 12:18:42 +0100 <dminuoso> (because the order is completely different)
2020-10-29 12:19:08 +0100amateurarahaelarahaelHour
2020-10-29 12:19:11 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 12:19:58 +0100 <dminuoso> or it might be, so it could require some careful thought
2020-10-29 12:20:05 +0100 <dminuoso> (you might have to shift the (<>) in a bit)
2020-10-29 12:20:06 +0100 <dminuoso> say
2020-10-29 12:21:44 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 272 seconds)
2020-10-29 12:22:38 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
2020-10-29 12:22:38 +0100 <dminuoso> % [(1,2), (3,4)] ^.. (folded._1 <> folded._2) :: [Integer]
2020-10-29 12:22:40 +0100 <dminuoso> % [(1,2), (3,4)] ^.. (folded._1 <> folded._2) :: [Integer]
2020-10-29 12:22:40 +0100 <yahb> dminuoso: [1,3,2,4]
2020-10-29 12:22:46 +0100 <dminuoso> % [(1,2), (3,4)] ^.. folded.(_1 <> _2) :: [Integer]
2020-10-29 12:22:46 +0100 <yahb> dminuoso: [1,2,3,4]
2020-10-29 12:22:58 +0100ft(~ft@shell.chaostreff-dortmund.de)
2020-10-29 12:23:12 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a) (Ping timeout: 268 seconds)
2020-10-29 12:23:38 +0100kish(~oracle@unaffiliated/oracle) (Quit: Leaving)
2020-10-29 12:24:59 +0100alx741(~alx741@181.196.68.193)
2020-10-29 12:28:01 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 12:28:56 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 12:30:09 +0100kish(~oracle@unaffiliated/oracle)
2020-10-29 12:31:56 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-10-29 12:32:24 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 12:33:10 +0100machinedgod(~machinedg@142.169.78.88)
2020-10-29 12:33:33 +0100fendor(~fendor@078132040188.public.t-mobile.at)
2020-10-29 12:33:38 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2020-10-29 12:34:08 +0100 <dminuoso> % [(1,2)] ^.. folded._1 :: [Int]
2020-10-29 12:34:08 +0100 <yahb> dminuoso: ; <interactive>:284:20: error:; * Couldn't match type `Int' with `Integer'; arising from a functional dependency between:; constraint `Field1 (Integer, Integer) (Integer, Integer) Int Int' arising from a use of `_1'; instance Field1 (a, b) (a', b) a a' at <no location info>; * In the second argument of `(.)', namely `_1'; In the second argument of `(^..)', namely
2020-10-29 12:34:10 +0100 <dminuoso> What's going on here?
2020-10-29 12:35:02 +0100vicfred_(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-10-29 12:35:15 +0100 <dminuoso> If I give `1` a type ascription, it typechecks.
2020-10-29 12:36:52 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-29 12:37:20 +0100xsperry(~as@unaffiliated/xsperry)
2020-10-29 12:37:44 +0100Jonkimi727406120(~Jonkimi@119.123.241.90) (Ping timeout: 240 seconds)
2020-10-29 12:38:04 +0100thir(~thir@pd9e1bd8a.dip0.t-ipconnect.de)
2020-10-29 12:39:05 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
2020-10-29 12:40:07 +0100raichoo(~raichoo@213.240.178.58)
2020-10-29 12:40:14 +0100fendor(~fendor@078132040188.public.t-mobile.at) (Ping timeout: 264 seconds)
2020-10-29 12:40:30 +0100christo(~chris@81.96.113.213)
2020-10-29 12:41:38 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-10-29 12:42:25 +0100thir(~thir@pd9e1bd8a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-29 12:44:57 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-10-29 12:45:23 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-10-29 12:46:52 +0100wallacer3(~quassel@ns3134113.ip-37-187-4.eu)
2020-10-29 12:48:02 +0100akad_(~akad@109107030050.radomsko.vectranet.pl)
2020-10-29 12:48:45 +0100jespada(~jespada@90.254.243.98) (Ping timeout: 240 seconds)
2020-10-29 12:51:23 +0100jespada(~jespada@90.254.243.98)
2020-10-29 12:53:23 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-10-29 12:53:27 +0100hackagemmsyn2 0.3.0.0 - The library that can be used for multiple (Ord a) => a -> b transformations https://hackage.haskell.org/package/mmsyn2-0.3.0.0 (OleksandrZhabenko)
2020-10-29 12:53:49 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
2020-10-29 12:54:31 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-29 12:54:33 +0100Chi1thangoo(~Chi1thang@87.112.60.168)
2020-10-29 12:55:59 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-29 12:57:02 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds)
2020-10-29 12:58:58 +0100acidjnk_new2(~acidjnk@p200300d0c7226033a9f8e60d1c4e3d2a.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-10-29 12:59:05 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a)
2020-10-29 13:00:01 +0100wright(~wright@154.13.1.56) ()
2020-10-29 13:02:40 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 268 seconds)
2020-10-29 13:03:08 +0100urodna(~urodna@unaffiliated/urodna)
2020-10-29 13:03:24 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a) (Ping timeout: 240 seconds)
2020-10-29 13:05:44 +0100invaser(~Thunderbi@31.148.23.125)
2020-10-29 13:08:57 +0100hackagemmsyn4 0.5.0.0 - The "glue" between electronic tables and GraphViz https://hackage.haskell.org/package/mmsyn4-0.5.0.0 (OleksandrZhabenko)
2020-10-29 13:09:50 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 13:09:57 +0100hackagemmsyn5 0.5.0.0 - Various additional operations on lists (some with intermediate Monads) https://hackage.haskell.org/package/mmsyn5-0.5.0.0 (OleksandrZhabenko)
2020-10-29 13:10:27 +0100christo(~chris@81.96.113.213)
2020-10-29 13:12:09 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-29 13:12:46 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-29 13:12:56 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-29 13:13:05 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 13:13:06 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 13:13:06 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 13:13:06 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 13:13:18 +0100christo(~chris@81.96.113.213)
2020-10-29 13:13:55 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-olrayksqtbhbbqvo) (Quit: Connection closed for inactivity)
2020-10-29 13:15:17 +0100 <thblt> Is it abuse to use the state monad to design a sort of imperative dsl?
2020-10-29 13:15:45 +0100FreeBirdLjj(~freebirdl@101.228.42.108)
2020-10-29 13:15:51 +0100 <opqdonut> that's what it's meant for
2020-10-29 13:15:59 +0100 <thblt> thanks :)
2020-10-29 13:16:45 +0100kish(~oracle@unaffiliated/oracle) (Ping timeout: 240 seconds)
2020-10-29 13:17:01 +0100 <dminuoso> Okay, this is starting to confuse me. How could `f :: _` alter type inference?
2020-10-29 13:17:18 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-pbjplvzzdhgivsky)
2020-10-29 13:17:41 +0100 <dminuoso> If I add a `f :: _`, GHC produces a type error on the call site to f (in addition to the typed hole error), if I remove it, all compiles.
2020-10-29 13:17:42 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 13:18:15 +0100kish(~oracle@unaffiliated/oracle)
2020-10-29 13:18:43 +0100 <hpc> and the error says what type f has?
2020-10-29 13:19:32 +0100 <dminuoso> hpc: https://gist.github.com/dminuoso/6318be2a36b5428c1ac62def6163aaf9
2020-10-29 13:19:44 +0100 <dminuoso> Behind the scenes, that error is implemented as:
2020-10-29 13:19:56 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 268 seconds)
2020-10-29 13:20:17 +0100 <dminuoso> instance {-# OVERLAPPABLE #-} TypeError (...) => Is k l where implies _ = error "unreachable"
2020-10-29 13:20:18 +0100FreeBirdLjj(~freebirdl@101.228.42.108) (Ping timeout: 260 seconds)
2020-10-29 13:20:32 +0100 <hpc> so, valid programs have all their holes filled
2020-10-29 13:21:13 +0100 <hpc> when you don't have f :: _, it infers the type that the error says and it's all fine
2020-10-29 13:21:33 +0100 <hpc> when you put the hole there, you're communicating to ghc that you want to write a type signature but don't know what it should be
2020-10-29 13:21:42 +0100 <hpc> so it produces an error with what it should be, for you to fill in
2020-10-29 13:22:15 +0100idhugo(~idhugo@users-1190.st.net.au.dk)
2020-10-29 13:22:31 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d1d4:d989:c09d:31fa)
2020-10-29 13:22:32 +0100 <dminuoso> hpc: except, the inferred type is less polymorphic
2020-10-29 13:22:47 +0100 <dminuoso> Roughly, what I'd expect is:
2020-10-29 13:23:04 +0100 <dminuoso> attrDefThru :: forall k is. (Is k A_Setter) => Optic' k is DictFile AttrMap -> Parser ()
2020-10-29 13:23:29 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a)
2020-10-29 13:23:33 +0100alp_(~alp@2a01:e0a:58b:4920:a87d:80a:3e2c:6a69)
2020-10-29 13:23:36 +0100 <dminuoso> But adding a typed hole gives me a *much* less polymorphic type:
2020-10-29 13:23:50 +0100 <lortabac> it looks like a bug or at least an implementation wart
2020-10-29 13:23:52 +0100 <dminuoso> attrDefThru :: Optic A_Lens js ... -> ...
2020-10-29 13:23:55 +0100Jonkimi727406120(~Jonkimi@223.213.166.96)
2020-10-29 13:24:02 +0100 <dminuoso> See how it monomorphized on the lens type k?
2020-10-29 13:24:07 +0100 <hpc> ah
2020-10-29 13:24:38 +0100dhil(~dhil@195.213.192.122) (Ping timeout: 264 seconds)
2020-10-29 13:24:41 +0100 <hpc> does it still work if you add that type signature in place of the hole?
2020-10-29 13:25:04 +0100 <dminuoso> Amusingly *no*
2020-10-29 13:25:08 +0100 <dminuoso> It errors out with yet another type error
2020-10-29 13:25:15 +0100 <dminuoso> Im completely baffled here
2020-10-29 13:25:31 +0100 <dminuoso> no type signature, it compiles. adding the correct type signature, I get overlapping instance errors
2020-10-29 13:25:39 +0100fendor(~fendor@178.165.128.1.wireless.dyn.drei.com)
2020-10-29 13:25:45 +0100 <dminuoso> adding a typed hole I get an incorrect instance selection triggering the diagnostic
2020-10-29 13:26:34 +0100 <dminuoso> My first instinct was this was some weird interaction with MMR, but I disabled that too
2020-10-29 13:26:39 +0100 <hpc> with no type signature, what does :t tell you?
2020-10-29 13:26:50 +0100akad_(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 256 seconds)
2020-10-29 13:27:29 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
2020-10-29 13:27:57 +0100kish(~oracle@unaffiliated/oracle) (Ping timeout: 268 seconds)
2020-10-29 13:28:28 +0100Jonkimi727406120(~Jonkimi@223.213.166.96) (Ping timeout: 260 seconds)
2020-10-29 13:30:28 +0100xerox_(~xerox@unaffiliated/xerox)
2020-10-29 13:30:45 +0100 <dminuoso> attrDefThru :: (Is (Join A_Lens l) A_Setter, Is l (Join A_Lens l), Is A_Lens (Join A_Lens l)) => Optic' l js DictF\ile AttrMap -> Parser ()
2020-10-29 13:30:50 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-10-29 13:30:56 +0100 <dminuoso> (I did some manual cleanup)
2020-10-29 13:32:26 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Ping timeout: 264 seconds)
2020-10-29 13:33:37 +0100 <hpc> there's something in the definition of attrDefThru that's making it too specific for the type you want, i suspect
2020-10-29 13:34:10 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-10-29 13:34:19 +0100 <dminuoso> Yeah I suppose
2020-10-29 13:34:21 +0100 <dminuoso> (%) :: (Is k m, Is l m, m ~ Join k l, ks ~ Append is js) => Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b infixl 9
2020-10-29 13:34:27 +0100 <dminuoso> It's time to start chasing tyfams now..
2020-10-29 13:34:27 +0100 <hpc> that, or something else that's definitely beyond me :P
2020-10-29 13:34:36 +0100 <dminuoso> Well Im dead sure it's that one
2020-10-29 13:34:44 +0100 <dminuoso> (Based on how I triggered all of this)
2020-10-29 13:35:07 +0100 <dminuoso> Im starting to think this could be an optics bug
2020-10-29 13:35:27 +0100 <hpc> since you're certain on the type of attrDefThru, you can leave the type signature you want and use value-level holes
2020-10-29 13:35:27 +0100 <dminuoso> The reason is
2020-10-29 13:35:32 +0100 <dminuoso> mmm
2020-10-29 13:37:05 +0100 <dminuoso> hpc: Ahhh!
2020-10-29 13:37:10 +0100 <dminuoso> I understand what's going on.
2020-10-29 13:37:22 +0100dhil(~dhil@openvpn-125-1027.inf.ed.ac.uk)
2020-10-29 13:37:46 +0100GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-29 13:37:51 +0100 <hpc> that makes one of us :D
2020-10-29 13:38:06 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 13:38:06 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 13:38:06 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 13:38:22 +0100 <dminuoso> The above type signature is right.
2020-10-29 13:38:25 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-29 13:38:43 +0100 <dminuoso> (Which still leaves that GHC thwart of typed holes not doing the right thing)
2020-10-29 13:40:31 +0100geekosaur(ac3a3eac@172.58.62.172)
2020-10-29 13:41:04 +0100motherfsck(~motherfsc@unaffiliated/motherfsck) (Read error: Connection reset by peer)
2020-10-29 13:41:40 +0100motherfsck(~motherfsc@unaffiliated/motherfsck)
2020-10-29 13:42:01 +0100 <dminuoso> hpc: Hah indeed! I expected the subtyping in optics to play well with type inference.
2020-10-29 13:42:10 +0100 <dminuoso> Seems I was wrong and I need to manually cast them
2020-10-29 13:42:45 +0100machinedgod(~machinedg@142.169.78.88) (Ping timeout: 268 seconds)
2020-10-29 13:42:57 +0100hackagemmsyn6ukr 0.8.3.0 - A musical instrument synthesizer or a tool for Ukrainian language listening https://hackage.haskell.org/package/mmsyn6ukr-0.8.3.0 (OleksandrZhabenko)
2020-10-29 13:43:51 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-10-29 13:43:58 +0100 <hpc> nice
2020-10-29 13:47:48 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-29 13:48:38 +0100cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 264 seconds)
2020-10-29 13:48:55 +0100alp_(~alp@2a01:e0a:58b:4920:a87d:80a:3e2c:6a69) (Ping timeout: 268 seconds)
2020-10-29 13:49:41 +0100knupfer(~Thunderbi@200116b82cb50a006c81a39a2011bb8b.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-29 13:49:48 +0100knupfer1(~Thunderbi@200116b82cb50a00e5f04466600f3069.dip.versatel-1u1.de)
2020-10-29 13:50:17 +0100knupfer1(~Thunderbi@200116b82cb50a00e5f04466600f3069.dip.versatel-1u1.de) (Client Quit)
2020-10-29 13:50:30 +0100knupfer(~Thunderbi@200116b82cb50a00541104041c5441c6.dip.versatel-1u1.de)
2020-10-29 13:51:09 +0100knupfer(~Thunderbi@200116b82cb50a00541104041c5441c6.dip.versatel-1u1.de) (Client Quit)
2020-10-29 13:51:31 +0100knupfer(~Thunderbi@200116b82cb50a003d33e84bd828fffb.dip.versatel-1u1.de)
2020-10-29 13:51:33 +0100knupfer(~Thunderbi@200116b82cb50a003d33e84bd828fffb.dip.versatel-1u1.de) (Client Quit)
2020-10-29 13:52:08 +0100knupfer(~Thunderbi@200116b82cb50a0005674dbf33383acf.dip.versatel-1u1.de)
2020-10-29 13:53:54 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-29 13:54:58 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-29 13:55:13 +0100GothAlice1(~GothAlice@185.244.214.217)
2020-10-29 13:58:43 +0100Amras(~Amras@unaffiliated/amras0000)
2020-10-29 13:59:30 +0100motherfsck(~motherfsc@unaffiliated/motherfsck) (Quit: quit)
2020-10-29 14:00:45 +0100motherfsck(~motherfsc@unaffiliated/motherfsck)
2020-10-29 14:00:47 +0100 <[exa]> is there anyone skilled in deconding cabal dependency errors? https://paste.tomsmeding.com/luHswXER
2020-10-29 14:01:01 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-29 14:01:04 +0100 <[exa]> (this is from `cabal install megaparsec`)
2020-10-29 14:01:38 +0100shatriff(~vitaliish@176.52.219.10)
2020-10-29 14:01:49 +0100 <dminuoso> [__0] rejecting: base-4.14.0.0 (constraint from user target requires==4.13.0.0)
2020-10-29 14:02:06 +0100 <dminuoso> base and GHC versions are have a 1-to-1 correspondence
2020-10-29 14:03:11 +0100 <dminuoso> [exa]: What likely happened is this:
2020-10-29 14:03:19 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d1d4:d989:c09d:31fa) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 14:03:24 +0100 <dminuoso> You have some package installed that depends on base-4.14.0.0 in your global thing
2020-10-29 14:03:45 +0100 <dminuoso> Dont use `cabal install`?
2020-10-29 14:05:23 +0100 <merijn> [exa]: The problem is "you're using too new a GHC", that's what all base dependencies mean (well, except for the ones meaning you have too old a GHC :p)
2020-10-29 14:05:37 +0100machinedgod(~machinedg@142.169.78.145)
2020-10-29 14:06:25 +0100 <dminuoso> merijn: I dont think that's completely true.
2020-10-29 14:06:46 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-29 14:06:53 +0100acidjnk_new2(~acidjnk@p200300d0c7226033a9f8e60d1c4e3d2a.dip0.t-ipconnect.de)
2020-10-29 14:07:07 +0100 <dminuoso> megaparsec has had a base (>=4.11 && <5.0) bound for nearly a year now
2020-10-29 14:07:25 +0100 <merijn> base constraint can be limited by a transitive dependency
2020-10-29 14:07:34 +0100 <dminuoso> mm
2020-10-29 14:07:38 +0100 <merijn> Also, has update been run? :p
2020-10-29 14:07:42 +0100 <dminuoso> (constraint from user target requires==4.13.0.0)
2020-10-29 14:07:56 +0100 <dminuoso> Would be nice if cabal could tell where the constraint really comes from
2020-10-29 14:09:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d1d4:d989:c09d:31fa)
2020-10-29 14:09:05 +0100 <merijn> Patches welcome? ;) *ducks*
2020-10-29 14:09:50 +0100 <dminuoso> Well Im not complaining
2020-10-29 14:09:56 +0100obihann(~jhann@156.34.160.69) (Remote host closed the connection)
2020-10-29 14:10:16 +0100obihann(~jhann@156.34.160.69)
2020-10-29 14:10:27 +0100hackagepolysemy-methodology 0.1.1.0 - Domain modelling algebra for polysemy https://hackage.haskell.org/package/polysemy-methodology-0.1.1.0 (locallycompact)
2020-10-29 14:12:35 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-29 14:12:51 +0100shatriff(~vitaliish@176.52.219.10)
2020-10-29 14:19:21 +0100phaul(~phaul@ruby/staff/phaul)
2020-10-29 14:19:24 +0100obihann(~jhann@156.34.160.69) (Ping timeout: 240 seconds)
2020-10-29 14:20:13 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-29 14:21:07 +0100obihann(~jhann@156.34.160.69)
2020-10-29 14:21:13 +0100 <[exa]> is there a way to list stuff that requires ==4.13.0.0 ?
2020-10-29 14:21:27 +0100 <[exa]> I mean, a bit better error report would help
2020-10-29 14:21:50 +0100 <[exa]> btw I'm on ghc 8.8.3 so it's hopefully not "too much new"
2020-10-29 14:22:39 +0100 <merijn> [exa]: "too new" relative to whatever package(s) you're trying to use
2020-10-29 14:23:07 +0100 <merijn> [exa]: Did you run "cabal update" recently?
2020-10-29 14:23:18 +0100 <merijn> And which version of cabal-install do you have?
2020-10-29 14:23:33 +0100lemmih(~lemmih@2406:3003:2072:44:c5c7:520:a681:5f3f) (Remote host closed the connection)
2020-10-29 14:23:51 +0100lemmih(~lemmih@2406:3003:2072:44:2d80:b13f:a816:7456)
2020-10-29 14:24:10 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-29 14:25:32 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-29 14:25:58 +0100 <dminuoso> Also, why are you using `cabal install` for megaparsec?
2020-10-29 14:28:56 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 14:29:19 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 14:30:51 +0100dhil(~dhil@openvpn-125-1027.inf.ed.ac.uk) (Ping timeout: 268 seconds)
2020-10-29 14:31:45 +0100FreeBirdLjj(~freebirdl@101.228.42.108)
2020-10-29 14:32:58 +0100hackagepolysemy-methodology 0.1.2.0 - Domain modelling algebra for polysemy https://hackage.haskell.org/package/polysemy-methodology-0.1.2.0 (locallycompact)
2020-10-29 14:33:38 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-29 14:33:41 +0100 <thblt> I asked recently if there was a tool to make all imports explicit, and remove unused ones: haskell-language-server does it.
2020-10-29 14:33:56 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2020-10-29 14:34:01 +0100 <dminuoso> thblt: haskell-language-server itself?
2020-10-29 14:34:43 +0100 <thblt> dminuoso: I guess so! In my Emacs, lsp-ui offers to do it, so I guess it delegates to the server. Let me check.
2020-10-29 14:35:41 +0100 <thblt> I don't think I use any other tool. Apparently lsp-haskell calls into hlint too, but I don't think hlint can do that.
2020-10-29 14:36:01 +0100 <dminuoso> thblt: Id expect lsp-ui to do this.
2020-10-29 14:36:10 +0100stef204(~stef204@unaffiliated/stef-204/x-384198)
2020-10-29 14:36:37 +0100 <dminuoso> Well it could use hls to detect unused ones, but the file modification would be an editor feature
2020-10-29 14:37:19 +0100 <thblt> dminuoso: well the server should describe the possible modification somehow.
2020-10-29 14:39:24 +0100vacm(~vacwm@70.23.92.191)
2020-10-29 14:39:25 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 14:39:57 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-29 14:40:08 +0100son0p(~son0p@181.136.122.143)
2020-10-29 14:43:41 +0100dhil(~dhil@195.213.192.122)
2020-10-29 14:43:44 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-29 14:48:26 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-29 14:48:55 +0100geekosaur(ac3a3eac@172.58.62.172) (Remote host closed the connection)
2020-10-29 14:49:44 +0100akad_(~akad@109107030050.radomsko.vectranet.pl)
2020-10-29 14:50:38 +0100kish(~oracle@unaffiliated/oracle)
2020-10-29 14:55:14 +0100carlomagno(~cararell@148.87.23.8) (Remote host closed the connection)
2020-10-29 14:57:17 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-29 15:00:55 +0100tvrsky(~tvrsky@177.20.187.150)
2020-10-29 15:01:06 +0100 <tvrsky> hi
2020-10-29 15:01:21 +0100 <tvrsky> how do i begin on haskell?
2020-10-29 15:02:53 +0100 <dminuoso> tvrsky: Hi! You just did.
2020-10-29 15:03:21 +0100 <dminuoso> What kind of learning material are you looking for?
2020-10-29 15:03:40 +0100 <thblt> A nice free intro is LYAH http://learnyouahaskell.com/ (althouh you can buy too)
2020-10-29 15:04:16 +0100 <tvrsky> well i'm just interested on functional programming, so i'm looking for beginner's guides
2020-10-29 15:04:30 +0100 <dminuoso> tvrsky: Im quite fond of CIS194, it's modern and well thought of.
2020-10-29 15:04:46 +0100 <dminuoso> It's also freely available, and comes with well structured excercises that build ontop of each other
2020-10-29 15:06:06 +0100tstat(~tstat@165.227.66.131)
2020-10-29 15:06:37 +0100knupfer(~Thunderbi@200116b82cb50a0005674dbf33383acf.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-10-29 15:07:34 +0100 <tvrsky> that's awesome
2020-10-29 15:07:36 +0100 <tvrsky> thank you
2020-10-29 15:08:50 +0100u0_a298(~user@47.206.148.226)
2020-10-29 15:08:56 +0100ioroque(~theo_____@177.20.187.150)
2020-10-29 15:09:29 +0100ioroque(~theo_____@177.20.187.150) ()
2020-10-29 15:09:57 +0100hackagewinery 1.3.2 - A compact, well-typed seralisation format for Haskell values https://hackage.haskell.org/package/winery-1.3.2 (FumiakiKinoshita)
2020-10-29 15:10:51 +0100ZaphodBrox(51ae801c@mekats.plus.com) (Remote host closed the connection)
2020-10-29 15:12:10 +0100berberman_(~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-29 15:12:34 +0100berberman(~berberman@unaffiliated/berberman)
2020-10-29 15:12:42 +0100 <tvrsky> what are your thoughts on haskell? is it too hard?
2020-10-29 15:13:08 +0100 <dminuoso> It depends on your background.
2020-10-29 15:13:27 +0100 <tvrsky> i mean, i'm already familiarized with javascript since i work with it, but i'm a complete newbie to functional programming
2020-10-29 15:13:44 +0100 <thblt> It's different.
2020-10-29 15:13:57 +0100berberman(~berberman@unaffiliated/berberman) (Max SendQ exceeded)
2020-10-29 15:13:59 +0100 <dminuoso> tvrsky: Don't expect much of your programming experience to carry over then.
2020-10-29 15:14:06 +0100 <dminuoso> So it'll feel more like programming all over again.
2020-10-29 15:14:30 +0100berberman(~berberman@unaffiliated/berberman)
2020-10-29 15:14:51 +0100motherfsck(~motherfsc@unaffiliated/motherfsck) (Quit: quit)
2020-10-29 15:15:05 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 240 seconds)
2020-10-29 15:15:21 +0100 <merijn> tvrsky: I don't think Haskell is *hard*, but I do think its *different*
2020-10-29 15:15:23 +0100 <dminuoso> Accordingly, Haskell can give the impression of being "difficult to learn". But that's not because Haskell is inherently difficult, but unlikely "language close to your domain that you can pick up quickly", you're learning how to program from scratch again.
2020-10-29 15:15:54 +0100 <dminuoso> People often call "unlearning your old mindset"
2020-10-29 15:16:05 +0100 <merijn> tvrsky: FWIW, my girlfriend with 0 programming experience learned to program haskell just fine. It's just that many people who know 1 programming language expect that learning "any other language" is something easy you do in 2 days
2020-10-29 15:16:14 +0100berberman(~berberman@unaffiliated/berberman) (Max SendQ exceeded)
2020-10-29 15:16:41 +0100stef204(~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 2.9)
2020-10-29 15:16:42 +0100berberman(~berberman@unaffiliated/berberman)
2020-10-29 15:16:43 +0100 <merijn> tvrsky: So if you go in expecting "this will be about as tricky as learning to program the first time was", then you should be fine
2020-10-29 15:17:00 +0100 <kuribas> tvrsky: haskell isn't hard, but it's big. It's more like you have a lot of new concepts, each of which isn't that hard to understand.
2020-10-29 15:17:08 +0100 <dminuoso> I think the experience is well worth it, even if you keep writing JavaScript in your day job
2020-10-29 15:17:19 +0100 <dminuoso> Haskell changed how I thought about programming a lot.
2020-10-29 15:18:14 +0100 <kuribas> tvrsky: you have a lot of scary sounding abstractions, most if which are very simple in concept.
2020-10-29 15:18:25 +0100 <tvrsky> i'm very excited about this ngl
2020-10-29 15:19:04 +0100 <kuribas> for example in OO you have the "visitor pattern", but it still leaves a lot to the imagination. In haskell you have "Foldable", which is a concrete version of the visitor pattern.
2020-10-29 15:19:07 +0100 <thblt> I agree with dminuoso, but let's not underestimate the intrinsic difficulty of Haskell. It's a very strict language, which may require more effort to grasp than your average python --- you'll write less bugs, but you'll spend more time getting your code to work.
2020-10-29 15:19:40 +0100 <thblt> Also, it can be argued that while the base is very minimal, the set of language features + libraries that make something like "practical haskell" isn't small.
2020-10-29 15:20:00 +0100 <thblt> But it's a very, very exciting langage, and it will make you a better programmer :)
2020-10-29 15:20:08 +0100 <kuribas> part of that is because you try to write idiomatic code.
2020-10-29 15:20:19 +0100 <kuribas> it's ok to write everything in IO in the beginning.
2020-10-29 15:20:33 +0100invaser(~Thunderbi@31.148.23.125)
2020-10-29 15:21:19 +0100 <thblt> (It's also ok to write *nothing* in IO if it makes more sense to you this way.)
2020-10-29 15:21:48 +0100 <kuribas> thblt: but that's harder
2020-10-29 15:21:55 +0100 <kuribas> if you come from an imperative background
2020-10-29 15:21:57 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035)
2020-10-29 15:22:03 +0100 <thblt> I think that's how Haskell from First Principles work, IIRC. It introduces IO relatively late.
2020-10-29 15:22:25 +0100 <thblt> kuribas: I'm just saying there are multiple ways, not that my suggestion is better.
2020-10-29 15:22:33 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-29 15:23:08 +0100 <thblt> I think I learned by avoiding IO.
2020-10-29 15:23:32 +0100 <tvrsky> well gonna start now, so thanks for all the suggestions
2020-10-29 15:23:33 +0100carlomagno(~cararell@148.87.23.6)
2020-10-29 15:23:33 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-29 15:23:46 +0100 <thblt> tvrsky: have fun :)
2020-10-29 15:24:06 +0100 <kuribas> my point is, you shouldn't feel forced to use best practices when starting out
2020-10-29 15:24:33 +0100 <kuribas> it's easier to learn the gradually along the way
2020-10-29 15:26:46 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-29 15:26:56 +0100GyroW(~GyroW@d54c03e98.access.telenet.be)
2020-10-29 15:26:56 +0100GyroW(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-29 15:26:56 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 15:28:51 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-29 15:31:05 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 15:31:31 +0100u0_a298(~user@47.206.148.226)
2020-10-29 15:32:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 15:32:08 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 256 seconds)
2020-10-29 15:37:19 +0100knupfer(~Thunderbi@200116b82cb50a00cdf9d8b4bf5d6590.dip.versatel-1u1.de)
2020-10-29 15:38:26 +0100kish(~oracle@unaffiliated/oracle) (Ping timeout: 264 seconds)
2020-10-29 15:38:42 +0100kish(~oracle@unaffiliated/oracle)
2020-10-29 15:39:23 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-29 15:39:23 +0100livvy(~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds)
2020-10-29 15:41:35 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-29 15:41:46 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-29 15:44:08 +0100Jonkimi727406120(~Jonkimi@223.213.166.96)
2020-10-29 15:46:35 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 15:46:51 +0100u0_a298(~user@47.206.148.226)
2020-10-29 15:46:57 +0100jakob_(~textual@p200300f49f16220061022725fbc9d567.dip0.t-ipconnect.de)
2020-10-29 15:49:14 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 15:49:45 +0100u0_a298(~user@47.206.148.226)
2020-10-29 15:49:49 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-29 15:50:24 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2020-10-29 15:50:54 +0100 <[exa]> merijn: anyway thanks for hints, cabal nuke solved it
2020-10-29 15:51:09 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 15:51:09 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 15:51:09 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 15:51:46 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 246 seconds)
2020-10-29 15:51:56 +0100 <[exa]> merijn: (there were weird versions of the package dependencies installed, for no apparent reason, didn't bother solving why :D )
2020-10-29 15:53:22 +0100 <merijn> Installed packages shouldn't affect the build plan with v2-build anyway
2020-10-29 15:54:06 +0100knupfer(~Thunderbi@200116b82cb50a00cdf9d8b4bf5d6590.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-10-29 15:54:53 +0100 <[exa]> anyway, anyone parsing own token streams with Megaparsec 9? Problem: I have a token stream where tokens cannot be "reconstructed" back to the original form because they are simplified a bit (eg. both "0x12" and "0b00010010" share the representation `TInt 18`) so I was saving the "original string" together with the tokens in the stream. Now there is VisualStream class that forces me to visualize Tokens
2020-10-29 15:54:59 +0100 <[exa]> (_not_ the annotated things in the stream). Is there any way to get the old behavior back?
2020-10-29 15:55:00 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-29 15:55:13 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-29 15:55:24 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 240 seconds)
2020-10-29 15:57:23 +0100 <thblt> Re cabal-install, what's the actual meaning of "build"? Is it now v2-build?
2020-10-29 15:57:27 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 15:57:28 +0100hackageth-lego 0.2.0.1 - Template Haskell construction utilities https://hackage.haskell.org/package/th-lego-0.2.0.1 (NikitaVolkov)
2020-10-29 15:57:33 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Read error: Connection reset by peer)
2020-10-29 15:57:57 +0100u0_a298(~user@47.206.148.226)
2020-10-29 15:57:59 +0100Kaivo(~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com)
2020-10-29 15:59:16 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-10-29 16:00:02 +0100GothAlice1(~GothAlice@185.244.214.217) ()
2020-10-29 16:00:38 +0100justan0theruser(~justanoth@unaffiliated/justanotheruser)
2020-10-29 16:01:01 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-ehxybuxikisvwbkv)
2020-10-29 16:01:42 +0100 <merijn> thblt: If you have 3.x then build == v2-build
2020-10-29 16:02:04 +0100 <merijn> If you have <3.0 then build == v1-build (same for everything, of course)
2020-10-29 16:02:30 +0100lucasb(uid333435@gateway/web/irccloud.com/x-vdikopfssarieyds)
2020-10-29 16:02:35 +0100 <thblt> merijn: thanks! (3.2)
2020-10-29 16:02:53 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2020-10-29 16:03:04 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-10-29 16:03:10 +0100 <merijn> v2 still works too, but that's mostly to simplify writing portable scripts
2020-10-29 16:03:26 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-10-29 16:04:13 +0100 <alx741> hello all, I'm using scalpel to do web scraping and using a UTF8 decoder, but characters like "ñ" (n tilde) show up in Data.Text as "\241", does anyone have an idea what could be going wrong?
2020-10-29 16:04:38 +0100 <merijn> alx741: You are using "show" :p
2020-10-29 16:04:52 +0100 <merijn> > "ñ" -- this goes through Show
2020-10-29 16:04:54 +0100 <lambdabot> "\241"
2020-10-29 16:04:56 +0100 <merijn> > text $ "ñ"
2020-10-29 16:04:57 +0100 <lambdabot> ñ
2020-10-29 16:05:25 +0100 <merijn> alx741: For example, compare the result of 'Data.Text.IO.putStrLn "ñ"' vs 'print "ñ"'
2020-10-29 16:07:36 +0100 <dsal> tvrsky: Haskell is the easiest language I work in, in general. Makes everything else frustrating.
2020-10-29 16:07:36 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 16:08:01 +0100u0_a298(~user@47.206.148.226)
2020-10-29 16:09:12 +0100 <alx741> argh! of course, I'm using 'print' and so it goes trough 'show', facepalm
2020-10-29 16:09:17 +0100 <alx741> thank you merijn! :)
2020-10-29 16:12:38 +0100machinedgod(~machinedg@142.169.78.145) (Ping timeout: 264 seconds)
2020-10-29 16:15:02 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 16:15:05 +0100 <merijn> When did Type first become a synonym for *?
2020-10-29 16:15:17 +0100u0_a298(~user@47.206.148.226)
2020-10-29 16:15:59 +0100 <dminuoso> 8.6?
2020-10-29 16:16:08 +0100 <dminuoso> https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/8.6
2020-10-29 16:16:42 +0100 <merijn> ugh
2020-10-29 16:16:43 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds)
2020-10-29 16:16:53 +0100 <merijn> Actually turns out that even -Wcompat is fairly new >.>
2020-10-29 16:18:59 +0100u0_a298(~user@47.206.148.226) (Remote host closed the connection)
2020-10-29 16:19:16 +0100u0_a298(~user@47.206.148.226)
2020-10-29 16:19:57 +0100hackageth-lego 0.2.1 - Template Haskell construction utilities https://hackage.haskell.org/package/th-lego-0.2.1 (NikitaVolkov)
2020-10-29 16:20:28 +0100glguyghoulguy
2020-10-29 16:20:50 +0100gioyik(~gioyik@186.118.247.118)
2020-10-29 16:20:59 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 16:20:59 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 16:20:59 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 16:21:45 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 265 seconds)
2020-10-29 16:23:07 +0100FreeBirdLjj(~freebirdl@101.228.42.108) (Remote host closed the connection)
2020-10-29 16:28:14 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 16:28:31 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 16:28:49 +0100u0_a298(~user@47.206.148.226)
2020-10-29 16:29:26 +0100kish(~oracle@unaffiliated/oracle) (Ping timeout: 264 seconds)
2020-10-29 16:29:45 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 16:29:49 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 16:31:06 +0100idhugo(~idhugo@users-1190.st.net.au.dk) (Ping timeout: 268 seconds)
2020-10-29 16:32:03 +0100knupfer(~Thunderbi@200116b82cb50a0018b222fffee862b6.dip.versatel-1u1.de)
2020-10-29 16:34:25 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 16:34:27 +0100knupfer(~Thunderbi@200116b82cb50a0018b222fffee862b6.dip.versatel-1u1.de) (Remote host closed the connection)
2020-10-29 16:34:28 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
2020-10-29 16:34:41 +0100knupfer(~Thunderbi@200116b82cb50a0045df43da037af5d6.dip.versatel-1u1.de)
2020-10-29 16:37:13 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2020-10-29 16:39:01 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-29 16:39:07 +0100knupfer(~Thunderbi@200116b82cb50a0045df43da037af5d6.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-10-29 16:42:45 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 16:43:01 +0100u0_a298(~user@47.206.148.226)
2020-10-29 16:44:26 +0100 <monsterchrom> -Wcompat's Halloween costume is -Wombat :)
2020-10-29 16:45:20 +0100 <monsterchrom> Hey let's dress up GHC cmdline options for Halloween! -XRankNType -> XFangNType
2020-10-29 16:45:31 +0100delYsid(~user@vra-171-40.tugraz.at)
2020-10-29 16:47:09 +0100 <delYsid> Is there a way to convince GHC to look for packages in lowercase dirs?
2020-10-29 16:47:52 +0100 <delYsid> I'd like to have the Haskell code of a project coexist with a bunch of assets. However, these assets are organized in lowercase dirs.
2020-10-29 16:48:10 +0100 <dminuoso> delYsid: Do you mean for vendored packages?
2020-10-29 16:48:30 +0100 <delYsid> wha? I probably dont mean that, since I have no idea what that would mean
2020-10-29 16:48:32 +0100 <dminuoso> Hold on, it's not even remotely GHC's job
2020-10-29 16:48:40 +0100 <dminuoso> Are you sure you're not conflating cabal and GHC here?
2020-10-29 16:48:50 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net)
2020-10-29 16:50:02 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net) (Client Quit)
2020-10-29 16:50:03 +0100 <dminuoso> delYsid: Phrased differently, these assets, are they proper cabal packages?
2020-10-29 16:50:09 +0100 <thblt> But anyhow, no, Haskell modules Start With An Uppercase Letter
2020-10-29 16:50:55 +0100hekkaidekapus_hekkaidekapus
2020-10-29 16:51:34 +0100 <dminuoso> Or are you talking about GHC finding modules in --make mode?
2020-10-29 16:52:13 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-29 16:52:38 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-29 16:53:09 +0100 <hekkaidekapus> thblt: Regarding your import question, see `-ddump-to-file -ddump-minimal-imports`.
2020-10-29 16:53:56 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-29 16:54:16 +0100 <hekkaidekapus> @hackage smuggler -- and <https://github.com/jrp2014/smuggler2/> if you want tools that build on those flags.
2020-10-29 16:54:16 +0100 <lambdabot> https://hackage.haskell.org/package/smuggler -- and <https://github.com/jrp2014/smuggler2/> if you want tools that build on those flags.
2020-10-29 16:55:22 +0100 <dminuoso> Are there simpler tools than Cabal if I want to parse, modify and write a .cabal file back?
2020-10-29 16:55:50 +0100 <merijn> dminuoso: Do you care about full compatibility?
2020-10-29 16:55:51 +0100true-asset(~true-asse@185.244.214.217)
2020-10-29 16:55:54 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-10-29 16:55:57 +0100 <merijn> Or just, like, 80-90%
2020-10-29 16:56:08 +0100 <dminuoso> 80-90% is fine
2020-10-29 16:56:08 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-29 16:56:10 +0100 <merijn> https://hackage.haskell.org/package/cabal-install-parsers
2020-10-29 16:56:25 +0100 <dminuoso> That dependency tree.
2020-10-29 16:56:45 +0100_vaibhavingale_(~Adium@203.188.228.9) (Quit: Leaving.)
2020-10-29 16:56:45 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-29 16:56:52 +0100 <dminuoso> Ah well, with those ergonomics I might as well just use Cabal
2020-10-29 16:57:01 +0100 <merijn> That's just the dependency tree of Cabal :p
2020-10-29 16:57:01 +0100 <dminuoso> It's just a wrapper anyhow
2020-10-29 16:57:24 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-10-29 16:59:32 +0100FreeBirdLjj(~freebirdl@101.228.42.108)
2020-10-29 16:59:58 +0100hackagehttp-io-streams 0.1.6.0 - HTTP and WebSocket client based on io-streams https://hackage.haskell.org/package/http-io-streams-0.1.6.0 (HerbertValerioRiedel)
2020-10-29 17:00:58 +0100hackagekeycloak-hs 2.1.0 - https://hackage.haskell.org/package/keycloak-hs-2.1.0 (CorentinDupont)
2020-10-29 17:01:01 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 17:01:01 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 17:01:01 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 17:01:50 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds)
2020-10-29 17:03:40 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-29 17:03:44 +0100FreeBirdLjj(~freebirdl@101.228.42.108) (Ping timeout: 240 seconds)
2020-10-29 17:07:06 +0100polyrain(~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 17:07:36 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-10-29 17:11:25 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-10-29 17:13:02 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-10-29 17:14:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 17:14:01 +0100_vaibhavingale_(~Adium@203.188.228.9)
2020-10-29 17:14:07 +0100poljar(~poljar@93-139-70-179.adsl.net.t-com.hr) (Quit: WeeChat 2.9)
2020-10-29 17:15:51 +0100poljar(~poljar@93-139-70-179.adsl.net.t-com.hr)
2020-10-29 17:17:18 +0100sfvm(~sfvm@37.228.215.148)
2020-10-29 17:19:50 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 17:21:06 +0100u0_a298(~user@47.206.148.226)
2020-10-29 17:22:04 +0100acidjnk_new2(~acidjnk@p200300d0c7226033a9f8e60d1c4e3d2a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-29 17:23:54 +0100geekosaur(ac3a5745@172.58.87.69)
2020-10-29 17:24:13 +0100christo(~chris@81.96.113.213)
2020-10-29 17:24:24 +0100benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 240 seconds)
2020-10-29 17:26:48 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net)
2020-10-29 17:27:36 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-fgstvrwzsmauzxyr)
2020-10-29 17:28:39 +0100howdoi(uid224@gateway/web/irccloud.com/x-vtjahgetnoyujbco)
2020-10-29 17:28:45 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net) (Client Quit)
2020-10-29 17:29:09 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-29 17:30:57 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-29 17:31:31 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2020-10-29 17:33:06 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-29 17:33:44 +0100Kolkrabe(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-10-29 17:33:45 +0100kritzefitz_(~kritzefit@212.86.56.80)
2020-10-29 17:34:00 +0100wretchswollen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2020-10-29 17:36:21 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-pbjplvzzdhgivsky) (Quit: Connection closed for inactivity)
2020-10-29 17:36:45 +0100fandi(~fandi@118.97.77.114)
2020-10-29 17:37:17 +0100fandi(~fandi@118.97.77.114) (Max SendQ exceeded)
2020-10-29 17:37:44 +0100fandi(~fandi@118.97.77.114)
2020-10-29 17:39:24 +0100cvlad-(sid203065@gateway/web/irccloud.com/x-dghqjpkfmvjbucbi) (Ping timeout: 240 seconds)
2020-10-29 17:39:24 +0100ReinH__(sid179972@gateway/web/irccloud.com/x-kynfnrknqktyblak) (Ping timeout: 240 seconds)
2020-10-29 17:39:24 +0100bradparker(sid262931@gateway/web/irccloud.com/x-cpaqunedaxagfosc) (Ping timeout: 240 seconds)
2020-10-29 17:39:33 +0100liquorice(sid267884@gateway/web/irccloud.com/x-volnulzrerkaifsx) (Ping timeout: 272 seconds)
2020-10-29 17:39:37 +0100joshmeredith(sid387798@gateway/web/irccloud.com/x-fahcpupvewgkoceh) (Ping timeout: 260 seconds)
2020-10-29 17:39:37 +0100totbwf(sid402332@gateway/web/irccloud.com/x-sxpcryhpiyewihxs) (Ping timeout: 260 seconds)
2020-10-29 17:39:44 +0100natim87(sid286962@gateway/web/irccloud.com/x-bwmegmbyiecjxmkz) (Ping timeout: 240 seconds)
2020-10-29 17:39:44 +0100alanz(sid110616@gateway/web/irccloud.com/x-kaaptnygtinjlvts) (Ping timeout: 240 seconds)
2020-10-29 17:39:59 +0100joshmeredith(sid387798@gateway/web/irccloud.com/x-ewrwlxlkgcoxcbts)
2020-10-29 17:40:12 +0100davetapley(sid666@gateway/web/irccloud.com/x-robbsvqvrfwhlocr) (Ping timeout: 260 seconds)
2020-10-29 17:40:27 +0100wpcarro(sid397589@gateway/web/irccloud.com/x-ycncefjlbxwjrjeb) (Ping timeout: 260 seconds)
2020-10-29 17:40:49 +0100systemfault(sid267009@gateway/web/irccloud.com/x-cuwcujscdtdsdgqf) (Ping timeout: 272 seconds)
2020-10-29 17:40:58 +0100alanz(sid110616@gateway/web/irccloud.com/x-eagdffxzloqjlfmd)
2020-10-29 17:40:59 +0100cvlad-(sid203065@gateway/web/irccloud.com/x-ldhrbgiqwkppzsfc)
2020-10-29 17:40:59 +0100liquorice(sid267884@gateway/web/irccloud.com/x-diraasfarzuiqldj)
2020-10-29 17:41:02 +0100bradparker(sid262931@gateway/web/irccloud.com/x-uqioclynkqqupcsu)
2020-10-29 17:41:05 +0100ReinH__(sid179972@gateway/web/irccloud.com/x-ryyydyxrmnaxtodq)
2020-10-29 17:41:06 +0100natim87(sid286962@gateway/web/irccloud.com/x-hyhuipwwdjkbudmv)
2020-10-29 17:41:50 +0100totbwf(sid402332@gateway/web/irccloud.com/x-amykbrbjjlsoojsk)
2020-10-29 17:42:00 +0100systemfault(sid267009@gateway/web/irccloud.com/x-csgxnmticedbceeh)
2020-10-29 17:42:01 +0100Guest84165(~mrc@81.30.75.204) (Ping timeout: 268 seconds)
2020-10-29 17:42:16 +0100davetapley(sid666@gateway/web/irccloud.com/x-yocwsgvbpxleffzc)
2020-10-29 17:42:21 +0100wpcarro(sid397589@gateway/web/irccloud.com/x-reptnryktqywamkq)
2020-10-29 17:46:26 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-10-29 17:47:19 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net)
2020-10-29 17:48:22 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-29 17:48:25 +0100chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-10-29 17:50:52 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-29 17:51:03 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 17:51:03 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 17:51:03 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 17:51:07 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-29 17:55:11 +0100gregberns_(sid315709@gateway/web/irccloud.com/x-fewxfbpuqadmolrk) (Read error: Connection reset by peer)
2020-10-29 17:55:18 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2020-10-29 17:55:25 +0100gregberns_(sid315709@gateway/web/irccloud.com/x-lhzcnufyopscpuei)
2020-10-29 17:55:26 +0100newhoggy(sid198874@gateway/web/irccloud.com/x-ajbxvvzkmwoozmcf) (Ping timeout: 256 seconds)
2020-10-29 17:55:29 +0100cbarrett(sid192934@adium/cbarrett) (Read error: Connection reset by peer)
2020-10-29 17:55:32 +0100nineonine(~textual@216-19-190-182.dyn.novuscom.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 17:55:34 +0100entel(uid256215@botters/entel) (Read error: Connection reset by peer)
2020-10-29 17:55:34 +0100stylewarning(stylewarni@gateway/web/irccloud.com/x-ldvspppvftwdoorj) (Read error: Connection reset by peer)
2020-10-29 17:55:47 +0100newhoggy(sid198874@gateway/web/irccloud.com/x-zutcdabnuqtwgxkc)
2020-10-29 17:55:47 +0100cbarrett(sid192934@adium/cbarrett)
2020-10-29 17:55:53 +0100entel(uid256215@botters/entel)
2020-10-29 17:55:57 +0100stylewarning(stylewarni@gateway/web/irccloud.com/x-inexyucgqlgjsrum)
2020-10-29 17:56:38 +0100 <delYsid> dminuoso: It is GHC that imposes the restriction that module names need to be uppercase, isnt it?
2020-10-29 17:58:03 +0100 <geekosaur> I think it's also due to dotted name resolution?
2020-10-29 17:58:33 +0100 <thblt> hekkaidekapus: thanks!
2020-10-29 17:58:37 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-10-29 17:58:38 +0100 <geekosaur> (foo.bar) is resolved with the dot meaning (.) instead of a name component separator
2020-10-29 17:59:54 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a) (Ping timeout: 268 seconds)
2020-10-29 18:00:04 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-29 18:00:17 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-29 18:01:22 +0100 <tomsmeding> maerwald: apparently an alternative for ALE: https://dev.to/moniquelive/haskell-lsp-bonus-for-vim-4nlj
2020-10-29 18:01:27 +0100 <tomsmeding> (as found on haskell weekly)
2020-10-29 18:01:50 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-10-29 18:01:51 +0100 <maerwald> I tried vim-lsp already
2020-10-29 18:03:00 +0100 <tomsmeding> ah
2020-10-29 18:03:25 +0100 <maerwald> I'd say it's the worst. Less reliable than LanguageClient-neovim and less features that coc.nvim
2020-10-29 18:03:37 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-29 18:03:41 +0100 <maerwald> but in the end, all LSP clients suck, really
2020-10-29 18:03:45 +0100 <tomsmeding> less reliable than LC-neovim is pretty damning in my experience :p
2020-10-29 18:03:53 +0100 <monsterchrom> Module names are capitalized in the Haskell Report.
2020-10-29 18:03:56 +0100 <maerwald> LC-neovim is the best implementation so far
2020-10-29 18:04:33 +0100 <monsterchrom> But the motivation is to reduce dot ambiguity, no doubt.
2020-10-29 18:04:41 +0100 <maerwald> I'm starting to believe LSP (the idea) overall is trash
2020-10-29 18:04:44 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-29 18:05:03 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds)
2020-10-29 18:05:17 +0100 <tomsmeding> the protocol or the concept of having a unified language integration protocol?
2020-10-29 18:05:29 +0100 <maerwald> writing an editor plugin for a custom language linter is some work, sure, but uh... all the disadvantages of LSP... really?
2020-10-29 18:05:31 +0100nineonine(~textual@216.81.48.202)
2020-10-29 18:05:34 +0100 <maerwald> Don't outweigh it
2020-10-29 18:05:52 +0100 <thblt> What are the disadvantages of lsp? I'm pretty happy with it.
2020-10-29 18:06:02 +0100 <monsterchrom> Oh, LC ≠ lambda calculus. :(
2020-10-29 18:06:17 +0100 <yushyin> works ok for vscode and other languages, but the haskell support is bad and vim lsp clients are also all bad
2020-10-29 18:06:19 +0100 <tomsmeding> sorry monsterchrom
2020-10-29 18:06:23 +0100 <monsterchrom> :)
2020-10-29 18:06:23 +0100 <thblt> Not having to install each and every possible language support package in $EDITOR is a blessing.
2020-10-29 18:06:25 +0100 <maerwald> it's broken most of the time, uses shitty json with bad error messages, you have all sorts of process handling issues etc etc
2020-10-29 18:06:29 +0100idhugo(~idhugo@eduroam06.au.dk)
2020-10-29 18:06:51 +0100 <thblt> yushyin: I understand vim extension language is, er, not the best; is there a project to integrate lsp in the core?
2020-10-29 18:06:56 +0100 <tomsmeding> maerwald: do you think a different protocol could fix the problems?
2020-10-29 18:07:04 +0100 <maerwald> server-client architecture for something that's supposed to run blazingly fast inside my editor? What? Why.
2020-10-29 18:07:14 +0100Franciman(~francesco@host-82-54-10-114.retail.telecomitalia.it) (Quit: Leaving)
2020-10-29 18:07:20 +0100 <monsterchrom> because your computer is FTL
2020-10-29 18:07:26 +0100 <tomsmeding> maerwald: see also: xi editor
2020-10-29 18:07:37 +0100avdb(~avdb@ip-62-235-189-214.dsl.scarlet.be)
2020-10-29 18:07:44 +0100 <yushyin> thblt: I'm not aware of any projects
2020-10-29 18:07:44 +0100 <tomsmeding> and also the local socket connection is really not what kills performance here :p
2020-10-29 18:07:58 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-lzoeccbcuqfwnwby)
2020-10-29 18:08:06 +0100 <maerwald> no, but all the error handling mess server-client architecture causes
2020-10-29 18:08:25 +0100kish(~oracle@unaffiliated/oracle)
2020-10-29 18:08:28 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2020-10-29 18:08:46 +0100 <maerwald> also. I'm ranting. I don't have any better solution, lol
2020-10-29 18:08:48 +0100shatriff(~vitaliish@176.52.219.10)
2020-10-29 18:08:54 +0100 <thblt> maerwald: I'm not sure how you can avoid a client-server model if you want to use the compiler as an editor helper?
2020-10-29 18:09:10 +0100 <thblt> The good thing with LSP is that you only have one set of client bugs.
2020-10-29 18:09:12 +0100 <monsterchrom> Perhaps the protocol should consist of continuations, not data.
2020-10-29 18:09:15 +0100 <tomsmeding> thblt: write the editor in haskell and let it depend on ghc-lib
2020-10-29 18:09:26 +0100 <tomsmeding> that remark is meant sarcastically
2020-10-29 18:09:36 +0100 <thblt> tomsmeding: I was afraid for a moment :)
2020-10-29 18:09:41 +0100monsterchromis going to teach continuations tomorrow. That's why. >:)
2020-10-29 18:09:53 +0100 <thblt> But hey, that's what Emacs is, just with another language :)
2020-10-29 18:10:22 +0100 <monsterchrom> http://hackage.haskell.org/package/manatee-editor
2020-10-29 18:10:24 +0100 <tomsmeding> I guess Yi editor exists
2020-10-29 18:10:34 +0100 <tomsmeding> or that apparently
2020-10-29 18:10:48 +0100 <thblt> xi?
2020-10-29 18:10:50 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds)
2020-10-29 18:10:57 +0100 <monsterchrom> it doesn't depend on ghc-lib. But at least it's an editor and written in Haskell.
2020-10-29 18:10:58 +0100 <thblt> No, xi is in rust
2020-10-29 18:11:10 +0100 <tomsmeding> xi is the thing by that google guy that has a client-server architecture for the editor itself
2020-10-29 18:11:13 +0100 <tomsmeding> yi is https://github.com/yi-editor/yi
2020-10-29 18:11:17 +0100 <thblt> Technically Emacs has native modules so you *could* plug ghc-lib directly.
2020-10-29 18:11:24 +0100motherfsck(~motherfsc@unaffiliated/motherfsck)
2020-10-29 18:11:30 +0100 <tomsmeding> "This software is no longer maintained" :(
2020-10-29 18:11:32 +0100geekosauris not sure manatee ever worked fully, it got blatted onto hackage and immediately abandoned apparently :(
2020-10-29 18:11:45 +0100 <monsterchrom> Got a bank job. As usual.
2020-10-29 18:11:47 +0100 <thblt> Which is probably a good example of "just because you can doesn't mean you should"
2020-10-29 18:12:03 +0100 <maerwald> monsterchrom: they pay well
2020-10-29 18:12:07 +0100tomsmedingnods to thblt
2020-10-29 18:12:11 +0100 <monsterchrom> The #1 brain drain from #haskell is bank jobs.
2020-10-29 18:12:33 +0100 <monsterchrom> This is why when someone asks "are there Haskell jobs" I wish I could just say no.
2020-10-29 18:12:40 +0100ddellacosta(~dd@86.106.121.168)
2020-10-29 18:12:43 +0100 <maerwald> hey... I wanna get paid for my back pain and RSI
2020-10-29 18:12:47 +0100carlomagno(~cararell@148.87.23.6) (Remote host closed the connection)
2020-10-29 18:12:51 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035) (Ping timeout: 268 seconds)
2020-10-29 18:12:53 +0100 <tomsmeding> so that more people remain in #haskell?
2020-10-29 18:12:58 +0100 <monsterchrom> There are no Haskell jobs. Keep writing and maintaining free Haskell software.
2020-10-29 18:13:03 +0100 <tomsmeding> :D
2020-10-29 18:13:08 +0100carlomagno(~cararell@148.87.23.6)
2020-10-29 18:13:13 +0100 <tomsmeding> or enter academia
2020-10-29 18:13:20 +0100 <maerwald> well, if *good* healthcare was free.. imagine that
2020-10-29 18:13:26 +0100 <thblt> sounds suspiciously like a job!
2020-10-29 18:13:37 +0100 <monsterchrom> nah academia is what gives you LinearTypes, not free software that you actually use.
2020-10-29 18:13:44 +0100 <tomsmeding> accurate
2020-10-29 18:13:47 +0100 <maerwald> programming is one of the worst things you can do to your health
2020-10-29 18:13:49 +0100Jonkimi727406120(~Jonkimi@223.213.166.96) (Ping timeout: 260 seconds)
2020-10-29 18:14:00 +0100 <maerwald> mental and physical
2020-10-29 18:14:02 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 260 seconds)
2020-10-29 18:14:05 +0100 <maerwald> Why would anyone do it
2020-10-29 18:14:13 +0100 <tomsmeding> it's fun!
2020-10-29 18:14:23 +0100 <thblt> Especially when it's not your job.
2020-10-29 18:14:26 +0100 <thblt> I guess.
2020-10-29 18:14:28 +0100 <maerwald> I don't know what fun is. I just have obsessions.
2020-10-29 18:14:36 +0100 <monsterchrom> Oh yeah, for free good healthcare, we need to also tell medical students "nah there are no medical jobs" haha.
2020-10-29 18:14:37 +0100 <tomsmeding> most things become less fun when it's your job, pair or unpaid
2020-10-29 18:14:41 +0100 <thblt> If obsessions don't count as fun I'm out.
2020-10-29 18:14:45 +0100 <maerwald> lolo
2020-10-29 18:16:05 +0100MindlessDrone(~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 240 seconds)
2020-10-29 18:16:09 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 18:16:10 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 18:16:10 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 18:16:30 +0100 <thblt> In all seriousness, I keep wondering if i should leave my job (I teach philosophy in high school, in Fr) to go work in programming, and I always end up at the conclusion that I'll certainly get paid a lot better but I'll probably hate it very, very quickly
2020-10-29 18:16:50 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds)
2020-10-29 18:17:17 +0100 <maerwald> thblt: do you know Arnaud Bailly?
2020-10-29 18:17:25 +0100carlomagno(~cararell@148.87.23.6) (Ping timeout: 240 seconds)
2020-10-29 18:17:27 +0100 <johnw> hate programming? then you're doing it wrong!
2020-10-29 18:17:50 +0100 <thblt> maerwald: no, whyK
2020-10-29 18:17:54 +0100 <thblt> who is him?
2020-10-29 18:17:55 +0100FreeBirdLjj(~freebirdl@101.228.42.108)
2020-10-29 18:17:58 +0100 <maerwald> thblt: frech philosopher, ended up in Singapore in fintech doing haskell :p
2020-10-29 18:18:03 +0100 <dolio> Most of the industry is doing it wrong.
2020-10-29 18:18:07 +0100idhugo(~idhugo@eduroam06.au.dk) (Ping timeout: 260 seconds)
2020-10-29 18:18:16 +0100 <maerwald> I happened to work on his codebase long after he moved on
2020-10-29 18:18:33 +0100 <maerwald> and then understood why
2020-10-29 18:18:53 +0100 <monsterchrom> Do you also teach Hofstadter stuff in your philosophy class? In Haskell instead of Lisp? >:)
2020-10-29 18:18:58 +0100 <tomsmeding> maerwald: why he moved to programming or why he moved on?
2020-10-29 18:19:06 +0100 <maerwald> the latter
2020-10-29 18:19:12 +0100 <maerwald> he had visions
2020-10-29 18:19:13 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2020-10-29 18:19:17 +0100 <maerwald> about software
2020-10-29 18:19:20 +0100 <maerwald> I mean... lol
2020-10-29 18:20:01 +0100 <maerwald> If fintech was the right place to exercise visions...
2020-10-29 18:20:08 +0100teardown(~user@gateway/tor-sasl/mrush) (Remote host closed the connection)
2020-10-29 18:20:16 +0100 <tomsmeding> then there is a good, working LSP client for vim
2020-10-29 18:20:23 +0100ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2020-10-29 18:20:39 +0100 <tomsmeding> modus tollens produces the required conclusion
2020-10-29 18:20:56 +0100MindlessDrone(~MindlessD@unaffiliated/mindlessdrone)
2020-10-29 18:21:04 +0100 <monsterchrom> Does fintech simply mean blockchain stuff? It's a new term that suddenly popped up a few days ago and suddenly everyone except me knew it like it has always existed.
2020-10-29 18:21:16 +0100 <maerwald> but they have this obsession with hiring over-qualified ppl, which sometimes has interesting side-effects
2020-10-29 18:21:26 +0100 <tomsmeding> I understand it as high-frequency trading monsterchrom
2020-10-29 18:21:35 +0100 <maerwald> monsterchrom: no, I mean actual fintech, stealing real money
2020-10-29 18:21:54 +0100Guest84165(~mrc@81.30.75.204)
2020-10-29 18:21:55 +0100 <thblt> Sounds way more honest than blockchain.
2020-10-29 18:22:03 +0100Guest84165(~mrc@81.30.75.204) (Client Quit)
2020-10-29 18:22:05 +0100FreeBirdLjj(~freebirdl@101.228.42.108) (Ping timeout: 240 seconds)
2020-10-29 18:22:07 +0100 <tomsmeding> also less power usage probably
2020-10-29 18:22:25 +0100 <thblt> Where you steal money too, but after having had to lie to pretend it was money in the first place.
2020-10-29 18:23:06 +0100 <maerwald> I dunno. If you apply for a job and get it... didn't you steal it from the other 50 candidates? :)
2020-10-29 18:23:17 +0100solonarv(~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr)
2020-10-29 18:23:23 +0100 <monsterchrom> oh, financial technology
2020-10-29 18:23:35 +0100 <geekosaur> if people behave as if it has value, does it?
2020-10-29 18:24:25 +0100 <tomsmeding> for most reasonable definitions, yes
2020-10-29 18:24:31 +0100xff0x_(~fox@port-92-193-232-58.dynamic.as20676.net) (Ping timeout: 265 seconds)
2020-10-29 18:24:59 +0100 <maerwald> But I can say it's interesting to have experienced real fraud once (not from employer, but customer)
2020-10-29 18:25:18 +0100 <avdb> A-mazing. I got the next three hours to play with Haskell for the first time in a while.
2020-10-29 18:25:41 +0100 <tomsmeding> avdb: what will you build?
2020-10-29 18:25:42 +0100teardown(~user@gateway/tor-sasl/mrush)
2020-10-29 18:27:46 +0100raichoo(~raichoo@213.240.178.58) (Quit: Lost terminal)
2020-10-29 18:27:47 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 18:27:50 +0100idhugo(~idhugo@eduroam06.au.dk)
2020-10-29 18:28:48 +0100u0_a298(~user@47.206.148.226)
2020-10-29 18:29:28 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 260 seconds)
2020-10-29 18:29:41 +0100 <avdb> tomsmeding: I will be reading Chris' book since I can't even use Haskell properly yet.
2020-10-29 18:29:58 +0100 <avdb> I'm currently learning very slowlu due to bad time managment.
2020-10-29 18:30:01 +0100 <avdb> Slowly*
2020-10-29 18:30:15 +0100 <tomsmeding> as long as you're having fun, learning slowly is not an issue
2020-10-29 18:30:34 +0100 <carbolymer> I have: `counter <- newTVarIO 0` and in 2 threads I'm doing: `atomically $ modifyTVar' counter ((+)1) >> readTVar counter` and in both threads I'm getting 1 at the same time - WTF?
2020-10-29 18:30:40 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 18:30:47 +0100 <maerwald> I'm a strong believer in slow learning
2020-10-29 18:31:24 +0100 <maerwald> if you learn slow, you forget slow :p
2020-10-29 18:31:27 +0100hackagecassava-streams 0.3.0.5 - io-streams interface for the cassava CSV library. https://hackage.haskell.org/package/cassava-streams-0.3.0.5 (PeterJones)
2020-10-29 18:31:46 +0100 <tomsmeding> carbolymer: is the code shareable? https://paste.tomsmeding.com
2020-10-29 18:31:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-10-29 18:32:58 +0100st8less(~st8less@2603:a060:11fd:0:11a8:48f2:e89a:10e3)
2020-10-29 18:33:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-29 18:35:04 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 18:35:10 +0100 <carbolymer> tomsmeding, not really, give a minute to re-create minimal example
2020-10-29 18:35:48 +0100 <tomsmeding> because from your description, #worksForMe :p
2020-10-29 18:35:56 +0100 <tomsmeding> (i.e. I get 1, 2)
2020-10-29 18:36:49 +0100xff0x_(~fox@2001:1a81:528e:cb00:4e46:bded:683a:1262)
2020-10-29 18:39:20 +0100 <carbolymer> hmm, maybe it's because it's inside hunit test or ghc flags or idk - working on minimal example!
2020-10-29 18:39:52 +0100 <dminuoso> I suspect there's an unsafePerformIO you didn't tell us about.
2020-10-29 18:39:59 +0100 <tomsmeding> are you sure you have the same counter TVar both times?
2020-10-29 18:40:45 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 18:41:53 +0100 <carbolymer> tomsmeding, yes, because I'm running 5 threads, over 100 elements (everytime this function I pasted) and I am supposed to get 100 in return - but I get only 95
2020-10-29 18:42:02 +0100 <carbolymer> which = 100 - nr_of_threads
2020-10-29 18:42:07 +0100 <carbolymer> which is super weird
2020-10-29 18:42:38 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 264 seconds)
2020-10-29 18:42:53 +0100xwvvvvwx(~xwvvvvwx@185.213.155.160) (Ping timeout: 260 seconds)
2020-10-29 18:43:09 +0100emertens(x@freenode/staff/haskell.developer.glguy)
2020-10-29 18:43:10 +0100 <carbolymer> dminuoso, could be - might hidden by hunit internals
2020-10-29 18:43:34 +0100 <carbolymer> dminuoso, but I'm using pretty straightforward test spec
2020-10-29 18:44:16 +0100 <tomsmeding> do all the threads execute your code about the same number of times?
2020-10-29 18:44:40 +0100mbomba(~mbomba@142.114.9.241)
2020-10-29 18:44:58 +0100hackageth-lego 0.2.2 - Template Haskell construction utilities https://hackage.haskell.org/package/th-lego-0.2.2 (NikitaVolkov)
2020-10-29 18:45:04 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-29 18:45:17 +0100emertens(x@freenode/staff/haskell.developer.glguy) (Remote host closed the connection)
2020-10-29 18:45:17 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 18:45:24 +0100 <carbolymer> tomsmeding, yes, I've added print after each invocation, and this function returns the same value two times at the very beginning
2020-10-29 18:45:51 +0100 <carbolymer> so, double 1's and numbers from 2-99
2020-10-29 18:45:56 +0100 <dminuoso> Im quite confident that stm is fine.
2020-10-29 18:46:16 +0100 <dminuoso> carbolymer: Are you creating the counter using unsafePerformIO perhaps?
2020-10-29 18:46:31 +0100 <carbolymer> dminuoso, no, newTVarIO
2020-10-29 18:46:38 +0100 <dminuoso> carbolymer: No from the outside.
2020-10-29 18:46:38 +0100 <carbolymer> inside IO
2020-10-29 18:46:45 +0100 <carbolymer> inside test spec
2020-10-29 18:46:49 +0100 <dminuoso> I stick to my theory "there's unsafePerformIO somehwere"
2020-10-29 18:47:32 +0100 <tomsmeding> carbolymer: can you post the test spec?
2020-10-29 18:47:50 +0100 <tomsmeding> despite knowing there's code we don't see
2020-10-29 18:48:33 +0100Tario(~Tario@201.192.165.173)
2020-10-29 18:48:34 +0100 <carbolymer> I can't - I would need to retype it from remote desktop; hold on, working on that example
2020-10-29 18:48:53 +0100 <tomsmeding> lol ok no worries
2020-10-29 18:49:06 +0100 <carbolymer> yeah, perks of remote work in financial company
2020-10-29 18:49:31 +0100 <geekosaur> here we go again with the fintech :p
2020-10-29 18:49:33 +0100xwvvvvwx(~xwvvvvwx@185.213.155.160)
2020-10-29 18:50:13 +0100christo(~chris@81.96.113.213)
2020-10-29 18:50:49 +0100 <monsterchrom> <backseat-driver>Just use ssh X forwarding</backseat-driver>
2020-10-29 18:50:58 +0100hackagepolysemy-methodology 0.1.2.1 - Domain modelling algebra for polysemy https://hackage.haskell.org/package/polysemy-methodology-0.1.2.1 (locallycompact)
2020-10-29 18:51:21 +0100tomsmedingexpects at least one of the two platforms involved to run windows
2020-10-29 18:51:57 +0100geekosaurlikewise
2020-10-29 18:53:07 +0100 <monsterchrom> I like to hedge-bet (haha fin again) the fantastically unlikely. I say OS/2 at the company and macOS at home. >:)
2020-10-29 18:53:17 +0100 <monsterchrom> I guess s/say/bet/
2020-10-29 18:54:06 +0100 <tomsmeding> does ghc even run on OS/2
2020-10-29 18:54:10 +0100 <dminuoso> Hey hey, why do people assume that fintech means financial technologies? What do you call companies specializing in making diver fins?
2020-10-29 18:54:14 +0100 <dminuoso> Surely you can use Haskell for that too
2020-10-29 18:54:22 +0100 <monsterchrom> Oh oops hehe
2020-10-29 18:54:38 +0100 <monsterchrom> I don't assume. I googled.
2020-10-29 18:54:49 +0100christo(~chris@81.96.113.213) (Ping timeout: 264 seconds)
2020-10-29 18:54:57 +0100 <carbolymer> ok, my minimal example works fine, I need to wrap it in test spec
2020-10-29 18:55:05 +0100 <geekosaur> should port readily
2020-10-29 18:55:09 +0100 <monsterchrom> Indeed I couldn't for my life figure out what's "fin" in "fintech", never occurred to me it's "finance"
2020-10-29 18:55:17 +0100Deide(~Deide@217.155.19.23)
2020-10-29 18:55:22 +0100 <dminuoso> or maybe its finnish tech!
2020-10-29 18:55:27 +0100 <carbolymer> totally
2020-10-29 18:55:32 +0100 <dminuoso> Finnish company making diver fins.
2020-10-29 18:55:40 +0100 <dminuoso> With Haskell
2020-10-29 18:55:40 +0100 <carbolymer> ...for finance
2020-10-29 18:55:48 +0100tomsmedinglooked it up and found out that indeed ghc does not officially support OS/2
2020-10-29 18:56:04 +0100 <geekosaur> neither does much of anyone else
2020-10-29 18:56:14 +0100 <geekosaur> eCS is still out thre somewhere though
2020-10-29 18:56:30 +0100 <monsterchrom> Even virtualbox doesn't quite support OS/2 guests, relegating to "community effort".
2020-10-29 18:56:44 +0100 <tomsmeding> ... hence the remote desktop
2020-10-29 18:56:58 +0100 <dminuoso> Will GHC run on DOS?
2020-10-29 18:57:06 +0100mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving)
2020-10-29 18:57:12 +0100 <dminuoso> You know, for the true masochists.
2020-10-29 18:57:15 +0100akad_(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 268 seconds)
2020-10-29 18:57:24 +0100fraktor(~walter@129.93.184.38)
2020-10-29 18:57:29 +0100 <geekosaur> I think you rapidly hit a memory problem
2020-10-29 18:58:01 +0100 <tomsmeding> hm, "s390-ibm-linux" is listed as a tier 2 support platform for ghc, but with ? and "No" under GHCi and NCG
2020-10-29 18:58:19 +0100 <fraktor> So I'm attempting to really wrap my head around some Haskell concepts, and I'm running into a couple of questions I don't know how to google. What is an example of a functor that is not applicative, or a functor that is not a monad?
2020-10-29 18:58:25 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
2020-10-29 18:59:32 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-29 18:59:44 +0100 <dolio> data ReadRef a = forall e. RR (IORef e) (e -> a)
2020-10-29 19:00:01 +0100true-asset(~true-asse@185.244.214.217) ()
2020-10-29 19:01:03 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 19:01:16 +0100 <tomsmeding> for example, https://hackage.haskell.org/package/base-4.14.0.0/docs/Control-Exception.html#t:Handler
2020-10-29 19:01:17 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-10-29 19:01:24 +0100 <hekkaidekapus> tomsmeding: petersen (currently offline) is quite dedicated to making GHC build on S390.
2020-10-29 19:01:38 +0100 <monsterchrom> dminuoso: I outdid that inb4. http://www.vex.net/~trebla/haskell/cont.xhtml#yield then scroll down to Exercises, look for exercise 5 "When I was a teenager".
2020-10-29 19:01:48 +0100tomsmedingdoesn't even properly know what S390 is, nor OS/2
2020-10-29 19:02:34 +0100 <hekkaidekapus> tomsmeding: <https://fedoraproject.org/wiki/Architectures/s390x>
2020-10-29 19:03:27 +0100 <monsterchrom> Actually maybe Hugs can run on 16-bit DOS.
2020-10-29 19:04:33 +0100 <tomsmeding> "so the assumption size_t == unsigned int fails here"
2020-10-29 19:04:45 +0100 <tomsmeding> the assumption carried from 32-bit systems, I assume
2020-10-29 19:04:59 +0100bartemius(~bartemius@109.252.20.20) (Remote host closed the connection)
2020-10-29 19:05:17 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 19:05:23 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
2020-10-29 19:05:35 +0100tim(~user@S0106a84e3fe54613.ed.shawcable.net)
2020-10-29 19:05:51 +0100timGuest18399
2020-10-29 19:06:23 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 19:06:23 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 19:06:23 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 19:06:57 +0100 <carbolymer> tomsmeding, dminuoso, shit - I'm unable to reproduce this bug in clean hspec test :s
2020-10-29 19:07:08 +0100gremax(znc@torba.club)
2020-10-29 19:07:13 +0100 <monsterchrom> C compilers for 16-bit DOS are also very likely to satisfy size_t = sizeof(unsigned int) = 16.
2020-10-29 19:07:20 +0100 <tomsmeding> carbolymer: I was kind of fearing that :p
2020-10-29 19:07:20 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-29 19:07:31 +0100teardown(~user@gateway/tor-sasl/mrush)
2020-10-29 19:07:33 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-10-29 19:07:34 +0100 <monsterchrom> err I mean size_t = unsigned int, both 16 bits
2020-10-29 19:07:34 +0100geekosaur(ac3a5745@172.58.87.69) (Ping timeout: 245 seconds)
2020-10-29 19:07:44 +0100tvrsky(~tvrsky@177.20.187.150) (Ping timeout: 268 seconds)
2020-10-29 19:07:45 +0100Guest18399(~user@S0106a84e3fe54613.ed.shawcable.net) (Remote host closed the connection)
2020-10-29 19:07:47 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-29 19:07:58 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-29 19:08:01 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-29 19:08:29 +0100 <tomsmeding> carbolymer: can you print a line to stdout whenever newTVarIO is executed, and whenever that increment code is executed, showing which thread is doing it and what the new value is?
2020-10-29 19:10:14 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-29 19:10:30 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a)
2020-10-29 19:10:48 +0100christo(~chris@81.96.113.213)
2020-10-29 19:11:05 +0100carlomagno(~cararell@148.87.23.9)
2020-10-29 19:11:26 +0100idhugo(~idhugo@eduroam06.au.dk) (Ping timeout: 268 seconds)
2020-10-29 19:11:44 +0100mbomba(~mbomba@142.114.9.241) (Ping timeout: 240 seconds)
2020-10-29 19:11:55 +0100 <dminuoso> carbolymer: run a grep for unsafePerformIO through your code base..
2020-10-29 19:12:12 +0100 <hekkaidekapus> tomsmeding: For a recent example, see the ‘Archives’ section at <https://koji.fedoraproject.org/koji/buildinfo?buildID=1620850>.
2020-10-29 19:12:26 +0100 <dminuoso> If STM is giving you race conditions, chances are you've sneaked unsafePerformIO or equivalent in.
2020-10-29 19:12:39 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-10-29 19:12:50 +0100tput(~user@S0106a84e3fe54613.ed.shawcable.net)
2020-10-29 19:13:11 +0100 <tomsmeding> super fancy hekkaidekapus
2020-10-29 19:13:39 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-29 19:14:27 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-29 19:14:32 +0100 <hekkaidekapus> S390X is an IBM thing and petersen is a RedHat employee, so not really fancy :)
2020-10-29 19:14:39 +0100 <carbolymer> dminuoso, but how would it help? I'm just running it on isolated test case in hspec test - there's not much going on there
2020-10-29 19:14:53 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 19:15:08 +0100christo(~chris@81.96.113.213)
2020-10-29 19:16:06 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 19:16:29 +0100tputtimput
2020-10-29 19:16:47 +0100chaosmasttter(~chaosmast@p200300c4a70a4101c1be00781dba031a.dip0.t-ipconnect.de)
2020-10-29 19:17:10 +0100timputtput
2020-10-29 19:17:23 +0100Saukk(~Saukk@2001:998:f9:2914:1fa4:7678:3395:bc0)
2020-10-29 19:17:49 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 19:18:01 +0100conal(~conal@64.71.133.70)
2020-10-29 19:19:24 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a) (Ping timeout: 240 seconds)
2020-10-29 19:19:31 +0100 <carbolymer> tomsmeding, I've found a workaround, added a random delay (1ms;5ms) before each async
2020-10-29 19:19:37 +0100 <carbolymer> damn memory visibility!
2020-10-29 19:20:01 +0100 <tomsmeding> ... what architecture are you running that on, and how far are these threads apart
2020-10-29 19:20:05 +0100 <tomsmeding> physically
2020-10-29 19:20:27 +0100tomsmedingis back in an hour or so
2020-10-29 19:20:38 +0100tput(~user@S0106a84e3fe54613.ed.shawcable.net) (Quit: ERC (IRC client for Emacs 27.1))
2020-10-29 19:20:59 +0100 <carbolymer> x86_64 inside VM, windows 10 Enterprise is host
2020-10-29 19:21:02 +0100tput(~tput@S0106a84e3fe54613.ed.shawcable.net)
2020-10-29 19:21:13 +0100 <carbolymer> physically? idk
2020-10-29 19:21:43 +0100lugosi1(~lugosi@154.13.1.56)
2020-10-29 19:22:44 +0100avdb(~avdb@ip-62-235-189-214.dsl.scarlet.be) (Read error: Connection reset by peer)
2020-10-29 19:24:48 +0100LKoen(~LKoen@81.255.219.130)
2020-10-29 19:25:04 +0100geekosaur(ac3a5745@172.58.87.69)
2020-10-29 19:26:03 +0100kritzefitz_(~kritzefit@212.86.56.80) (Ping timeout: 260 seconds)
2020-10-29 19:28:50 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be) (Ping timeout: 264 seconds)
2020-10-29 19:29:48 +0100akad_(~akad@109107030050.radomsko.vectranet.pl)
2020-10-29 19:30:49 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2020-10-29 19:30:56 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-10-29 19:31:10 +0100mbomba(~mbomba@142.114.9.241)
2020-10-29 19:33:40 +0100ransom(~c4264035@c-73-243-2-10.hsd1.co.comcast.net)
2020-10-29 19:35:26 +0100justan0theruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds)
2020-10-29 19:35:35 +0100christo(~chris@81.96.113.213)
2020-10-29 19:36:11 +0100mastarija(~mastarija@93-138-85-169.adsl.net.t-com.hr)
2020-10-29 19:36:22 +0100fraktor(~walter@129.93.184.38) (Quit: WeeChat 2.8)
2020-10-29 19:36:59 +0100 <mastarija> I'm using GHC 8.8.something and I can't expand type alias, I thought this was possible with :kind! command, but it just prints back the same type alias I give it.
2020-10-29 19:37:12 +0100 <mastarija> Is this an error or am I doing something wrong?
2020-10-29 19:37:31 +0100 <mastarija> *bug, not error
2020-10-29 19:37:36 +0100 <geekosaur> known issue, I think
2020-10-29 19:37:43 +0100 <mastarija> damn
2020-10-29 19:37:55 +0100 <mastarija> Any workaround?
2020-10-29 19:38:07 +0100 <geekosaur> with no fix because there are too many arguments about what it should be doing and how
2020-10-29 19:38:12 +0100hiroaki(~hiroaki@2a02:908:4b18:e20::8d72)
2020-10-29 19:38:32 +0100 <Uniaika> mastarija: you can do it with :info actually
2020-10-29 19:39:17 +0100 <mastarija> Uniaika, oh... that's nice
2020-10-29 19:39:24 +0100 <mastarija> Uniaika, thanx!
2020-10-29 19:39:38 +0100 <Uniaika> you're welcome :)
2020-10-29 19:40:20 +0100 <mastarija> Uniaika, oh.. but it doesn't really work I've noticed
2020-10-29 19:40:32 +0100 <mastarija> When I have a type argument it doesn't work
2020-10-29 19:40:46 +0100 <mastarija> Or rather, it doesn't show evaluated type with type argument applied
2020-10-29 19:41:53 +0100 <mastarija> Uniaika, if I do this :info! ( List' Int ) it says parse error, and if I remove parentheses it just lists info for List' and Int separately
2020-10-29 19:42:40 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-29 19:42:40 +0100tvrsky(~tvrsky@177.20.187.150)
2020-10-29 19:42:56 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 19:43:02 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 19:43:28 +0100 <Uniaika> ah yeah, I've only tried on a `type Foo = Int` alias
2020-10-29 19:44:31 +0100christo(~chris@81.96.113.213)
2020-10-29 19:44:37 +0100 <Uniaika> if geekosaur can tell you where the discussion is happening regarding what :kind! is supposed to do, maybe could you chime in and plead in favour of a dedicated ghci command?
2020-10-29 19:45:11 +0100 <geekosaur> I'm looking...
2020-10-29 19:46:38 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 19:47:31 +0100christo(~chris@81.96.113.213)
2020-10-29 19:48:26 +0100alp_(~alp@2a01:e0a:58b:4920:9819:e541:8055:66cf)
2020-10-29 19:50:03 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
2020-10-29 19:51:37 +0100 <geekosaur> bah, can't search for ":kind!" sanely
2020-10-29 19:51:46 +0100 <geekosaur> only 1000+ pages to scan through
2020-10-29 19:51:59 +0100teardown(~user@gateway/tor-sasl/mrush)
2020-10-29 19:53:05 +0100acidjnk_new2(~acidjnk@p200300d0c72260337583e474f5800943.dip0.t-ipconnect.de)
2020-10-29 19:54:37 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-29 19:56:18 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-29 19:56:28 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 19:56:28 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 19:56:28 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 19:56:37 +0100 <tomsmeding> https://github.com/ghc-proposals/ghc-proposals/pull/79
2020-10-29 19:57:02 +0100 <tomsmeding> typing 'ghc kind' in my browser address bad pulled it up very quickly, I've been annoyed by this in the past too :p
2020-10-29 19:57:07 +0100 <tomsmeding> *address bar
2020-10-29 19:57:44 +0100Saukk(~Saukk@2001:998:f9:2914:1fa4:7678:3395:bc0) (Remote host closed the connection)
2020-10-29 19:58:53 +0100 <geekosaur> that's a proposal spun off the bug, unless it links the bug too?
2020-10-29 20:00:08 +0100 <geekosaur> there's a bug discussing why the type alias expansion stuff was removed, iirc it interfered with expanding type families
2020-10-29 20:01:10 +0100 <geekosaur> https://gitlab.haskell.org/ghc/ghc/-/issues/13795
2020-10-29 20:01:26 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-29 20:02:04 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 20:02:16 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 20:02:52 +0100christo(~chris@81.96.113.213)
2020-10-29 20:02:54 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-10-29 20:03:37 +0100berberman_(~berberman@unaffiliated/berberman)
2020-10-29 20:04:28 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds)
2020-10-29 20:04:55 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-29 20:05:44 +0100Kaivo(~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) (Ping timeout: 240 seconds)
2020-10-29 20:07:28 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-10-29 20:08:10 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-10-29 20:08:22 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com)
2020-10-29 20:08:29 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 20:08:45 +0100christo(~chris@81.96.113.213)
2020-10-29 20:09:45 +0100geekosaur(ac3a5745@172.58.87.69) (Remote host closed the connection)
2020-10-29 20:10:29 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 20:10:47 +0100invaser(~Thunderbi@31.148.23.125)
2020-10-29 20:10:57 +0100geekosaur(ac3a5469@172.58.84.105)
2020-10-29 20:11:03 +0100christo(~chris@81.96.113.213)
2020-10-29 20:12:21 +0100mokulus(~mat@176.111.230.96)
2020-10-29 20:12:31 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 20:13:52 +0100texasmynsted(~texasmyns@104.140.52.75)
2020-10-29 20:15:25 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 20:15:41 +0100christo(~chris@81.96.113.213)
2020-10-29 20:16:12 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-29 20:16:43 +0100tomsmeding(~tomsmedin@tomsmeding.com) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-29 20:17:03 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 20:17:22 +0100fandi_(~fandi@125.160.217.204)
2020-10-29 20:17:47 +0100tomsmeding(~tomsmedin@tomsmeding.com)
2020-10-29 20:19:53 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 20:20:00 +0100jedws(~jedws@101.184.193.144) (Ping timeout: 256 seconds)
2020-10-29 20:20:18 +0100u0_a298(~user@47.206.148.226)
2020-10-29 20:20:18 +0100hackage(mniip@haskell/bot/hackage) (Remote host closed the connection)
2020-10-29 20:20:32 +0100fandi(~fandi@118.97.77.114) (Ping timeout: 272 seconds)
2020-10-29 20:20:44 +0100 <texasmynsted> I am sure there is a structure like this.... I have something that forms a Monad and a Functor. I want to apply a function to it if it satisfies some predicate.
2020-10-29 20:20:55 +0100hackage(mniip@haskell/bot/hackage)
2020-10-29 20:21:03 +0100motherfsck(~motherfsc@unaffiliated/motherfsck) (Quit: quit)
2020-10-29 20:21:42 +0100orcus-(~orcus@unaffiliated/orcus) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-29 20:21:49 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 20:21:49 +0100GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 20:21:49 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 20:22:14 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds)
2020-10-29 20:22:24 +0100jedws(~jedws@101.184.150.81)
2020-10-29 20:22:29 +0100orcus(~orcus@unaffiliated/orcus)
2020-10-29 20:22:35 +0100lambdabot(~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
2020-10-29 20:22:44 +0100 <texasmynsted> I could do this with guards, or with an if/else, or ... hmm. I wonder if there is something in Arrow.
2020-10-29 20:22:45 +0100Rudd0(~Rudd0@185.189.115.98) (Ping timeout: 240 seconds)
2020-10-29 20:23:11 +0100lambdabot(~lambdabot@haskell/bot/lambdabot)
2020-10-29 20:23:59 +0100christo(~chris@81.96.113.213)
2020-10-29 20:25:30 +0100 <tomsmeding> @t ifM (> 0) succ
2020-10-29 20:25:38 +0100 <lambdabot> Maybe you meant: tell thank you thanks thesaurus thx tic-tac-toe ticker time todo todo-add todo-delete type v @ ? .
2020-10-29 20:25:42 +0100 <tomsmeding> % :t ifM (> 0) succ
2020-10-29 20:25:42 +0100 <yahb> tomsmeding: ; <interactive>:1:1: error: Variable not in scope: ifM :: (a0 -> Bool) -> (a1 -> a1) -> t
2020-10-29 20:25:53 +0100 <koz_> texasmynsted: Try writing the type of such a thing.
2020-10-29 20:25:57 +0100LKoen(~LKoen@81.255.219.130) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-10-29 20:26:02 +0100conal(~conal@64.71.133.70)
2020-10-29 20:26:06 +0100 <tomsmeding> % :t let ifM p x y = p >>= \b -> if b then x else y in ifM (> 0) succ
2020-10-29 20:26:07 +0100 <yahb> tomsmeding: (Ord a, Num a, Enum a) => (a -> a) -> a -> a
2020-10-29 20:26:19 +0100 <tomsmeding> where ifM is the obvious thing, in various libraries
2020-10-29 20:26:22 +0100 <koz_> Is your goal something like watIWant :: (Monad m) => (a -> b) -> (a -> Bool) -> m a -> m a
2020-10-29 20:26:29 +0100fandi__(~fandi@118.97.77.114)
2020-10-29 20:26:34 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 20:26:37 +0100 <koz_> Sorry, slight error.
2020-10-29 20:26:41 +0100 <koz_> Is your goal something like watIWant :: (Monad m) => (a -> a) -> (a -> Bool) -> m a -> m a
2020-10-29 20:26:57 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-10-29 20:26:57 +0100 <koz_> (Monad implies Functor, so no need to have that there)
2020-10-29 20:27:04 +0100kish(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-10-29 20:27:17 +0100christo(~chris@81.96.113.213)
2020-10-29 20:27:18 +0100texasmynstedlooking up ifM
2020-10-29 20:27:52 +0100 <tomsmeding> texasmynsted: (probably want to write it yourself if you don't already include a library that has it)
2020-10-29 20:28:40 +0100nineonine(~textual@216.81.48.202) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 20:29:06 +0100 <tomsmeding> this uses the trick that ((->) a) is a monad :p
2020-10-29 20:29:11 +0100 <tomsmeding> which is not for the faint of heart
2020-10-29 20:29:14 +0100 <texasmynsted> Okay. Fair enough.
2020-10-29 20:29:24 +0100fandi_(~fandi@125.160.217.204) (Ping timeout: 272 seconds)
2020-10-29 20:29:51 +0100nineonine(~textual@216.81.48.202)
2020-10-29 20:30:06 +0100conal(~conal@64.71.133.70)
2020-10-29 20:30:14 +0100 <dminuoso> Rewriting almost half of a 2k lines code generator in one day.
2020-10-29 20:30:28 +0100 <dminuoso> The type system has my back once again. :)
2020-10-29 20:30:30 +0100 <koz_> dminuoso: #JustHaskellThings ?
2020-10-29 20:30:51 +0100 <dminuoso> koz_: Hehe yeah.
2020-10-29 20:31:25 +0100 <koz_> Meanwhile I'm in a special kind of parsing hell.
2020-10-29 20:31:25 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-29 20:31:29 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 20:31:41 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-29 20:31:43 +0100 <dminuoso> Haha, my parser is one big blop of adhoc stateful shenanigans.
2020-10-29 20:31:53 +0100 <dminuoso> megaparsec over State
2020-10-29 20:31:54 +0100 <koz_> dminuoso: FUNNY YOU SHOULD MENTION THAT
2020-10-29 20:31:56 +0100britva(~britva@2a02:aa13:7240:2980:1ce4:625f:f093:45ef)
2020-10-29 20:32:13 +0100conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2020-10-29 20:32:13 +0100 <davean> dminuoso: over state, interesting.
2020-10-29 20:32:24 +0100jess-o-lanternsandcat
2020-10-29 20:32:37 +0100 <koz_> So you're in like StateT s Parser?
2020-10-29 20:32:56 +0100 <dminuoso> type Parser = ParsecT Void String (S.State ParserState)
2020-10-29 20:33:06 +0100 <koz_> Ah, OK, the other way around.
2020-10-29 20:34:52 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-29 20:35:22 +0100 <dminuoso> davean: Yeah. Lets you do context-sensitive things easily, or do some adhoc hacks.
2020-10-29 20:35:37 +0100dopplergange(~dop@titan.pathogen.is) (Ping timeout: 246 seconds)
2020-10-29 20:35:48 +0100conal(~conal@64.71.133.70)
2020-10-29 20:35:52 +0100 <dminuoso> Im doing so I can build up a data structure as Im parsing, avoiding the need to build into some kind of DSL + extra evalutaor
2020-10-29 20:36:26 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-29 20:36:40 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-10-29 20:36:57 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 20:37:14 +0100mastarija(~mastarija@93-138-85-169.adsl.net.t-com.hr) (Ping timeout: 264 seconds)
2020-10-29 20:37:24 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds)
2020-10-29 20:37:43 +0100conal(~conal@64.71.133.70)
2020-10-29 20:43:55 +0100u0_a298(~user@47.206.148.226) (Remote host closed the connection)
2020-10-29 20:44:16 +0100u0_a298(~user@47.206.148.226)
2020-10-29 20:45:21 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-10-29 20:46:38 +0100avdb(~avdb@ip-62-235-189-214.dsl.scarlet.be)
2020-10-29 20:47:44 +0100 <avdb> Sorry if this question already got asked a million times, but I'm looking for a vim plugin that offers only syntax highlighting? Error correction and stuff is really disturbing to me.
2020-10-29 20:48:07 +0100ransom(~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 20:48:37 +0100 <avdb> Currently using VSCode only with the "Haskell Syntax Higlighting" plugin.
2020-10-29 20:49:05 +0100 <dminuoso> neovim/haskell-vim ?
2020-10-29 20:49:15 +0100 <dminuoso> err
2020-10-29 20:49:18 +0100 <dminuoso> neovimhaskell/haskell-vim ?
2020-10-29 20:49:25 +0100 <maerwald> yes
2020-10-29 20:49:26 +0100nschoe(~quassel@2a01:e0a:3c4:c7b0:c945:6e87:b509:d89a)
2020-10-29 20:49:28 +0100 <maerwald> neovimhaskell/haskell-vim
2020-10-29 20:49:48 +0100 <maerwald> make sure to set g:haskell_indent_disable = 1
2020-10-29 20:49:58 +0100nineonine(~textual@216.81.48.202) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 20:50:03 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
2020-10-29 20:50:56 +0100 <koz_> How would I spell 'given parser p, try it, giving Nothing if it fails, and Just its result otherwise, eat whatever input remains either way' in attoparsec?
2020-10-29 20:51:24 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-10-29 20:51:36 +0100 <maerwald> this sounds like a good exercise for monsterchrom's students
2020-10-29 20:51:39 +0100 <dminuoso> % :t optional -- koz_
2020-10-29 20:51:39 +0100 <yahb> dminuoso: Alternative f => f a -> f (Maybe a)
2020-10-29 20:52:08 +0100bartemius(~bartemius@109-252-20-20.nat.spd-mgts.ru)
2020-10-29 20:52:09 +0100 <dminuoso> Dunno about attoparsec, you might have to disable backtracking
2020-10-29 20:52:17 +0100 <koz_> dminuoso: That's why I'm asking.
2020-10-29 20:52:28 +0100 <avdb> dminuoso: Is it also available for basic vim? Neo got too much features that I don't need.
2020-10-29 20:52:35 +0100 <maerwald> avdb: yes
2020-10-29 20:53:03 +0100 <maerwald> yes, neovim is "agile"
2020-10-29 20:53:08 +0100 <avdb> Ah okay, thanks. Currently checking the github page.
2020-10-29 20:53:30 +0100 <maerwald> I think ppl wrote better software before git
2020-10-29 20:53:38 +0100 <koz_> I guess I could use count with a count of 1.
2020-10-29 20:53:50 +0100 <maerwald> there was a time when a bad release was embarrassing
2020-10-29 20:53:54 +0100 <maerwald> now with git, no one cares
2020-10-29 20:54:10 +0100hackageaddy 0.1.0.1 - A full-featured library for parsing, validating, and rendering email addresses https://hackage.haskell.org/package/addy-0.1.0.1 (PeterJones)
2020-10-29 20:54:30 +0100jakob_(~textual@p200300f49f16220061022725fbc9d567.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
2020-10-29 20:54:51 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-10-29 20:54:53 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-10-29 20:54:57 +0100 <dminuoso> koz_: It seems you cant disable backtracking on attoparsec mmm
2020-10-29 20:55:03 +0100 <ibloom> Is there a good reason why Data.Vector and Data.Vector.Storable are different libraries and different types?
2020-10-29 20:55:03 +0100 <avdb> maerwald: Do you mean it's better? To be honest I never checked the differences until now.
2020-10-29 20:55:08 +0100 <koz_> Count with a count of 1 works well enough for me.
2020-10-29 20:55:17 +0100 <avdb> I used neovim at first but for some reason I reverted back to classic vim.
2020-10-29 20:55:27 +0100 <maerwald> avdb: no idea. It's broken on my keyboard layout, so I can't reasonably use neovim
2020-10-29 20:55:29 +0100 <koz_> ibloom: Yes. Vector can store anything, Vector.Storable can only store... well, Storable instances.
2020-10-29 20:55:47 +0100 <koz_> They're represented differently too - in particular, Storable Vectors are designed for passing to FFI.
2020-10-29 20:55:50 +0100alp_(~alp@2a01:e0a:58b:4920:9819:e541:8055:66cf) (Ping timeout: 264 seconds)
2020-10-29 20:56:04 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-29 20:56:05 +0100 <maerwald> also, GUIs are a mess in neovim
2020-10-29 20:56:19 +0100jakob_(~textual@p200300f49f1622004116af098f243cdf.dip0.t-ipconnect.de)
2020-10-29 20:56:40 +0100 <maerwald> too many, but none complete
2020-10-29 20:56:46 +0100 <maerwald> agile
2020-10-29 20:56:48 +0100 <dolio> Vim comes with Haskell highlighting.
2020-10-29 20:56:54 +0100 <dolio> As does neovim, I think.
2020-10-29 20:57:11 +0100 <ibloom> Is there a way to go between the two types of vectors at zero expense?
2020-10-29 20:57:22 +0100 <davean> ibloom: what two types?
2020-10-29 20:57:49 +0100 <koz_> ibloom: Also, what are you trying to do that requires this?
2020-10-29 20:58:19 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-10-29 20:58:23 +0100 <ibloom> I have regular vectors that I'm freezing from Data.Vector.Mutable and Data.Vector.Storable that come from JuicyPixels
2020-10-29 20:58:27 +0100 <maerwald> avdb: also, Twinside/vim-hoogle is useful
2020-10-29 20:59:40 +0100 <koz_> Is there a reason you can't just work with Storable all the time?
2020-10-29 20:59:46 +0100 <koz_> Storable has mutable versions too.
2020-10-29 21:00:06 +0100 <maerwald> I also use luochen1990/rainbow for haskell. First installed it for clojure some time ago, but it's nice here too
2020-10-29 21:00:11 +0100 <avdb> maerwald: I'm not there yet, I still have a hard time understanding Hoogle but still not as bad as cppreference.
2020-10-29 21:00:44 +0100 <ibloom> Yeah the mutable version of storable is implemented very differently... perhaps I'm missing something.
2020-10-29 21:01:36 +0100 <davean> Ok, vectors from the 'vector' package, thats a good place to start.
2020-10-29 21:02:09 +0100 <koz_> ibloom: What do you mean?
2020-10-29 21:02:13 +0100 <davean> ibloom: what do you mean "implimented very differently"?
2020-10-29 21:02:19 +0100 <koz_> It's the same as mutable vectors for any other variety basically.
2020-10-29 21:02:25 +0100 <maerwald> avdb: https://tinyurl.com/yxhxn7m3 my plugin config
2020-10-29 21:03:12 +0100 <ibloom> davean: Data.Vector.Mutable is based on read and write for example. Maybe I need to read more.
2020-10-29 21:03:26 +0100 <koz_> ibloom: What do you mean by 'read more'?
2020-10-29 21:03:37 +0100rdivacky(~rdivacky@212.96.173.4) (Read error: Connection reset by peer)
2020-10-29 21:03:38 +0100 <ibloom> I mean I need to read more of the docs.
2020-10-29 21:03:54 +0100rdivacky(~rdivacky@212.96.173.4)
2020-10-29 21:03:58 +0100 <koz_> ibloom: Are you unclear how to move between mutable and immutable vectors, perhaps?
2020-10-29 21:03:59 +0100 <davean> ibloom: thats not the mutable storable, but if you can't read and write its not mutable - thats what being mutable is
2020-10-29 21:04:41 +0100 <davean> ibloom: if you don
2020-10-29 21:04:46 +0100 <dolio> Well, the write part.
2020-10-29 21:04:47 +0100 <davean> t want read and write you don't want mutable vectors
2020-10-29 21:05:02 +0100 <davean> dolio: well no, read because mutable ones have a semantic difference in that they're ordered
2020-10-29 21:05:42 +0100 <ibloom> No no, all of that code is written already, I just have images I'm generating by writing to mutable vectors and others that I'm loading from JuicyPixels and the only way I can find to combine them was to go to and from a list.
2020-10-29 21:06:02 +0100_vaibhavingale_(~Adium@203.188.228.9) (Quit: Leaving.)
2020-10-29 21:06:22 +0100 <davean> freeze?
2020-10-29 21:07:02 +0100 <ibloom> If I freeze from Data.Vector.Mutable MVector I get a Data.Vector vector. I need a Data.Vector.Storable vector.
2020-10-29 21:07:42 +0100 <davean> Right so use the storable version ...
2020-10-29 21:07:55 +0100fandi_(~fandi@125.160.217.204)
2020-10-29 21:08:07 +0100 <davean> If you want storable, use storable?
2020-10-29 21:08:41 +0100 <ibloom> Right, that means I need to rewrite all my mutable code, because the libraries are actually very different as far as I can tell.
2020-10-29 21:08:46 +0100 <davean> You're code doesn't have to care which it is, use Data.Vector.Generic(.Mutable)
2020-10-29 21:08:51 +0100 <davean> no, it doesn't
2020-10-29 21:09:16 +0100 <koz_> ibloom: Not really, no. The APIs of all the mutable vector types are almost exact matches.
2020-10-29 21:09:20 +0100 <davean> I'm so confused how you're not hearing what is being said
2020-10-29 21:09:42 +0100 <koz_> The only difference is that your data has to be Storable to be put in a mutable Storable vector. Is that the issue here?
2020-10-29 21:10:04 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-29 21:10:11 +0100 <ibloom> I think I wasn't using the Generic version. Instead I've got an old library.
2020-10-29 21:10:24 +0100 <davean> old? How old are we talking ... thats not new
2020-10-29 21:10:43 +0100 <geekosaur> pretty sure they've always had nearly identical APIs
2020-10-29 21:10:50 +0100fandi__(~fandi@118.97.77.114) (Ping timeout: 264 seconds)
2020-10-29 21:11:14 +0100 <geekosaur> unless we're talking some JuicyPixels thing
2020-10-29 21:11:36 +0100 <davean> geekosaur: Data.Vector.Generic.* got added in 2009
2020-10-29 21:11:46 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 21:11:46 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 21:11:46 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 21:11:56 +0100 <ibloom> I've been importing Data.Vector.Mutable instead of Data.Vector.Generic.Mutable
2020-10-29 21:12:18 +0100avdb(~avdb@ip-62-235-189-214.dsl.scarlet.be) (Ping timeout: 268 seconds)
2020-10-29 21:12:19 +0100 <ibloom> I'll try that and let you know how it goes.
2020-10-29 21:12:28 +0100conal_(~conal@66.115.157.138)
2020-10-29 21:12:35 +0100conal_(~conal@66.115.157.138) (Client Quit)
2020-10-29 21:12:38 +0100conal(~conal@64.71.133.70) (Ping timeout: 264 seconds)
2020-10-29 21:12:38 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds)
2020-10-29 21:13:13 +0100conal(~conal@66.115.157.138)
2020-10-29 21:13:22 +0100conal(~conal@66.115.157.138) (Client Quit)
2020-10-29 21:13:34 +0100fandi__(~fandi@118.97.77.114)
2020-10-29 21:14:48 +0100 <ibloom> I see , it looks like I'm actually using STVectors. Sorry, I've been wiring up some old code I hadn't touched in a while.
2020-10-29 21:14:50 +0100conal(~conal@66.115.157.138)
2020-10-29 21:14:58 +0100conal(~conal@66.115.157.138) (Client Quit)
2020-10-29 21:15:18 +0100tvrsky(~tvrsky@177.20.187.150) (Quit: Leaving)
2020-10-29 21:15:26 +0100nineonine(~textual@216.81.48.202)
2020-10-29 21:15:56 +0100 <koz_> STVector is just a mutable vector specialized to ST.
2020-10-29 21:16:37 +0100fandi_(~fandi@125.160.217.204) (Ping timeout: 268 seconds)
2020-10-29 21:19:05 +0100ransom(~c4264035@2603:300b:1301:3d00:1050:d45f:fca2:b267)
2020-10-29 21:19:12 +0100scasc(~szabi@213142096120.public.telering.at)
2020-10-29 21:19:15 +0100jakob_(~textual@p200300f49f1622004116af098f243cdf.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
2020-10-29 21:19:52 +0100 <scasc> Just a quick question:
2020-10-29 21:20:00 +0100kish(~oracle@unaffiliated/oracle)
2020-10-29 21:20:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-29 21:20:22 +0100dminuosopatiently waits for the question
2020-10-29 21:20:34 +0100dminuososcribbles down potential answers
2020-10-29 21:20:38 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-29 21:20:45 +0100dminuosoreadies the ScopedTypeVariable answer
2020-10-29 21:20:46 +0100 <scasc> I seem to remember that some recent GHC dropped 32-bit architecture (i386) support, and only supports x86_64 now
2020-10-29 21:21:02 +0100 <scasc> is that right, or do I misremember?
2020-10-29 21:21:21 +0100 <maerwald> I don't remember that
2020-10-29 21:21:57 +0100kuribas(~user@ptr-25vy0i9qqlftcl4jjst.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2020-10-29 21:22:12 +0100 <geekosaur> there was discussion of that for windows, I think?
2020-10-29 21:22:12 +0100 <maerwald> even 9.0.1-alpha1 has 32bit
2020-10-29 21:22:13 +0100 <dminuoso> https://www.haskell.org/ghc/download_ghc_8_10_1.html#linux_i386
2020-10-29 21:22:18 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d1d4:d989:c09d:31fa) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 21:22:21 +0100 <dminuoso> scasc: We ship i386 builds.
2020-10-29 21:22:41 +0100hackagezxcvbn-hs 0.3.0.0 - Password strength estimation based on zxcvbn. https://hackage.haskell.org/package/zxcvbn-hs-0.3.0.0 (PeterJones)
2020-10-29 21:23:18 +0100takuan_dozo(~takuan@178-116-218-225.access.telenet.be)
2020-10-29 21:24:02 +0100ransom(~c4264035@2603:300b:1301:3d00:1050:d45f:fca2:b267) (Ping timeout: 264 seconds)
2020-10-29 21:24:13 +0100machinedgod(~machinedg@24.105.81.50)
2020-10-29 21:25:41 +0100 <scasc> Thanks. I was quite unsure, that's why I wanted to double check.
2020-10-29 21:26:16 +0100 <scasc> Didn't find an authoritative source, but of course, I could have checked the distribution packages provided.
2020-10-29 21:27:02 +0100toorevitimirp(~tooreviti@117.182.180.36) (Ping timeout: 264 seconds)
2020-10-29 21:27:51 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 21:28:40 +0100christo(~chris@81.96.113.213)
2020-10-29 21:30:06 +0100alp_(~alp@2a01:e0a:58b:4920:3ce6:ebe8:a4f7:2753)
2020-10-29 21:30:08 +0100 <geekosaur> so fwiw there is no i386 download for windows in 8.8.4
2020-10-29 21:30:20 +0100 <geekosaur> only x86_64
2020-10-29 21:32:15 +0100macrover(~macrover@ip70-189-231-35.lv.lv.cox.net)
2020-10-29 21:33:12 +0100conal(~conal@66.115.157.138)
2020-10-29 21:34:58 +0100 <scasc> I really thought that there was at least a discussion about generally dropping 32-bit support in general? Like I seem to remember that it was brought up that the last 32-bit only Intel processor was a Core Duo, introduced January 2006 (so, 15 years in some months).
2020-10-29 21:35:27 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 21:35:28 +0100 <scasc> The discussion might have related a different language/compiler though. I'm really hazy.
2020-10-29 21:36:13 +0100geekosaur(ac3a5469@172.58.84.105) (Remote host closed the connection)
2020-10-29 21:39:12 +0100jakob_(~textual@p200300f49f1622004c183b797cf64844.dip0.t-ipconnect.de)
2020-10-29 21:40:01 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-29 21:40:36 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-10-29 21:41:34 +0100Franciman(~francesco@host-82-54-10-114.retail.telecomitalia.it)
2020-10-29 21:41:54 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 268 seconds)
2020-10-29 21:42:16 +0100aarvar(~foewfoiew@50.35.43.33)
2020-10-29 21:44:25 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 21:44:51 +0100u0_a298(~user@47.206.148.226)
2020-10-29 21:47:07 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 21:47:31 +0100u0_a298(~user@47.206.148.226)
2020-10-29 21:48:24 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 21:48:35 +0100 <hekkaidekapus> scasc: <https://old.reddit.com/r/haskell/comments/hrytns/announce_ghc_884_now_available/fy7qki5>
2020-10-29 21:48:58 +0100christo(~chris@81.96.113.213)
2020-10-29 21:49:12 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 272 seconds)
2020-10-29 21:49:45 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-29 21:50:01 +0100christo(~chris@81.96.113.213)
2020-10-29 21:50:36 +0100 <scasc> @hekkaidekapus: yes! That was it!
2020-10-29 21:50:37 +0100 <lambdabot> Unknown command, try @list
2020-10-29 21:51:13 +0100 <scasc> And it ben gamari only talked about 32-bit *Windows*.
2020-10-29 21:51:15 +0100conal(~conal@66.115.157.138) (Quit: Computer has gone to sleep.)
2020-10-29 21:51:27 +0100 <hekkaidekapus> So, see what geekosaur said above: it’s only about Windows.
2020-10-29 21:53:28 +0100 <scasc> (if that step is concluded, then only linux would remain as a Tier 1 x86 patform, as MacOS is already only supported on x86_64)
2020-10-29 21:53:29 +0100 <scasc> https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms#tier-1-platforms
2020-10-29 21:55:31 +0100benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60)
2020-10-29 21:55:31 +0100u0_a298(~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-29 21:55:47 +0100avoandmayo(~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-29 21:55:58 +0100u0_a298(~user@47.206.148.226)
2020-10-29 21:56:06 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035)
2020-10-29 21:56:20 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-10-29 21:56:52 +0100 <merijn> That's because on 32bit windows there's a whole bunch of trickiness with the linker, iirc
2020-10-29 21:57:32 +0100 <hekkaidekapus> scasc: I don’t know about the update frequency of GHC/Wiki, but if you want to be sure, choose a version and check its download page, say <https://downloads.haskell.org/~ghc/8.10.2>.
2020-10-29 21:58:14 +0100 <hekkaidekapus> merijn: That, and all the issues linked to in the Reddit post.
2020-10-29 21:59:25 +0100 <scasc> Hm, i386 only for deb9, not for deb10 or the other linux distros.
2020-10-29 21:59:49 +0100rprije(~rprije@194-193-168-77.tpgi.com.au)
2020-10-29 22:00:02 +0100lugosi1(~lugosi@154.13.1.56) ()
2020-10-29 22:01:29 +0100 <hekkaidekapus> The deb9/deb10 is only an indication of the expected ABI. It does not mean the bindist could not work on other distros.
2020-10-29 22:01:46 +0100 <merijn> Yeah
2020-10-29 22:03:54 +0100 <hekkaidekapus> scasc: If unsure, use ghcup. It ships with heuristics to choose a bindist best suited to your distro.
2020-10-29 22:04:06 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 22:04:23 +0100 <maerwald> probably not many i386 users though
2020-10-29 22:04:45 +0100 <hekkaidekapus> Aye.
2020-10-29 22:05:43 +0100jakob_(~textual@p200300f49f1622004c183b797cf64844.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
2020-10-29 22:06:04 +0100texasmynsted(~texasmyns@104.140.52.75) (Remote host closed the connection)
2020-10-29 22:06:38 +0100alp_(~alp@2a01:e0a:58b:4920:3ce6:ebe8:a4f7:2753) (Ping timeout: 264 seconds)
2020-10-29 22:06:59 +0100texasmynsted(~texasmyns@104.140.52.75)
2020-10-29 22:08:31 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-29 22:13:14 +0100dopplergange(~dop@195.158.249.53)
2020-10-29 22:13:21 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-10-29 22:14:15 +0100 <scasc> Exploratorily: would dropping x86 (32bit) architecture support in general (for all OSes) open up the way to simplify the GHC codebase or build toolchain?
2020-10-29 22:15:00 +0100chaosmasttter(~chaosmast@p200300c4a70a4101c1be00781dba031a.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-10-29 22:15:03 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Quit: Lost terminal)
2020-10-29 22:15:31 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2020-10-29 22:16:09 +0100hackagemysql 0.1.7.2 - A low-level MySQL client library. https://hackage.haskell.org/package/mysql-0.1.7.2 (paulrouse)
2020-10-29 22:17:11 +0100conal(~conal@66.115.157.138)
2020-10-29 22:17:40 +0100u0_a298(~user@47.206.148.226) (Ping timeout: 268 seconds)
2020-10-29 22:18:01 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-29 22:18:03 +0100conal(~conal@66.115.157.138) (Client Quit)
2020-10-29 22:18:48 +0100mbomba(~mbomba@142.114.9.241) (Quit: WeeChat 2.9)
2020-10-29 22:20:23 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-10-29 22:20:36 +0100 <monsterchrom> It would.
2020-10-29 22:20:43 +0100hekkaidekapus_hekkaidekapus
2020-10-29 22:21:20 +0100 <monsterchrom> But be careful with your measure of "simplify".
2020-10-29 22:21:33 +0100jakob_(~textual@p200300f49f16220085510f3c3976c42b.dip0.t-ipconnect.de)
2020-10-29 22:22:11 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
2020-10-29 22:22:33 +0100 <hekkaidekapus> scasc: x86 is not a bottleneck in that regard, IMO. You can make an informed opinion by exploring these labels: <https://gitlab.haskell.org/ghc/ghc/-/issues?label_name%5B%5D=infrastructure>, <https://gitlab.haskell.org/ghc/ghc/-/issues?label_name%5B%5D=CI>, <https://gitlab.haskell.org/ghc/ghc/-/issues?label_name%5B%5D=hadrian>,
2020-10-29 22:22:34 +0100 <hekkaidekapus> <https://gitlab.haskell.org/ghc/ghc/-/issues?milestone_title=Make+removal>.
2020-10-29 22:23:27 +0100hekkaidekapusapologises for the URL avalanche.
2020-10-29 22:23:45 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 240 seconds)
2020-10-29 22:23:45 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-29 22:23:51 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 22:23:55 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-29 22:31:29 +0100wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-29 22:32:19 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 22:32:22 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-29 22:32:53 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-29 22:33:05 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2020-10-29 22:33:05 +0100 <monsterchrom> Derp, I have a python file "yield.py". I try to "import yield" to load it. I forgot that this clashes with the reserved word "yield" so python isn't understanding me.
2020-10-29 22:33:30 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035)
2020-10-29 22:33:31 +0100 <yushyin> :D
2020-10-29 22:33:35 +0100 <Rembane> monsterchrom: You can still import it if you jump through hoops but you might want to rename it instead.
2020-10-29 22:33:38 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds)
2020-10-29 22:33:39 +0100 <monsterchrom> This is why Haskell makes module names capitalized, and reserved words not. This is exactly right.
2020-10-29 22:33:49 +0100 <monsterchrom> Yeah
2020-10-29 22:34:14 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 264 seconds)
2020-10-29 22:34:30 +0100 <Rembane> Cunning!
2020-10-29 22:35:23 +0100 <monsterchrom> Wait a second, yield-examples.py won't make sense either. This is a stupid language.
2020-10-29 22:35:44 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-29 22:35:51 +0100 <hpc> be a real python programmer, name it __yield__
2020-10-29 22:36:02 +0100 <monsterchrom> Sorry folks, I'm dabbling in python because I am coding up python yield examples so that I can then teach Racket's shift/reset. :)
2020-10-29 22:36:42 +0100 <Rembane> monsterchrom: Misspell it instead. yeeld. :D
2020-10-29 22:36:44 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 22:36:58 +0100bartemius(~bartemius@109-252-20-20.nat.spd-mgts.ru) (Remote host closed the connection)
2020-10-29 22:37:05 +0100 <monsterchrom> Then again Yield-Example.hs won't make sense either if I plan to "import Yield-Example". Bah stupid languages. Scheme is better in this regard.
2020-10-29 22:37:22 +0100 <monsterchrom> Haha I'll take that advice.
2020-10-29 22:38:11 +0100 <texasmynsted> monsterchrom: You are learning python to teach Racket?
2020-10-29 22:38:40 +0100hackageAgda 2.6.1.2 - A dependently typed functional programming language and proof assistant https://hackage.haskell.org/package/Agda-2.6.1.2 (AndreasAbel)
2020-10-29 22:39:10 +0100 <monsterchrom> More generally, I'm learning programming languages to teach principles of programming languages.
2020-10-29 22:39:21 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-29 22:39:40 +0100 <Rembane> monsterchrom: What's your verdict of programming languages so far?
2020-10-29 22:39:40 +0100 <monsterchrom> But we use Racket and Haskell to talk about the principles. So it does look like "to teach Racket and Haskell".
2020-10-29 22:40:25 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-29 22:40:41 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 22:40:41 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 22:40:41 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 22:40:54 +0100 <monsterchrom> I don't have strong opinions. I like Haskell myself. But if students learn to deconstruct programming languages a bit and appreciate various features and sacrifices, that's cool for me.
2020-10-29 22:40:59 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-29 22:41:02 +0100knupfer(~Thunderbi@HSI-KBW-046-005-192-105.hsi8.kabel-badenwuerttemberg.de)
2020-10-29 22:41:07 +0100 <texasmynsted> Seems to me that Racket and Haskell would be fair better choices for teaching anything than python.
2020-10-29 22:41:26 +0100 <Rembane> Unless you want to teach Python of course
2020-10-29 22:41:34 +0100 <texasmynsted> why would you want to do that?
2020-10-29 22:41:57 +0100 <Rembane> monsterchrom: That sounds like very good learning outcomes
2020-10-29 22:42:18 +0100 <dolio> Maybe you should use Ruby instead. Does it still have callCC?
2020-10-29 22:42:20 +0100 <Rembane> texasmynsted: It's a very useful language, especially if you want to do some scripting for automating stuff or to do machine learning.
2020-10-29 22:42:37 +0100 <texasmynsted> I am not convinced
2020-10-29 22:42:48 +0100 <monsterchrom> To some extent I and my colleagues are converging to defining this "principles of programming languages" course to be basically the lambda-the-ultimate papers explained in modern terms and adjusted to 3rd-year CS.
2020-10-29 22:42:48 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-29 22:42:57 +0100 <yushyin> useful because of tons of libraries
2020-10-29 22:43:02 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-29 22:43:19 +0100 <monsterchrom> Haha I fear Ruby.
2020-10-29 22:43:52 +0100 <texasmynsted> seems to me haskell has a fair number its self
2020-10-29 22:44:03 +0100 <monsterchrom> 1970 : C :: 1990 : Python
2020-10-29 22:44:42 +0100 <monsterchrom> I mean, I know C and Python have very different semantics. But I'm not comparing that.
2020-10-29 22:45:10 +0100 <monsterchrom> I'm comparing why people use them despite semantics issues. It's only because "has libraries".
2020-10-29 22:45:11 +0100 <texasmynsted> I am mostly joking. I have considered learning python just to be able to help all the people struggling to learn it
2020-10-29 22:45:48 +0100 <monsterchrom> and networking effect
2020-10-29 22:45:55 +0100sandcatjess-o-lantern
2020-10-29 22:46:01 +0100 <texasmynsted> I need strict typing to prevent insanity
2020-10-29 22:46:03 +0100knupfer1(~Thunderbi@HSI-KBW-046-005-192-105.hsi8.kabel-badenwuerttemberg.de)
2020-10-29 22:46:12 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-29 22:46:22 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 22:46:23 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 22:46:23 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 22:46:30 +0100 <dolio> Why do people spend time with elaborate type hacks in GHC instead of helping to make Idris viable? :þ
2020-10-29 22:46:39 +0100 <monsterchrom> hehe
2020-10-29 22:46:43 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-10-29 22:46:52 +0100 <texasmynsted> dolio: hmm. good question
2020-10-29 22:47:04 +0100 <monsterchrom> You know what, 1970 : C :: 1990 : Python :: 2020 : Haskell.
2020-10-29 22:47:31 +0100sagax(~sagax_nb@213.138.71.146)
2020-10-29 22:47:44 +0100 <monsterchrom> i.e., GHC Haskell enjoys more libraries than Idris does
2020-10-29 22:47:53 +0100mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 268 seconds)
2020-10-29 22:48:24 +0100 <monsterchrom> Then again, I haven't checked whether there is a version of wreq for Idris.
2020-10-29 22:49:50 +0100knupfer(~Thunderbi@HSI-KBW-046-005-192-105.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds)
2020-10-29 22:49:50 +0100knupfer1knupfer
2020-10-29 22:50:04 +0100mastarija(~mastarija@93-138-85-169.adsl.net.t-com.hr)
2020-10-29 22:50:56 +0100 <texasmynsted> maybe the ML libraries from python should be ported to other languages.
2020-10-29 22:51:33 +0100 <dolio> Most of it isn't even python, is it? They're just python wrappers for C code or something.
2020-10-29 22:51:53 +0100 <monsterchrom> Yeah
2020-10-29 22:52:16 +0100alp_(~alp@2a01:e0a:58b:4920:6800:79d6:f6e9:b658)
2020-10-29 22:52:37 +0100conal(~conal@66.115.157.138)
2020-10-29 22:52:55 +0100conal(~conal@66.115.157.138) (Client Quit)
2020-10-29 22:53:15 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-29 22:53:22 +0100 <Rembane> texasmynsted: They definitely can be, but that takes much more time than just using them.
2020-10-29 22:53:29 +0100 <hpc> dolio: honestly, most of python is just C
2020-10-29 22:54:54 +0100 <Sgeo> So, this is a long shot and basically completely off topic, but: A lot of FRP stuff is inspired by ActiveVRML, right? Does the ActiveVRML control exist anywhere still?
2020-10-29 22:55:03 +0100 <dolio> I would imagine the reason things settled on python is that for machine learning you're much less likely to care about language features. You're just scripting the underlying high performance stuff.
2020-10-29 22:56:38 +0100knupfer(~Thunderbi@HSI-KBW-046-005-192-105.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds)
2020-10-29 22:58:05 +0100falafel__(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-29 22:59:47 +0100knupfer(~Thunderbi@HSI-KBW-046-005-192-105.hsi8.kabel-badenwuerttemberg.de)
2020-10-29 23:00:22 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 23:00:22 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 23:00:22 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 23:01:18 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-29 23:01:43 +0100texasmynsted(~texasmyns@104.140.52.75) (Remote host closed the connection)
2020-10-29 23:02:39 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-29 23:02:39 +0100texasmynsted(~texasmyns@104.140.52.75)
2020-10-29 23:03:04 +0100texasmynsted(~texasmyns@104.140.52.75) (Remote host closed the connection)
2020-10-29 23:03:21 +0100texasmynsted(~texasmyns@104.140.52.75)
2020-10-29 23:03:56 +0100takuan_dozo(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 272 seconds)
2020-10-29 23:05:07 +0100Rudd0(~Rudd0@185.189.115.108)
2020-10-29 23:05:47 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d1d4:d989:c09d:31fa)
2020-10-29 23:07:50 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 264 seconds)
2020-10-29 23:08:13 +0100 <thblt> dolio: that's roughly most of Python use besides scripting, I think :)
2020-10-29 23:09:38 +0100falafel__(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 264 seconds)
2020-10-29 23:09:40 +0100hackageaura 3.2.2 - A secure package manager for Arch Linux and the AUR. https://hackage.haskell.org/package/aura-3.2.2 (fosskers)
2020-10-29 23:09:58 +0100knupfer(~Thunderbi@HSI-KBW-046-005-192-105.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 246 seconds)
2020-10-29 23:13:13 +0100falafel__(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-29 23:14:04 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-10-29 23:16:31 +0100falafel__falafel_
2020-10-29 23:18:10 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d1d4:d989:c09d:31fa) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-29 23:18:51 +0100 <thblt> (Eg numpy is 33% C)
2020-10-29 23:23:02 +0100ransom(c4264035@gateway/vpn/protonvpn/c4264035) (Ping timeout: 268 seconds)
2020-10-29 23:26:07 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 268 seconds)
2020-10-29 23:28:10 +0100hackagemock-httpd 1.0.0 - A HTTP server for testing HTTP clients https://hackage.haskell.org/package/mock-httpd-1.0.0 (PeterJones)
2020-10-29 23:28:48 +0100 <texasmynsted> hmm. Looks like I got disconnected.
2020-10-29 23:29:03 +0100jbox(~atlas@unaffiliated/jbox)
2020-10-29 23:29:27 +0100Fuchs(~Fuchs@154.13.1.56)
2020-10-29 23:29:47 +0100FuchsGuest31792
2020-10-29 23:30:41 +0100mbomba(~mbomba@142.114.9.241)
2020-10-29 23:30:42 +0100 <texasmynsted> dolio: I have wondered why people would care about machine learning but not about effective programming.
2020-10-29 23:32:05 +0100 <texasmynsted> What would be wrong with using ML and Haskell or ML and Scala. Why ML and python?
2020-10-29 23:32:32 +0100 <Rembane> Because numpy and scipy
2020-10-29 23:32:38 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-29 23:32:38 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-29 23:32:38 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-29 23:33:07 +0100scasc(~szabi@213142096120.public.telering.at) (Remote host closed the connection)
2020-10-29 23:33:24 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-29 23:33:33 +0100scasc(~szabi@213142096120.public.telering.at)
2020-10-29 23:34:01 +0100 <thblt> And because you can't care about everything? Perfectionism is a curse.
2020-10-29 23:34:10 +0100 <koz_> Also because argumentum ad serpentum makes people think Python is 'intuitive', 'natural' and 'easy to work with'.
2020-10-29 23:34:20 +0100mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-10-29 23:34:26 +0100 <koz_> None of the above are even remotely close to _testable_, much less true, but argumentum ad serpentum.
2020-10-29 23:34:57 +0100conal(~conal@66.115.157.138)
2020-10-29 23:35:22 +0100 <thblt> hahaha I love, and officially adopt, "argumentum ad serpentum"
2020-10-29 23:35:32 +0100 <Uniaika> yeah I love it too
2020-10-29 23:35:36 +0100Madars(~null@unaffiliated/madars) (Ping timeout: 272 seconds)
2020-10-29 23:35:51 +0100 <koz_> thblt, Uniaika: Thank you, I'm glad my British private school education was not for nothing.
2020-10-29 23:35:59 +0100 <thblt> (But well, testable or not, I honestly think it's true.)
2020-10-29 23:36:45 +0100conal(~conal@66.115.157.138) (Client Quit)
2020-10-29 23:36:52 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-29 23:36:53 +0100 <thblt> Highly dynamic languages are easy to get started on, although hard to write programs on that don't explode in mid-flight.
2020-10-29 23:37:19 +0100conal(~conal@66.115.157.138)
2020-10-29 23:37:20 +0100 <koz_> thblt: I would argue that this is _opposite_ of 'easy to work with'.
2020-10-29 23:37:25 +0100 <koz_> Yes, you can write garbage easily.
2020-10-29 23:37:30 +0100 <koz_> I don't consider this a virtue.
2020-10-29 23:37:52 +0100conal(~conal@66.115.157.138) (Client Quit)
2020-10-29 23:37:54 +0100 <thblt> koz_: my argument was about intuitive. I'm on #haskell, I'm not going to argue the virtues of dynamic typing.
2020-10-29 23:37:59 +0100 <thblt> :)
2020-10-29 23:38:19 +0100 <koz_> thblt: I dunno. Python grated on my intution badly even when I _wasn't_ a Haskeller.
2020-10-29 23:38:28 +0100 <texasmynsted> But _why_ do people want to do ML in the first place? It would seem to me because it is useful. Think how much better it would be if the programs using the libraries were equally useful.
2020-10-29 23:39:28 +0100britva(~britva@2a02:aa13:7240:2980:1ce4:625f:f093:45ef) (Quit: This computer has gone to sleep)
2020-10-29 23:39:43 +0100 <thblt> koz_: to each their own, I guess. To me, Python is very, very obvious and my goto language for everything .1kslocs and below.
2020-10-29 23:39:51 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 23:39:55 +0100 <texasmynsted> I would think if one is willing to learn ML one would be willing to learn Haskell/Scala/WhateverLang.
2020-10-29 23:40:04 +0100 <thblt> Also because of the stdlib let's be honest.
2020-10-29 23:40:27 +0100texasmynstedshrug
2020-10-29 23:40:29 +0100 <koz_> thblt: Welcome to the 'it's not testable' part of my claim, and as far as I'm concerned, untestability means talking about whether it's true or not is meaningless. However, if you can get work done in Python, more power to you, because I just want to shower constantly in that language's presence.
2020-10-29 23:41:18 +0100 <thblt> koz_: I'm not sure it's not testable, but I certainly can't be bothered into implementing a testing protocol :)
2020-10-29 23:41:46 +0100 <koz_> thblt: You think you can come up with a scientific test for _intuitiveness_? Uhh, glhf with that.
2020-10-29 23:41:58 +0100 <texasmynsted> Soon we will get to the testing vs types discussion . . .
2020-10-29 23:42:15 +0100 <koz_> texasmynsted: Not the sort of testability I am referring to by a country mile.
2020-10-29 23:42:17 +0100 <thblt> well, if it means something, it's testable.
2020-10-29 23:42:49 +0100 <koz_> thblt: You think you can come with a _singular_ definition for intuitiveness? Uhh, also glhf with that.
2020-10-29 23:42:56 +0100 <dsal> thblt: haskell is my goto for just about anything.
2020-10-29 23:43:00 +0100 <texasmynsted> koz_: what are you referring to?
2020-10-29 23:43:10 +0100 <koz_> texasmynsted: Testability in the scientific method sense.
2020-10-29 23:43:21 +0100 <koz_> Not in the 'does my software launch nukes when I didn't ask it to' sense.
2020-10-29 23:43:21 +0100 <texasmynsted> Python?
2020-10-29 23:43:23 +0100 <dsal> I've seen a lot of people argue about, e.g., Haskell not being intuitive. It's usually more like, "Haskell doesn't match the mental model I've trained myself in for the last two decades."
2020-10-29 23:43:25 +0100 <texasmynsted> Really?
2020-10-29 23:43:48 +0100 <koz_> texasmynsted: Are you asking me if I really meant what I said?
2020-10-29 23:43:50 +0100 <koz_> If so, then yes?
2020-10-29 23:43:53 +0100 <thblt> dsal: I may get there, but the Prelude is an issue. For quick scripts, Python wins for me because of the batteries included aspect.
2020-10-29 23:43:55 +0100 <koz_> Also what dsal said.
2020-10-29 23:44:04 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-29 23:44:14 +0100 <thblt> dsal: isn't that exactly what an intuition is?
2020-10-29 23:44:28 +0100 <koz_> Haskell is unashamedly different, and I like it for that. C is not such a good language that we should slavishly adopt its conventions.
2020-10-29 23:44:32 +0100 <dsal> When you don't like python's batteries, you get to learn one of several competing things to make stuff work, and then your scripts don't work at some point in the future and you don't know how to recreate the environment.
2020-10-29 23:44:48 +0100 <dolio> texasmynsted: I think there's nothing wrong with doing machine learning in Haskell or ML. I just think the people who gravitate toward machine learning would be the opposite of the kind of person who cares about the language it's done in being 'good'.
2020-10-29 23:44:59 +0100 <koz_> And those batteries also suck in innumerable ways. Two of which I have encountered personally. As a _user_.
2020-10-29 23:45:11 +0100 <dsal> thblt: It might be denotation, but connotation implies something closer to "natural." IMO, haskell is at least as natural as most other languages I've had to use.
2020-10-29 23:45:18 +0100 <koz_> Python works if your buy-in to argumentum ad serpentum is high enough.
2020-10-29 23:45:22 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-29 23:45:22 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-29 23:45:22 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-29 23:45:27 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-29 23:45:43 +0100 <koz_> (by 'encountered' I mean 'in the last week or so')
2020-10-29 23:45:59 +0100 <dsal> I used to use twisted quite a lot. Then I found someone who didn't like twisted made yet another thing to reinvent it and bragged about how much better and more intuitive it was (as long as you ignored the swaths of things I couldn't do with their framework).
2020-10-29 23:46:01 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 246 seconds)
2020-10-29 23:46:03 +0100 <koz_> (and by 'user' I mean 'not a developer')
2020-10-29 23:46:11 +0100 <texasmynsted> So testable like Coq or TLA+ or minizinc or agda, Idris, etc?
2020-10-29 23:46:15 +0100 <thblt> koz_: Haha I believe you, big lib implies debatable choices.
2020-10-29 23:46:28 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 268 seconds)
2020-10-29 23:46:40 +0100 <dsal> Python stdlib includes stuff like their async library they recommend nobody ever use, or the execution running stuff that they recommend nobody ever use.
2020-10-29 23:46:40 +0100 <texasmynsted> maybe I just do not know enough about python
2020-10-29 23:46:43 +0100 <koz_> thblt: So then 'batteries included' really means 'Big Daddy Guido did things the way he thinks best and you better like it'.
2020-10-29 23:46:48 +0100Franciman(~francesco@host-82-54-10-114.retail.telecomitalia.it) (Quit: Leaving)
2020-10-29 23:47:03 +0100 <dsal> Both are *almost* good, but missing just a bit of functionality. It's recommended you pick up something else external if you want to do any of these things that are included.
2020-10-29 23:47:15 +0100 <dsal> For all intents and purposes, hackage is stdlib for my programs.
2020-10-29 23:47:21 +0100 <dolio> texasmynsted: Because machine learning is the opposite of trying to clearly state the solution to a problem. :)
2020-10-29 23:47:34 +0100 <koz_> dsal: That statement ports to any language and its hosted ecosystem, to be fair.
2020-10-29 23:47:37 +0100 <texasmynsted> dolio: Ah ha! That makes sense.
2020-10-29 23:47:46 +0100 <koz_> C.f. JS and npm, Python and pip, etc.
2020-10-29 23:47:53 +0100 <texasmynsted> Okay I can understand that then.
2020-10-29 23:47:53 +0100 <thblt> Hence my .1kslocs rule of thumbs. Anything above that, I can $package-manager-and-build-system init something.
2020-10-29 23:47:57 +0100 <dsal> To be fair, python has more than one.
2020-10-29 23:48:20 +0100 <dsal> You have to like, easy_install pip to get your virtualenv running.
2020-10-29 23:48:43 +0100 <dsal> But yeah, once you get into the ecosystem, it kind of works. Some ecosystems operate more smoothly than others, though.
2020-10-29 23:49:02 +0100 <thblt> I never use those.
2020-10-29 23:49:03 +0100 <texasmynsted> I had installed anaconda ages ago. Now it tells me that my "free trial" is about to run out. No idea what it is talking about.
2020-10-29 23:49:22 +0100 <thblt> (for python i mena)
2020-10-29 23:49:24 +0100 <thblt> mean
2020-10-29 23:49:35 +0100 <merijn> Python has like 30 package managers
2020-10-29 23:49:40 +0100 <merijn> and their all god awful
2020-10-29 23:49:54 +0100 <koz_> merijn: Very much this.
2020-10-29 23:49:54 +0100 <merijn> I'd kill for cabal-install anytime I have to deal with pip and virtualenvs >.>
2020-10-29 23:49:59 +0100 <texasmynsted> sure. Why should they work any better than the language its self?
2020-10-29 23:50:04 +0100 <thblt> merijn: #emacs would find this reasonable.
2020-10-29 23:50:10 +0100hackageplaylists 0.5.1 - Library and executable for working with playlist files. https://hackage.haskell.org/package/playlists-0.5.1 (PeterJones)
2020-10-29 23:50:12 +0100 <thblt> :)
2020-10-29 23:50:18 +0100 <dolio> texasmynsted: I think it's kind of like people who use matlab, although python is way better than matlab's language (last I checked).
2020-10-29 23:50:27 +0100 <merijn> "Our bad, guys! We fucked up the package manager, but we'll get it right this time!" *proceeds to get it wrong in entirely different ways*
2020-10-29 23:50:56 +0100conal(~conal@66.115.157.138)
2020-10-29 23:50:57 +0100mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com) (Quit: Leaving)
2020-10-29 23:51:20 +0100 <dsal> 1kloc is massive, though. My whole GoPro app is only about 1400 lines. And that's a bunch of commandline tools (resumable upload that has to keep state), syncing to the cloud via AWS magic, local downloads, its web API, syncing down from their cloud, a SQL interface to update data via their API, and other crap (something like 16 commands in the CLI tool)
2020-10-29 23:51:21 +0100 <texasmynsted> https://xkcd.com/927/
2020-10-29 23:51:33 +0100 <texasmynsted> Like that but with package managers?
2020-10-29 23:51:54 +0100 <thblt> merijn: a french tv show, the Shadoks, came up with the motto that given a very low chance of success, failing in all possible ways will get you closer to success ("The more you fail, the more likely you are to win")
2020-10-29 23:51:55 +0100texasmynstedshrug
2020-10-29 23:52:04 +0100 <thblt> dsal: that's 0.1
2020-10-29 23:52:13 +0100 <thblt> 100 lines
2020-10-29 23:52:34 +0100 <thblt> a quick script that may need to gzip stuff or read command line args
2020-10-29 23:52:37 +0100 <texasmynsted> thblt: That is some good wisdom there
2020-10-29 23:53:26 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 264 seconds)
2020-10-29 23:54:08 +0100 <texasmynsted> The "double your failure rate" idea.
2020-10-29 23:54:11 +0100 <dsal> thblt: ah, I've not seen fractions of a kloc. My log management thing is about 80 lines. Take individual logs from S3 and combine them into a 7z file, deleting the old logs and uploading the fancy compressed one. I do use the 7z commandline, though.
2020-10-29 23:54:58 +0100Foritus(~buggery@cpc91334-watf11-2-0-cust153.15-2.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-29 23:55:10 +0100 <thblt> dsal: sorry for the confusion.
2020-10-29 23:55:24 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-29 23:55:24 +0100 <dsal> I originally wrote this thing in go, but it was a lot longer, buggier, and harder to follow. https://github.com/dustin/papertrails/blob/master/app/Main.hs#L43-L57
2020-10-29 23:55:51 +0100 <hekkaidekapus> dolio: People who are into research related to Statistics/Image Processing publish stuff developped with Matlab, R, Julia, Python. And once you set a foot into those waters, it’s hard to use another language because “State Of The Art”.
2020-10-29 23:56:43 +0100ystael(~ystael@209.6.50.55) (Ping timeout: 260 seconds)
2020-10-29 23:58:01 +0100 <thblt> That reminds me I have a stupid shebang script to transparently compile haskell scripts with stack
2020-10-29 23:58:29 +0100 <thblt> Maybe I'll end up doing my scripting with haskell too at some point :)
2020-10-29 23:59:01 +0100Foritus(~buggery@cpc91334-watf11-2-0-cust153.15-2.cable.virginm.net)
2020-10-29 23:59:25 +0100 <sm[m]> thblt: stack's script command works great for that
2020-10-29 23:59:33 +0100 <dsal> Hmm... My original v5 mqtt bridge was closer to 150 lines, but I built a language parser to express the bridging configurations. It's grown since then, though. I've got multiway bridging with rewrite rules and stuff. Currently 268 lines...