2020/09/28

2020-09-28 00:00:02 +0200 <ski> `ghci --version' works, now ?
2020-09-28 00:00:25 +0200 <koz_> :t asum
2020-09-28 00:00:27 +0200 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
2020-09-28 00:00:31 +0200 <Guest_94> oh shit ahah
2020-09-28 00:00:38 +0200cosimone_(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 00:00:42 +0200 <Guest_94> 'ghci --version' returns '<interactive>:1:1: error: Variable not in scope: ghci'
2020-09-28 00:00:48 +0200 <ski> hah
2020-09-28 00:00:55 +0200 <ski> yea, you're in GHCi, now
2020-09-28 00:00:56 +0200 <fluturel> you are already in the ghci :)
2020-09-28 00:01:11 +0200 <fluturel> press CMD + D to get out
2020-09-28 00:01:14 +0200 <ski> or `:q'
2020-09-28 00:01:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 00:01:25 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 00:01:32 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Ping timeout: 244 seconds)
2020-09-28 00:01:42 +0200skihopes that doesn't get turned into some horrible emoji, in Guest_94's IRC client
2020-09-28 00:01:52 +0200 <Guest_94> ok ':q: worked
2020-09-28 00:02:07 +0200 <Guest_94> perfect it all seems to work now
2020-09-28 00:02:07 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 240 seconds)
2020-09-28 00:02:07 +0200 <Guest_94> The Glorious Glasgow Haskell Compilation System, version 8.8.4
2020-09-28 00:02:15 +0200 <Guest_94> I am going to have fun working out what all of this means ahaha
2020-09-28 00:02:26 +0200 <Guest_94> Thank you so much though I really appreciate it thanks for your time
2020-09-28 00:02:38 +0200sigmaTau(~eat@66.115.146.13) (Ping timeout: 260 seconds)
2020-09-28 00:02:54 +0200 <fluturel> you are welcome, go have fun with haskell!
2020-09-28 00:02:55 +0200kelvin(uid466767@gateway/web/irccloud.com/x-ymoihyiqzvmzmxqc)
2020-09-28 00:02:58 +0200 <ski> Guest_94 : if you have a file with some Haskell code, like e.g. `test.hs', you can start the interactor like `ghci test.hs' to get it to (try to) load the file directly
2020-09-28 00:03:13 +0200 <ski> or you can use `:l test.hs', if you're already inside the interactor
2020-09-28 00:03:53 +0200 <ski> if you've loaded the file, but then you've made some changes to it (in your editor), and saved the file, you can then reload the file in the interactor, just by doing `:r'
2020-09-28 00:04:14 +0200Rudd0(~Rudd0@185.189.115.98)
2020-09-28 00:04:18 +0200 <ski> (btw, `:q' is short for `:quit', `:l' for `:load', and `:r' for `:reload')
2020-09-28 00:04:35 +0200jedws(~jedws@121.209.139.222)
2020-09-28 00:04:45 +0200 <Guest_94> Perfect mate thank you
2020-09-28 00:04:59 +0200urdh(~urdh@unaffiliated/urdh) (Ping timeout: 240 seconds)
2020-09-28 00:05:05 +0200 <Guest_94> The guy teaching me Haskell was actually part of the team that invented it
2020-09-28 00:05:26 +0200 <ski> Hughes ?
2020-09-28 00:06:09 +0200 <normie> Jones?
2020-09-28 00:06:30 +0200 <normie> Hudak?
2020-09-28 00:06:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-09-28 00:06:33 +0200 <Guest_94> He's called Phillip Wadler
2020-09-28 00:06:46 +0200 <normie> mr monad himself
2020-09-28 00:06:58 +0200 <ski> ah :)
2020-09-28 00:07:13 +0200 <fluturel> very nice
2020-09-28 00:07:15 +0200 <Guest_94> What does that mean ahah
2020-09-28 00:07:19 +0200 <fluturel> wish i had your luck
2020-09-28 00:07:31 +0200 <ski> Wadler often has funny research paper titles :)
2020-09-28 00:07:54 +0200 <normie> we have him to thank for the IO monad
2020-09-28 00:08:00 +0200 <normie> absolute chad
2020-09-28 00:08:05 +0200mounty(~mounty@mail.nextgenerationvoice.com.au) (Remote host closed the connection)
2020-09-28 00:09:00 +0200 <ski> e.g. "How to add laziness to a strict language, without even being odd" by Philip Wadler,Walid Taha,David MacQueen in 1998-09 at <https://homepages.inf.ed.ac.uk/wadler/topics/language-design.html#lazyinstrict>
2020-09-28 00:09:40 +0200 <normie> I love "Theorems for Free!"
2020-09-28 00:09:54 +0200 <koz_> I think we also have him (at least partially) to thank for type classes?
2020-09-28 00:10:14 +0200 <ski> ("Linear types can change the world!" and "Once upon a type", at <https://homepages.inf.ed.ac.uk/wadler/topics/linear-logic.html>, are two others)
2020-09-28 00:10:33 +0200 <ski> hm, i think Jones was involved in that ? possibly also Wadler ?
2020-09-28 00:10:56 +0200urdh(~urdh@unaffiliated/urdh)
2020-09-28 00:11:00 +0200ski. o O ( <https://homepages.inf.ed.ac.uk/wadler/topics/type-classes.html> )
2020-09-28 00:11:36 +0200chaosmasttter(~chaosmast@p200300c4a7105f01cc6851adcbf57dac.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-09-28 00:12:10 +0200 <normie> is Lennart Augustsson on this server by any chance
2020-09-28 00:12:50 +0200 <dolio> Haven't seen him in a while.
2020-09-28 00:12:52 +0200 <ski> he has been, in the past
2020-09-28 00:13:23 +0200 <ski> (also Marlow)
2020-09-28 00:13:37 +0200 <Guest_94> Anyway thanks for your help guys
2020-09-28 00:13:44 +0200 <ski> np, Guest_94
2020-09-28 00:13:47 +0200 <Guest_94> Maybe ill be back with more questions one day hahah
2020-09-28 00:13:54 +0200kelvin(uid466767@gateway/web/irccloud.com/x-ymoihyiqzvmzmxqc) ()
2020-09-28 00:13:54 +0200 <ski> you're welcome
2020-09-28 00:14:00 +0200 <normie> djinn just has some small namespace clashes that keep lambdabot from working by default
2020-09-28 00:14:14 +0200 <normie> tell wadler we said thanks :)
2020-09-28 00:14:46 +0200 <Guest_94> for sure :)
2020-09-28 00:14:51 +0200Guest_94(5c101100@92.16.17.0) (Remote host closed the connection)
2020-09-28 00:16:58 +0200 <normie> so npm has a package called "is-even" that gets something like 2.4 million downloads a month
2020-09-28 00:17:17 +0200 <normie> because apparently it's easier to pull in a dependency instead of just using the modulus operator
2020-09-28 00:17:31 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-09-28 00:17:41 +0200 <normie> so I spent a few hours last night coming up with something even more convoluted and disgusting in haskell
2020-09-28 00:17:44 +0200 <normie> https://github.com/dreamsmasher/is-even
2020-09-28 00:17:58 +0200 <ski> i heard there was also a package called `left-pad'
2020-09-28 00:18:06 +0200 <normie> if anyone has any more ideas of how to implement is-even, please let me know
2020-09-28 00:18:14 +0200 <normie> HAHAHAHA the left-pad debacle was so funny
2020-09-28 00:18:32 +0200 <pjb> is-even = not is-odd
2020-09-28 00:19:10 +0200 <normie> I wrote 9 different versions, ranging from state transformers to profunctors to using church numerals
2020-09-28 00:19:33 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-09-28 00:19:53 +0200 <ski> @where evolution -- normie
2020-09-28 00:19:54 +0200 <lambdabot> http://www.willamette.edu/~fruehr/haskell/evolution.html
2020-09-28 00:20:17 +0200mpereira(~mpereira@2a02:810d:f40:d96:294e:473a:4b53:edb9)
2020-09-28 00:20:25 +0200 <normie> hell yeah I forgot about this article
2020-09-28 00:21:47 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 240 seconds)
2020-09-28 00:22:30 +0200kelvin(uid466767@gateway/web/irccloud.com/x-vooczelxxwqtkmcj)
2020-09-28 00:22:38 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 00:22:58 +0200wz1000(~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 246 seconds)
2020-09-28 00:25:20 +0200mpereira(~mpereira@2a02:810d:f40:d96:294e:473a:4b53:edb9) (Ping timeout: 246 seconds)
2020-09-28 00:25:39 +0200kelvin(uid466767@gateway/web/irccloud.com/x-vooczelxxwqtkmcj) ()
2020-09-28 00:26:14 +0200 <dolio> Isn't it more expensive to depend on is-even than just writing it?
2020-09-28 00:28:09 +0200 <ski> normie : you have various redundant pairs of brackets, in there
2020-09-28 00:28:32 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-09-28 00:31:13 +0200fluturel(~fluturel@86.120.237.180) (Ping timeout: 260 seconds)
2020-09-28 00:33:13 +0200 <normie> that's the joke, I honestly don't know why the npm ecosystem is so ridiculous
2020-09-28 00:33:41 +0200 <hpc> most of those silly micropackages are written by one guy
2020-09-28 00:33:59 +0200 <normie> but people *use* them
2020-09-28 00:34:26 +0200 <hpc> yeah, that i can't explain
2020-09-28 00:34:45 +0200 <normie> also @ski whereabours are these brackets
2020-09-28 00:34:50 +0200 <normie> in evenProf?
2020-09-28 00:34:57 +0200hackageachille 0.0.0 - A library for building static site generators https://hackage.haskell.org/package/achille-0.0.0 (flupe)
2020-09-28 00:39:30 +0200 <ski> normie : `_evenState',`<=',`isEven' .. also all the `(Integral a) =>'s which could be just `Integral a =>'
2020-09-28 00:39:41 +0200 <ski> normie : also, you have lots of `$'s i don't like :)
2020-09-28 00:40:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 00:41:13 +0200 <ski> e.g.
2020-09-28 00:41:21 +0200 <ski> evenState n = not . head $ evalState (sequence $ replicate (fromIntegral n) _evenState) n
2020-09-28 00:41:26 +0200 <ski> would imho be better as
2020-09-28 00:41:35 +0200 <ski> evenState n = not . head $ evalState (sequence (replicate (fromIntegral n) _evenState)) n
2020-09-28 00:41:38 +0200 <ski> or even
2020-09-28 00:41:47 +0200 <ski> evenState n = (not . head) (evalState (sequence (replicate (fromIntegral n) _evenState)) n)
2020-09-28 00:41:59 +0200 <ski> one could do
2020-09-28 00:42:21 +0200 <ski> evenState n = (not . head . (`evalState` n)) (sequence (replicate (fromIntegral n) _evenState))
2020-09-28 00:42:48 +0200 <ski> but of course `sequence (replicate n acts)' can be simplified to `replicateM n acts'
2020-09-28 00:43:16 +0200 <normie> I forgot about replicateM, thank you
2020-09-28 00:43:58 +0200 <ski> similarly
2020-09-28 00:44:00 +0200 <ski> (runBool . contr $ (head . dropWhile ((< n) . covar) . iterate dmp) m) False
2020-09-28 00:44:03 +0200 <ski> looks hideous
2020-09-28 00:44:09 +0200 <ski> how about
2020-09-28 00:44:40 +0200 <ski> (runBool . contr . head . dropWhile ((< n) . covar) . iterate dmp) m False
2020-09-28 00:44:41 +0200 <ski> ?
2020-09-28 00:45:05 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Remote host closed the connection)
2020-09-28 00:45:16 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-09-28 00:45:49 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 00:47:45 +0200 <ski> evenState n = (not . head . (`evalState` n) . replicateM (fromIntegral n)) _evenState -- i guess i might write the previous one like this (possibly inlining `_evenState')
2020-09-28 00:48:29 +0200 <normie> @ski changed evenProf, big thank you
2020-09-28 00:48:30 +0200 <lambdabot> Maybe you meant: wiki src ask
2020-09-28 00:48:43 +0200 <normie> how are you refactoring these so quick
2020-09-28 00:49:27 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 240 seconds)
2020-09-28 00:49:49 +0200 <normie> I like that infix version, saves a "$"
2020-09-28 00:50:02 +0200 <ski> normie : also, it's not a convention/tradition on IRC to adorn people's nicknames with sigils (like `@'). simply mention the nickname, if you want to address someone, or refer to them. e.g. starting the message with the nickname, then a comma or a colon, and the bulk of the message, in the former case
2020-09-28 00:50:30 +0200aarvar(~foewfoiew@50.35.43.33)
2020-09-28 00:50:33 +0200 <normie> ah, got it
2020-09-28 00:50:44 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 265 seconds)
2020-09-28 00:50:52 +0200 <ski> (many IRC clients will hilight/alert the user, if their nickname is mentioned at the very start of a message. i think not as many will do it, if the nickname is mentioned elsewhere in a message (e.g. if there's a `@' in front of it))
2020-09-28 00:51:10 +0200 <normie> I keep forgetting that '@' calls lambdabot
2020-09-28 00:51:23 +0200 <ski> normie : hm, i thought i was actually rather slow at refactoring them (i was looking a bit at another channel, as well)
2020-09-28 00:51:47 +0200 <normie> I think 'evenState n = not . head . evalState (replicateM (fromIntegral n) _evenState) $ n' is the most readable tbh
2020-09-28 00:51:57 +0200 <normie> keeps some semblance of a linear control flow
2020-09-28 00:52:49 +0200 <ski> on IRC, `@' is used to indicate that someone is an operator, in a channel. if you see a list of nicknames joined to a channel, then commonly IRC clients will display operators in the channel, by having `@' in front of their nickname (also often displayed in their messages). (but you should probably not refer to operators in a channel, by prefixing their nickname with `@', just because of that ..)
2020-09-28 00:53:46 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-09-28 00:53:46 +0200 <ski> evenState n = not (head (evalState (replicateM (fromIntegral n) _evenState) n)) -- isn't too bad, either
2020-09-28 00:54:08 +0200 <ski> (a few nested brackets are nothing to be afraid of)
2020-09-28 00:54:19 +0200mpereira(~mpereira@2a02:810d:f40:d96:294e:473a:4b53:edb9)
2020-09-28 00:55:32 +0200 <normie> nested parentheses aren't a (common) (scheme) for readability ;)
2020-09-28 00:55:32 +0200 <ski> (.. redundant brackets, otoh, tend to annoy me .. unless there's some particular reason to insert them, like emphasizing something, or perhaps not bothering with keeping track of relative precedence of more uncommon operators)
2020-09-28 00:56:01 +0200m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds)
2020-09-28 00:56:23 +0200 <ski> (and i seldom write any `$'s at all. `BlockArguments' removes most of my uses of `$')
2020-09-28 00:56:37 +0200 <normie> I tend to prefer brackets for typeclass constraints regardless of quantity though
2020-09-28 00:57:02 +0200 <ski> that's okay. at least you're aware that you don't need them, for one constraint
2020-09-28 00:57:15 +0200 <normie> i'll need to add brackets if any subsequent constraints are added anyways
2020-09-28 00:57:30 +0200 <ski> but e.g. it seems that people often don't know that they could write
2020-09-28 00:57:34 +0200 <ski> (S a) <= (S b) = a <= b
2020-09-28 00:57:34 +0200 <ski> as
2020-09-28 00:57:38 +0200 <ski> S a <= S b = a <= b
2020-09-28 00:58:12 +0200 <normie> because the precedence of infix operators is greater than those of constructors?
2020-09-28 00:58:27 +0200 <ski> (similarly, `let (x:xs) = ...' or `case ... of [] -> ...; (x:xs) -> ...' annoy me)
2020-09-28 00:58:36 +0200 <solonarv> s/constructors/function application/, in fact
2020-09-28 00:58:57 +0200 <normie> oh wow
2020-09-28 00:59:07 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-09-28 00:59:26 +0200 <ski> the "invisible function application operator", "juxtaposition", binds tighter than, has higher precedence than, all (user-defined) infix operators
2020-09-28 00:59:29 +0200mpereira(~mpereira@2a02:810d:f40:d96:294e:473a:4b53:edb9) (Ping timeout: 272 seconds)
2020-09-28 01:01:55 +0200 <ski> (but note that the "syntactic operators" `@' and `~' (and `!', and also record construction syntax) binds tigher than application, in patterns. (also record construction and update syntax, in expressions))
2020-09-28 01:02:55 +0200 <normie> interesting
2020-09-28 01:02:56 +0200ryantrinkle(~ryan@cpe-68-173-35-198.nyc.res.rr.com)
2020-09-28 01:03:32 +0200 <ski> > rootLabel Node {rootLabel = ()}
2020-09-28 01:03:35 +0200 <lambdabot> ()
2020-09-28 01:04:07 +0200cosimone_(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Ping timeout: 240 seconds)
2020-09-28 01:04:30 +0200cosimone_(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 01:04:52 +0200 <ski> % let f Node {rootLabel = r,..} = r in f Node {rootLabel = (),subForest = []}
2020-09-28 01:04:52 +0200 <yahb> ski: ()
2020-09-28 01:05:19 +0200 <normie> removed the redundant parens in the Peano Ord instance
2020-09-28 01:05:29 +0200 <normie> this channel is awesome
2020-09-28 01:05:47 +0200 <ski> oh, sorry. i missed that `data Peano = S (Peano) | Z' could be just `data Peano = S Peano | Z'
2020-09-28 01:05:49 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 272 seconds)
2020-09-28 01:06:32 +0200 <ski> (and i hope you know that if you have just one type class after `deriving' .. you guessed it, you don't need brackets)
2020-09-28 01:07:19 +0200 <normie> yee I'm aware of that one at least, but I usually find myself coming back to add more derivations anyway
2020-09-28 01:07:48 +0200 <normie> I think it looks cleaner and more consistent if I'm defining multiple data types with different derivations too
2020-09-28 01:08:41 +0200 <ski> mm, it's more common to want to add more `deriving' parts, than to go back later and add more constraints on a signature, i think
2020-09-28 01:08:52 +0200 <normie> looking at the BlockArguments docs right now and damn, how have I not heard of this before
2020-09-28 01:08:54 +0200 <normie> definitely!
2020-09-28 01:09:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 01:09:30 +0200 <ski> someone mentioned, not too long ago, using `BlockArguments' like :
2020-09-28 01:09:40 +0200 <ski> foo x y do
2020-09-28 01:09:48 +0200stree(~stree@50-108-126-14.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2020-09-28 01:09:55 +0200 <ski> long parameter expression ..
2020-09-28 01:10:02 +0200 <ski> .. spanning multiple lines
2020-09-28 01:10:05 +0200stree(~stree@50-108-126-14.adr01.mskg.mi.frontiernet.net)
2020-09-28 01:10:10 +0200 <ski> more parameters here
2020-09-28 01:10:38 +0200 <ski> > do "look ma, no monads !"
2020-09-28 01:10:40 +0200 <lambdabot> "look ma, no monads !"
2020-09-28 01:11:23 +0200cosimone_(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
2020-09-28 01:12:00 +0200 <normie> so block arguments lets you use do notation with non-monads?
2020-09-28 01:12:07 +0200 <ski> no
2020-09-28 01:12:25 +0200 <ski> that's a separate generalization that GHC does
2020-09-28 01:12:40 +0200 <ski> (not requiring `do ...' to have a type of the form `m a')
2020-09-28 01:12:43 +0200 <normie> it is cool that you can stage multiple do-blocks on the same column though
2020-09-28 01:12:56 +0200 <solonarv> ski: in fact because record update/construction binds so tightly I like to write it like this: rootLabel Node{ rootLabel = () }
2020-09-28 01:13:21 +0200 <ski> (i guess probably `.. spanning multiple lines' should actually be indented at least one more space, otherwise it'll think it's multiple commands, inside that `do'-expression)
2020-09-28 01:13:22 +0200machinedgod(~machinedg@142.169.78.168) (Ping timeout: 260 seconds)
2020-09-28 01:13:37 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-09-28 01:13:52 +0200 <normie> hs does significant whitespace so much better than python
2020-09-28 01:14:02 +0200 <ski> solonarv : heh, yea. i don't like that placement of spaces, really :)
2020-09-28 01:14:27 +0200 <ski> normie : you can opt out, with explicit `{',`;',`}'
2020-09-28 01:15:02 +0200 <ski> (sometimes i wonder whether some uses of `,' in Haskell would have been better as `;' (which could be implicit, when using layout))
2020-09-28 01:15:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-09-28 01:17:07 +0200 <ski> (also, sometimes i want to say `MkFoo { blah x = ..x.. }', but have to say `MkFoo { blah = \x -> ..x.. }'. this can be more annoying, if i want to match on the input)
2020-09-28 01:17:27 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 01:18:08 +0200mpereira(~mpereira@2a02:810d:f40:d96:294e:473a:4b53:edb9)
2020-09-28 01:19:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 01:21:48 +0200 <solonarv> ski: at least you can match on it with \case
2020-09-28 01:21:58 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-09-28 01:22:23 +0200mpereira(~mpereira@2a02:810d:f40:d96:294e:473a:4b53:edb9) (Ping timeout: 246 seconds)
2020-09-28 01:23:28 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
2020-09-28 01:23:43 +0200Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-108.cust.tzulo.com)
2020-09-28 01:23:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 01:24:14 +0200 <ski> yea
2020-09-28 01:24:31 +0200 <ski> but if there's multiple parameters, then i need to use `curry' or something
2020-09-28 01:25:30 +0200 <ski> (or else nest the `\case's .. but that's not as readable. also enforces strict left-to-right matching)
2020-09-28 01:26:58 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 01:27:26 +0200pengjiz(~user@2601:547:901:fab0::2)
2020-09-28 01:28:11 +0200mmohammadi98129(~mmohammad@188.210.120.20) (Ping timeout: 258 seconds)
2020-09-28 01:28:56 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 01:29:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 01:31:07 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-09-28 01:33:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 01:33:45 +0200jneira[m](~jneira@80.30.101.206) (Read error: Connection reset by peer)
2020-09-28 01:34:12 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 01:35:15 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 01:35:23 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 260 seconds)
2020-09-28 01:36:42 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 01:38:35 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-09-28 01:39:26 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-09-28 01:40:28 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-09-28 01:41:30 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 01:43:25 +0200jedws(~jedws@121.209.139.222)
2020-09-28 01:43:27 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 240 seconds)
2020-09-28 01:47:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-09-28 01:49:50 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 01:53:07 +0200xerox_(~xerox@unaffiliated/xerox)
2020-09-28 01:53:36 +0200Ranhir(~Ranhir@157.97.53.139) (Remote host closed the connection)
2020-09-28 02:00:02 +0200flukiluke1(~flukiluke@84.39.116.180) ()
2020-09-28 02:00:02 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 02:00:16 +0200atk(~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2020-09-28 02:02:20 +0200Ranhir(~Ranhir@157.97.53.139)
2020-09-28 02:02:37 +0200atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2020-09-28 02:04:07 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 02:09:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 02:12:59 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:8ec:1161:8ce8:eb51)
2020-09-28 02:15:21 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 02:16:17 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 02:17:22 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 02:18:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 02:18:48 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 02:20:02 +0200SolarAquarion(SolarAquar@gateway/shell/panicbnc/x-xjpqknkqghymrgke) (Ping timeout: 260 seconds)
2020-09-28 02:20:19 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-zzdfhwhqcgnnihzq) (Quit: Connection closed for inactivity)
2020-09-28 02:20:42 +0200Rudd0(~Rudd0@185.189.115.98) (Ping timeout: 258 seconds)
2020-09-28 02:21:57 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 02:24:20 +0200Klumben(Nsaiswatch@gateway/shell/panicbnc/x-qoebdhwirjmxvlle) (Ping timeout: 246 seconds)
2020-09-28 02:25:20 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:8ec:1161:8ce8:eb51) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 02:25:30 +0200xacktm(xacktm@gateway/shell/panicbnc/x-tsbkfnsedmgyhrsm) (Ping timeout: 244 seconds)
2020-09-28 02:28:05 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:d73:23e6:f24c:978a)
2020-09-28 02:28:35 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 02:28:45 +0200hololeap(~hololeap@unaffiliated/hololeap) (Ping timeout: 240 seconds)
2020-09-28 02:31:28 +0200hololeap(~hololeap@unaffiliated/hololeap)
2020-09-28 02:31:53 +0200 <hololeap> has anyone tried both grapefruit-ui and brick? which one is your preference? i have used brick a bit and think it's well done, but i'm curious about grapefruit-ui..
2020-09-28 02:35:14 +0200catkiki(~catkiki@m90-134-157-227.cust.tele2.hr) (Remote host closed the connection)
2020-09-28 02:35:58 +0200 <Axman6> I've used brick, and liked it a lot. it's been a long time though do don't have anything other to add other than pleasant memories
2020-09-28 02:44:14 +0200 <glguy> Brick is actively maintained and extensively documented
2020-09-28 02:45:18 +0200 <Axman6> what does ghcup use?
2020-09-28 02:45:24 +0200 <hololeap> the brick docs are amazing
2020-09-28 02:45:57 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:d73:23e6:f24c:978a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 02:46:29 +0200 <koz_> @pl \x y -> x >>= (@?= y)
2020-09-28 02:46:29 +0200 <lambdabot> (. flip (@?=)) . (>>=)
2020-09-28 02:46:34 +0200 <koz_> Lol.
2020-09-28 02:47:44 +0200 <Axman6> Anyone know if pl will use (=<<) if it makes things clearer/avoids flips?
2020-09-28 02:49:34 +0200 <koz_> @pl \f -> join . fmap f
2020-09-28 02:49:34 +0200 <lambdabot> (=<<)
2020-09-28 02:49:47 +0200darjeeling_(~darjeelin@122.245.121.113) (Ping timeout: 240 seconds)
2020-09-28 02:50:53 +0200 <jackdk> @botsnack
2020-09-28 02:50:54 +0200 <lambdabot> :)
2020-09-28 02:51:10 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:8991:a473:a01a:60b2)
2020-09-28 02:53:01 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net)
2020-09-28 02:53:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-09-28 02:54:38 +0200 <hololeap> wow, that's pretty neat
2020-09-28 02:54:41 +0200 <sm[m]> hololeap: are those comparable ? Does grapefruit do TUIs?
2020-09-28 02:55:35 +0200gorthx1(~gorthx@84.39.116.180)
2020-09-28 02:57:03 +0200 <hololeap> sm[m]: that seems like a strange question to me. grapefruit doesn't have a TUI component but it is still for building UIs, which is also true for brick.
2020-09-28 02:58:02 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-09-28 02:59:27 +0200ystael(~ystael@209.6.50.55) (Ping timeout: 240 seconds)
2020-09-28 03:00:59 +0200 <sm[m]> we don't get asked to recommend a TUI vs a WUI too often.. usually people require one or the other
2020-09-28 03:01:28 +0200 <sm[m]> I haven't seen any apps built with grapefruit, I'd like to know too
2020-09-28 03:01:50 +0200 <hololeap> oh, well this isn't for a specific job or anything, just making a utility of sorts :)
2020-09-28 03:03:18 +0200Klumben(Nsaiswatch@gateway/shell/panicbnc/x-lfgojlskrxejewoq)
2020-09-28 03:03:26 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
2020-09-28 03:05:46 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 03:07:28 +0200mpereira(~mpereira@2a02:810d:f40:d96:294e:473a:4b53:edb9)
2020-09-28 03:10:07 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-09-28 03:17:02 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 03:21:56 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com) (Read error: Connection reset by peer)
2020-09-28 03:22:31 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com)
2020-09-28 03:23:05 +0200inerkick(~rohit@117.230.131.2)
2020-09-28 03:26:05 +0200pengjiz(~user@2601:547:901:fab0::2) (Quit: ERC (IRC client for Emacs 27.1))
2020-09-28 03:27:00 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:8991:a473:a01a:60b2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 03:27:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 03:29:43 +0200SolarAquarion(SolarAquar@gateway/shell/panicbnc/x-qhbkvprsewvzxtnd)
2020-09-28 03:29:45 +0200revprez_stg(~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 265 seconds)
2020-09-28 03:30:22 +0200revprez_stg(~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-09-28 03:31:53 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:f92f:abc:f8:d26e)
2020-09-28 03:32:37 +0200acidjnk_new(~acidjnk@p200300d0c723788910a692a0a73cc94d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-09-28 03:32:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-09-28 03:34:05 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-09-28 03:34:20 +0200shatriff(~vitaliish@176.52.219.10)
2020-09-28 03:34:53 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-09-28 03:35:13 +0200shatriff(~vitaliish@176.52.219.10)
2020-09-28 03:35:42 +0200shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-09-28 03:36:31 +0200inerkick(~rohit@117.230.131.2) (Quit: Leaving)
2020-09-28 03:44:27 +0200hackagefoldl 1.4.9 - Composable, streaming, and efficient left folds https://hackage.haskell.org/package/foldl-1.4.9 (GabrielGonzalez)
2020-09-28 03:47:59 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:f92f:abc:f8:d26e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 03:48:53 +0200MattMareo(~mattl@unaffiliated/mattmareo)
2020-09-28 03:51:20 +0200xff0x(~fox@2001:1a81:537a:5700:351c:d0c9:2f80:c9c7)
2020-09-28 03:51:39 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 03:51:45 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:f92f:abc:f8:d26e)
2020-09-28 03:53:02 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 03:54:46 +0200xff0x_(~fox@port-92-195-106-234.dynamic.as20676.net) (Ping timeout: 256 seconds)
2020-09-28 04:01:50 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2020-09-28 04:02:42 +0200 <hololeap> anyone know of a way for an IO action to fire when a TVar gets updated?
2020-09-28 04:03:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 04:08:42 +0200 <hololeap> the overarching problem is to write a brick widget around a data type wrapped in a TVar. if another thread modifies it, i would like for the UI to update to reflect this.
2020-09-28 04:10:17 +0200Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-108.cust.tzulo.com) (Quit: Leaving)
2020-09-28 04:10:31 +0200inerkick(~rohit@117.230.131.2)
2020-09-28 04:11:11 +0200 <ski> could you make a thread that retries, if it sees the same value as last time ?
2020-09-28 04:12:32 +0200 <ski> i suppose that requires some kind of equality comparision on the value, though
2020-09-28 04:13:17 +0200 <hololeap> TVar has an Eq instance, although i'm not sure if it compares its contents
2020-09-28 04:13:51 +0200 <hololeap> but, that sounds like a good idea
2020-09-28 04:13:52 +0200 <ski> it ought not
2020-09-28 04:14:03 +0200 <dolio> It can't do that.
2020-09-28 04:14:22 +0200 <hololeap> right... it would have to be a -> a -> STM Bool
2020-09-28 04:14:28 +0200 <hololeap> ish...
2020-09-28 04:15:08 +0200 <hololeap> but my data type has an Eq instance, so that could work
2020-09-28 04:15:38 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-09-28 04:15:54 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-09-28 04:16:04 +0200 <ski> i was thinking of having another `Bool' state, that you have set to `False' initially. then, in the transaction, if it's `False' you `retry' (after taking the value of the `TVar'), but make sure it's `True' the next time, so that you succeed when it's modified .. but i don't think you can make that kind of backtrackable state in `STM' ..
2020-09-28 04:16:05 +0200irc_user(uid423822@gateway/web/irccloud.com/x-ewbniufkvljwkyrj)
2020-09-28 04:17:42 +0200drbean(~drbean@TC210-63-209-63.static.apol.com.tw)
2020-09-28 04:20:32 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 246 seconds)
2020-09-28 04:22:28 +0200 <hololeap> \a0 tvar -> readTVar tvar >>= \a -> if a0 == a then retry else pure a
2020-09-28 04:22:40 +0200 <hololeap> would that work?
2020-09-28 04:23:52 +0200urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-09-28 04:25:17 +0200 <ski> and then pass `a' as `a0', next time
2020-09-28 04:26:11 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 04:27:04 +0200lagothrixGuest2714
2020-09-28 04:27:04 +0200Guest2714(~lagothrix@unaffiliated/lagothrix) (Killed (tolkien.freenode.net (Nickname regained by services)))
2020-09-28 04:27:10 +0200lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-09-28 04:27:45 +0200inerkick(~rohit@117.230.131.2) (Ping timeout: 265 seconds)
2020-09-28 04:29:33 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-mpevcdkaddwfqaxn) (Quit: Connection closed for inactivity)
2020-09-28 04:33:54 +0200 <hololeap> cool. sounds doable. thanks ski
2020-09-28 04:35:00 +0200 <ski> hm. i wonder whether one could make a zero-capacity channel or something, for this
2020-09-28 04:35:11 +0200 <ski> (rendez-vous)
2020-09-28 04:35:35 +0200 <hololeap> i'm not sure what zero-capacity channel means
2020-09-28 04:35:35 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 04:35:49 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-ufxmssfsrzweqpvh)
2020-09-28 04:36:02 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 04:36:36 +0200mu_(~mu@unaffiliated/mu) (Client Quit)
2020-09-28 04:37:01 +0200 <ski> like one thread tries to put, and immediately blocks until there's another thread that tries to take (and so can hand-over the value/baton directly from one thread to the other, no intermediate storage). or the other way around, the other thread tries to take, blocks until the first thread puts
2020-09-28 04:37:13 +0200toorevitimirp(~tooreviti@117.182.182.201)
2020-09-28 04:37:43 +0200 <ski> so, you have effectively a channel that can store at most zero items "in transit"
2020-09-28 04:38:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-09-28 04:39:54 +0200inerkick(~rohit@117.230.30.206)
2020-09-28 04:47:22 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-09-28 04:48:52 +0200 <dsal> I feel like I'm reinventing lens... `sortOn (maximum . fmap length . fmap _pu_parts) .`
2020-09-28 04:50:27 +0200hackageZ-Data 0.1.4.0 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.4.0 (winterland)
2020-09-28 04:52:07 +0200theDon(~td@muedsl-82-207-238-220.citykom.de) (Ping timeout: 240 seconds)
2020-09-28 04:53:09 +0200wei2912(~wei2912@unaffiliated/wei2912)
2020-09-28 04:53:26 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-09-28 04:53:57 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 04:53:59 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-09-28 04:54:20 +0200theDon(~td@94.134.91.183)
2020-09-28 04:57:49 +0200 <ski> hm, after looking at the source of <https://downloads.haskell.org/~ghc/latest/docs/html/libraries/stm-2.5.0.0/Control-Concurrent-STM-T…>, i don't think `newTBQueue 0' will work
2020-09-28 04:58:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 04:59:18 +0200mnrmnaughmnrgle(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 256 seconds)
2020-09-28 04:59:24 +0200 <ski> i wonder whether one could do rendez-vous with STM
2020-09-28 05:00:01 +0200gorthx1(~gorthx@84.39.116.180) ()
2020-09-28 05:00:26 +0200Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-09-28 05:01:38 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds)
2020-09-28 05:01:40 +0200Lord_of_Life_Lord_of_Life
2020-09-28 05:02:33 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 265 seconds)
2020-09-28 05:04:04 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-09-28 05:05:36 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-09-28 05:06:10 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:f92f:abc:f8:d26e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 05:08:07 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 240 seconds)
2020-09-28 05:09:59 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-09-28 05:14:30 +0200bloodstalker(~bloodstal@46.166.187.178) (Remote host closed the connection)
2020-09-28 05:14:40 +0200solonarv(~solonarv@anancy-653-1-63-100.w109-217.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-09-28 05:21:47 +0200zeta_0(~zeta@h78.22.19.98.dynamic.ip.windstream.net)
2020-09-28 05:23:27 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 05:25:11 +0200zeta_0(~zeta@h78.22.19.98.dynamic.ip.windstream.net) (Client Quit)
2020-09-28 05:27:07 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 240 seconds)
2020-09-28 05:27:25 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:f92f:abc:f8:d26e)
2020-09-28 05:28:14 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 05:30:38 +0200styledash(~styledash@157.230.173.136) (Quit: The Lounge - https://thelounge.chat)
2020-09-28 05:30:46 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Read error: Connection reset by peer)
2020-09-28 05:31:14 +0200styledash(~styledash@157.230.173.136)
2020-09-28 05:31:14 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 05:33:05 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2020-09-28 05:38:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 05:48:38 +0200oisdk(~oisdk@2001:bb6:3329:d100:bd22:91d7:f791:22b6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 05:48:47 +0200Amras(~Amras@unaffiliated/amras0000)
2020-09-28 05:51:10 +0200jedws(~jedws@121.209.139.222)
2020-09-28 05:55:37 +0200wei2912(~wei2912@unaffiliated/wei2912) (Quit: Lost terminal)
2020-09-28 05:55:56 +0200brimstone1(~brimstone@185.163.110.116)
2020-09-28 05:57:16 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
2020-09-28 05:59:45 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-09-28 06:00:24 +0200Rudd0(~Rudd0@185.189.115.108)
2020-09-28 06:03:56 +0200ryansmccoy(~ryansmcco@156.96.151.132) (Ping timeout: 265 seconds)
2020-09-28 06:04:12 +0200day_(~Unknown@unaffiliated/day)
2020-09-28 06:04:48 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-09-28 06:05:34 +0200 <hololeap> WIP: https://dpaste.com/4RRFTU2AM
2020-09-28 06:07:31 +0200 <nshepperd> ski: is that not the same as a one item queue where the writer waits until it's empty again after writing
2020-09-28 06:07:31 +0200day(~Unknown@unaffiliated/day) (Ping timeout: 256 seconds)
2020-09-28 06:07:32 +0200day_day
2020-09-28 06:10:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-09-28 06:10:08 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com) (Ping timeout: 260 seconds)
2020-09-28 06:13:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-09-28 06:13:34 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com)
2020-09-28 06:14:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-09-28 06:19:19 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-09-28 06:21:43 +0200 <hololeap> it does sound quite a bit like a TMVar, where a thread continually tries to put, but has to block until something else takes
2020-09-28 06:25:18 +0200ryjm_matrix1(~matrixirc@pool-74-105-197-68.nwrknj.fios.verizon.net) (Quit: killed)
2020-09-28 06:25:39 +0200ryjm_matrix(~matrixirc@pool-74-105-197-68.nwrknj.fios.verizon.net)
2020-09-28 06:28:51 +0200howdoi(uid224@gateway/web/irccloud.com/x-tqqfvfsvfflekctt) (Quit: Connection closed for inactivity)
2020-09-28 06:29:27 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 272 seconds)
2020-09-28 06:35:07 +0200jneira(501e65ce@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.206) (Ping timeout: 240 seconds)
2020-09-28 06:38:31 +0200ggole(~ggole@2001:8003:8119:7200:827:6ea2:4828:53c5)
2020-09-28 06:40:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 06:40:27 +0200xff0x(~fox@2001:1a81:537a:5700:351c:d0c9:2f80:c9c7) (Ping timeout: 260 seconds)
2020-09-28 06:41:13 +0200xff0x(~fox@2001:1a81:537a:5700:d96:c29a:71ef:4f01)
2020-09-28 06:41:42 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 06:42:27 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 06:45:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-09-28 06:46:03 +0200TooDifficult(~TooDiffic@139.59.59.230) (Client Quit)
2020-09-28 06:46:20 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 06:46:32 +0200Rudd0^(~Rudd0@185.189.115.108)
2020-09-28 06:47:11 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
2020-09-28 06:48:07 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 240 seconds)
2020-09-28 06:48:27 +0200Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2020-09-28 06:48:51 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-09-28 06:53:50 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-09-28 06:53:59 +0200TooDifficult(~TooDiffic@139.59.59.230) (Quit: TooDifficult)
2020-09-28 06:54:19 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 06:54:37 +0200bahamas(~lucian@unaffiliated/bahamas)
2020-09-28 06:54:58 +0200hackageZ-IO 0.1.3.0 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.3.0 (winterland)
2020-09-28 06:55:16 +0200xacktm(xacktm@gateway/shell/panicbnc/x-pzwqpatxpatbafhr)
2020-09-28 06:55:32 +0200TooDifficult(~TooDiffic@139.59.59.230) (Client Quit)
2020-09-28 06:55:47 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 06:58:31 +0200ddellacosta(~dd@86.106.121.168) (Ping timeout: 256 seconds)
2020-09-28 06:58:50 +0200normie(~normie@S0106ac202e2069c3.vw.shawcable.net) (Quit: WeeChat 2.9)
2020-09-28 06:59:04 +0200TooDifficult(~TooDiffic@139.59.59.230) (Client Quit)
2020-09-28 06:59:21 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 06:59:42 +0200TooDifficult(~TooDiffic@139.59.59.230) (Remote host closed the connection)
2020-09-28 06:59:59 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 07:00:05 +0200bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds)
2020-09-28 07:00:39 +0200polyrain(~polyrain@2001:8003:e501:6901:c1af:ff99:3f53:5ced)
2020-09-28 07:02:27 +0200hackagenetwork-byte-order 0.1.6 - Network byte order utilities https://hackage.haskell.org/package/network-byte-order-0.1.6 (KazuYamamoto)
2020-09-28 07:02:30 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:f92f:abc:f8:d26e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 07:03:13 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer)
2020-09-28 07:03:49 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-09-28 07:04:57 +0200hackagefast-logger 3.0.2 - A fast logging system https://hackage.haskell.org/package/fast-logger-3.0.2 (KazuYamamoto)
2020-09-28 07:06:08 +0200inerkick(~rohit@117.230.30.206) (Quit: Leaving)
2020-09-28 07:06:34 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:3815:da8c:7f0d:702)
2020-09-28 07:07:09 +0200TooDifficult(~TooDiffic@139.59.59.230) (Read error: Connection reset by peer)
2020-09-28 07:08:02 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 07:08:58 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 07:09:45 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Remote host closed the connection)
2020-09-28 07:10:18 +0200macrover(~macrover@ip70-189-231-35.lv.lv.cox.net)
2020-09-28 07:13:05 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 07:16:04 +0200finkata(~dpetrov@83.222.188.39) (Remote host closed the connection)
2020-09-28 07:16:21 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-09-28 07:16:50 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
2020-09-28 07:18:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 07:21:32 +0200spoonm(~spoonm@gunma.spoonm.org) (Quit: Don't look behind you!)
2020-09-28 07:23:04 +0200random(~random@185.219.70.106)
2020-09-28 07:23:27 +0200toorevitimirp(~tooreviti@117.182.182.201) (Remote host closed the connection)
2020-09-28 07:23:57 +0200toorevitimirp(~tooreviti@117.182.182.201)
2020-09-28 07:26:25 +0200spoonm(spoonm@gunma.spoonm.org)
2020-09-28 07:27:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-09-28 07:28:06 +0200 <siraben> If I create the a state monad using ST underneath, does it make it any more efficient than the one in Control.Monad.State?
2020-09-28 07:28:09 +0200 <siraben> http://ix.io/2yZh
2020-09-28 07:28:54 +0200ryansmccoy(~ryansmcco@193.37.254.27) (Ping timeout: 256 seconds)
2020-09-28 07:29:28 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-09-28 07:30:11 +0200 <MarcelineVQ> I doubt it, could be fun to bench though
2020-09-28 07:30:17 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 07:31:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-09-28 07:35:05 +0200 <Axman6> isn't that just state, where the state parameter is an STRef? what benefits do you think this will have?
2020-09-28 07:37:12 +0200shatriff(~vitaliish@176.52.219.10)
2020-09-28 07:41:23 +0200mozzarella(~sam@unaffiliated/sam113101)
2020-09-28 07:44:19 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Remote host closed the connection)
2020-09-28 07:44:44 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
2020-09-28 07:45:26 +0200m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
2020-09-28 07:46:16 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2020-09-28 07:51:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-09-28 07:51:50 +0200shafox(~shafox@106.51.234.111)
2020-09-28 07:52:01 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 07:52:58 +0200hackageqhs 0.3.2 - Command line tool qhs, SQL queries on CSV and TSV files. https://hackage.haskell.org/package/qhs-0.3.2 (itchyny)
2020-09-28 07:53:30 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
2020-09-28 07:53:47 +0200quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2020-09-28 07:54:33 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz)
2020-09-28 07:54:47 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 07:55:53 +0200polyrain(~polyrain@2001:8003:e501:6901:c1af:ff99:3f53:5ced) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 07:57:53 +0200quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2020-09-28 08:00:02 +0200brimstone1(~brimstone@185.163.110.116) ()
2020-09-28 08:07:22 +0200BalterNotz(ca420871@202.66.8.113)
2020-09-28 08:12:20 +0200Quarl(~Quarl@94.191.138.174.mobile.tre.se)
2020-09-28 08:14:22 +0200 <BalterNotz> #haskell-tw
2020-09-28 08:19:45 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
2020-09-28 08:20:08 +0200elred_(~elred_@84.39.116.180)
2020-09-28 08:22:12 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 08:23:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 08:24:49 +0200jedws(~jedws@121.209.139.222)
2020-09-28 08:27:33 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-09-28 08:28:06 +0200drbean(~drbean@TC210-63-209-63.static.apol.com.tw) (Read error: Connection reset by peer)
2020-09-28 08:28:16 +0200TooDifficult(~TooDiffic@139.59.59.230) (Quit: TooDifficult)
2020-09-28 08:28:58 +0200hackagemtsl 0.2.0.0 - Reified monad transformer stacks https://hackage.haskell.org/package/mtsl-0.2.0.0 (sgschlesinger)
2020-09-28 08:29:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-09-28 08:30:11 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-09-28 08:32:03 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 08:32:16 +0200random(~random@185.219.70.106) (Remote host closed the connection)
2020-09-28 08:32:26 +0200drbean(~drbean@TC210-63-209-143.static.apol.com.tw)
2020-09-28 08:32:34 +0200random(~random@185.219.70.106)
2020-09-28 08:34:20 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 08:41:09 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 08:41:28 +0200hackageuniqueness-periods-vector-general 0.4.3.0 - Some kind of the optimization approach to data inner structure. https://hackage.haskell.org/package/uniqueness-periods-vector-general-0.4.3.0 (OleksandrZhabenko)
2020-09-28 08:42:19 +0200wz1000(~wz1000@static.11.113.47.78.clients.your-server.de)
2020-09-28 08:42:57 +0200toorevitimirp(~tooreviti@117.182.182.201) (Ping timeout: 265 seconds)
2020-09-28 08:43:33 +0200Sanchayan(~Sanchayan@136.185.169.201)
2020-09-28 08:46:37 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Remote host closed the connection)
2020-09-28 08:47:13 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 08:48:52 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-09-28 08:49:56 +0200plutoniix(~q@175.176.222.7)
2020-09-28 08:50:03 +0200scottschecter(~scottsche@thewolf.schecterandco.com)
2020-09-28 08:51:35 +0200bahamas(~lucian@84.232.141.175)
2020-09-28 08:51:35 +0200bahamas(~lucian@84.232.141.175) (Changing host)
2020-09-28 08:51:35 +0200bahamas(~lucian@unaffiliated/bahamas)
2020-09-28 08:51:42 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 256 seconds)
2020-09-28 08:54:49 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
2020-09-28 08:54:56 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:3815:da8c:7f0d:702) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 08:54:59 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 08:55:11 +0200ADG1089(~adg1089@110.227.116.50)
2020-09-28 08:55:16 +0200 <ADG1089> can you guys suggest a framework for an app that would enable users to upload excel sheets which will be processed and inserted into database
2020-09-28 08:55:45 +0200 <ADG1089> (web based, possible api)
2020-09-28 08:56:12 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Remote host closed the connection)
2020-09-28 08:56:28 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 08:57:58 +0200BalterNotzasdfasdfasdf
2020-09-28 08:59:35 +0200 <Axman6> Excel specifically? no. CSV? sure, plenty
2020-09-28 08:59:47 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 240 seconds)
2020-09-28 09:00:31 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-09-28 09:00:50 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-09-28 09:00:51 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se)
2020-09-28 09:04:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 09:05:21 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 09:05:41 +0200 <Axman6> ADG1089: that's a very general and very specific question by the way - is there something that already does both those things? Almost certainly not, but are there things which can do both and be easily joined together, most definitely
2020-09-28 09:06:02 +0200 <ADG1089> i'm mostly concerned about the api part
2020-09-28 09:06:09 +0200 <ADG1089> sorry, i was not specific enough
2020-09-28 09:06:41 +0200 <ADG1089> otherwise the database operations and excel file processing can be done without any framework.
2020-09-28 09:06:56 +0200 <ADG1089> minimal sql-client atleast
2020-09-28 09:07:02 +0200 <siraben> MarcelineVQ: which libraries are good for benchmarking haskell programs?
2020-09-28 09:07:12 +0200 <Axman6> siraben: criterion
2020-09-28 09:07:14 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
2020-09-28 09:07:16 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 246 seconds)
2020-09-28 09:07:31 +0200 <Axman6> ADG1089: what do you actually want to do?
2020-09-28 09:07:32 +0200 <siraben> Axman6: ok, will take a look
2020-09-28 09:08:12 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-09-28 09:08:38 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 09:09:37 +0200 <ADG1089> Axman6: I want to take in as input doctor & medicine data excel and process it (nothing complicated) and then insert it into database. This will be served using an API
2020-09-28 09:09:57 +0200 <Axman6> does it have to be excel?
2020-09-28 09:17:20 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Remote host closed the connection)
2020-09-28 09:17:47 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
2020-09-28 09:17:56 +0200jespada(~jespada@90.254.241.6)
2020-09-28 09:19:02 +0200chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
2020-09-28 09:19:06 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com) (Quit: Leaving)
2020-09-28 09:19:11 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2020-09-28 09:19:26 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-09-28 09:19:47 +0200TooDifficult(~TooDiffic@139.59.59.230) (Ping timeout: 240 seconds)
2020-09-28 09:21:44 +0200gxt(~gxt@gateway/tor-sasl/gxt)
2020-09-28 09:22:06 +0200rembo10(~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.1 - https://znc.in)
2020-09-28 09:22:18 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-09-28 09:22:51 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
2020-09-28 09:23:12 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds)
2020-09-28 09:24:07 +0200gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2020-09-28 09:24:26 +0200fendor(~fendor@77.119.128.154.wireless.dyn.drei.com)
2020-09-28 09:25:18 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
2020-09-28 09:25:34 +0200irc_user(uid423822@gateway/web/irccloud.com/x-ewbniufkvljwkyrj) (Quit: Connection closed for inactivity)
2020-09-28 09:25:49 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2020-09-28 09:26:23 +0200rembo10(~rembo10@wally.codeshy.com)
2020-09-28 09:27:06 +0200gxt(~gxt@gateway/tor-sasl/gxt)
2020-09-28 09:27:13 +0200v_m_v(~vm_v@31-10-157-87.cgn.dynamic.upc.ch)
2020-09-28 09:27:39 +0200dhouthoo(~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be)
2020-09-28 09:28:43 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 09:29:23 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-09-28 09:29:39 +0200asdfasdfasdfjjjj
2020-09-28 09:29:45 +0200jjjjBalterNotz
2020-09-28 09:30:24 +0200 <ADG1089> Axman6: yeag
2020-09-28 09:30:27 +0200 <ADG1089> *yeah
2020-09-28 09:32:36 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-09-28 09:33:55 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 09:37:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-09-28 09:38:27 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-09-28 09:39:21 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 09:40:27 +0200cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-09-28 09:41:48 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 09:43:11 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-09-28 09:43:55 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-28 09:48:41 +0200Guest_68(056aecb5@5.106.236.181)
2020-09-28 09:49:04 +0200 <Guest_68> Hello. how should I add ghcup to PATH?
2020-09-28 09:49:35 +0200 <maerwald> Guest_68: which os
2020-09-28 09:49:40 +0200 <Guest_68> mac
2020-09-28 09:49:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 09:50:10 +0200 <maerwald> add this to ~/.bashrc: source ~/.ghcup/env
2020-09-28 09:50:30 +0200 <maerwald> add this to ~/.bash_profile: [[ -f ~/.bashrc ]] && source ~/.bashrc
2020-09-28 09:50:54 +0200ski(~ski@remote12.chalmers.se) (Quit: Lost terminal)
2020-09-28 09:52:35 +0200 <Guest_68> maerwald: ok. how do i open this bashrc file on mac?
2020-09-28 09:53:19 +0200 <maerwald> Guest_68: http://letmegooglethat.com/?q=how+do+I+open+a+file+on+mac
2020-09-28 09:54:14 +0200 <Guest_68> funny.
2020-09-28 09:54:23 +0200 <yushyin> I've a deja-vu
2020-09-28 09:54:29 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-09-28 09:54:32 +0200 <Guest_68> i can't find this file
2020-09-28 09:56:45 +0200 <Guest_68> I'm not comfortable working and editing in a terminal
2020-09-28 09:57:04 +0200 <yushyin> first things first, make sure which shell you use. Afaik mac os x switched to zsh
2020-09-28 09:58:02 +0200alp(~alp@2a01:e0a:58b:4920:9c53:5eed:91e4:af76)
2020-09-28 09:58:08 +0200 <Guest_68> i don't know much about theese things. it's bash i guess
2020-09-28 09:58:22 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-09-28 09:59:20 +0200John20(~John@82.46.59.122)
2020-09-28 09:59:25 +0200 <Guest_68> i want to update ghc but it says "-bash: ghcup: command not found"
2020-09-28 10:00:03 +0200 <yushyin> if the files do not exists just create them
2020-09-28 10:00:13 +0200sw1nn(~sw1nn@host86-129-128-20.range86-129.btcentralplus.com) (Ping timeout: 264 seconds)
2020-09-28 10:00:14 +0200 <Guest_68> how?
2020-09-28 10:00:27 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-09-28 10:00:47 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 240 seconds)
2020-09-28 10:01:47 +0200 <maerwald> Guest_68: run the install script again and answer with YES at the end again
2020-09-28 10:01:48 +0200 <yushyin> open a text editor, fill it with content (like the suggested lines), save it at the desired location
2020-09-28 10:02:25 +0200 <yushyin> would be one possibility
2020-09-28 10:02:28 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-09-28 10:03:40 +0200bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds)
2020-09-28 10:04:39 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-09-28 10:05:23 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 240 seconds)
2020-09-28 10:05:50 +0200v_m_v(~vm_v@31-10-157-87.cgn.dynamic.upc.ch) (Remote host closed the connection)
2020-09-28 10:05:58 +0200 <Guest_68> ok thanks. solved. used something called "nano" and then "source"
2020-09-28 10:06:05 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099)
2020-09-28 10:06:10 +0200 <Guest_68> don't know what these are. just worked.
2020-09-28 10:06:45 +0200bahamas(~lucian@unaffiliated/bahamas)
2020-09-28 10:07:48 +0200polyrain(~polyrain@2001:8003:e501:6901:c1af:ff99:3f53:5ced)
2020-09-28 10:08:22 +0200sw1nn(~sw1nn@host86-173-104-87.range86-173.btcentralplus.com)
2020-09-28 10:09:43 +0200 <c_wraith> nano is a very minimal text editor
2020-09-28 10:09:59 +0200 <yushyin> 'and then "source"' I don't know what that is supposed to mean :D
2020-09-28 10:10:02 +0200 <johnnyboy[m]> is call-by-name evaluation the same thing as leftmost-outermost evaluation strategy? How about normal order evaluation strategy?
2020-09-28 10:10:05 +0200kritzefitz(~kritzefit@fw-front.credativ.com)
2020-09-28 10:10:09 +0200 <c_wraith> source loads a file into the current bash environment. Which lets you pick up changes to a config file without restarting the terminal
2020-09-28 10:10:31 +0200 <Guest_68> yushyin :D
2020-09-28 10:11:00 +0200 <Guest_68> c_wraith thanks
2020-09-28 10:11:31 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 10:11:38 +0200bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2020-09-28 10:11:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 10:12:29 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se) (Remote host closed the connection)
2020-09-28 10:12:46 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se)
2020-09-28 10:13:10 +0200 <Guest_68> I just watched a video about haskell and liked those "type" stuff written before functions. It was interesting that these stuff are just comments in other programming languages, but in haskell they aare something you can work with.
2020-09-28 10:16:53 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2020-09-28 10:16:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 10:18:05 +0200zaquest(~notzaques@5.128.210.178)
2020-09-28 10:18:19 +0200 <Ferdiran1> Guest_68: your sample of programming languages might be somewhat biased
2020-09-28 10:18:39 +0200 <c_wraith> Other languages have useful types too. But Haskell definitely is on the powerful side, if not at the far end.
2020-09-28 10:19:21 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2020-09-28 10:20:39 +0200 <Guest_68> my sample is empty! I've been learning programming with python and a little java just for 3 months. I just feelt like Haskell is "clean" and elegant and decided to learn it.
2020-09-28 10:21:10 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-09-28 10:23:19 +0200 <Guest_68> BTW, how can i have a username for myself here?
2020-09-28 10:23:35 +0200chaosmasttter(~chaosmast@p200300c4a70aba01051f9f9accc8fe29.dip0.t-ipconnect.de)
2020-09-28 10:25:12 +0200 <perdent> Does anyone here have MAGMA Algebraic installed on their PC? As I need to run a script I wrote and because the complexity is more than 120s (web version only allows that). I just need to see what the outputs are for my problem, it would be much appreciated if someone could help me out?
2020-09-28 10:25:16 +0200 <yushyin> Guest_68: /nick <username>
2020-09-28 10:25:24 +0200 <yushyin> Guest_68: see also https://freenode.net/kb/answer/registration
2020-09-28 10:26:41 +0200 <Guest_68> yushyin thanks
2020-09-28 10:26:54 +0200Guest_68(056aecb5@5.106.236.181) (Remote host closed the connection)
2020-09-28 10:27:09 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 10:28:40 +0200Ocelot(a010718c@160.16.113.140)
2020-09-28 10:29:47 +0200OcelotUzuki
2020-09-28 10:30:06 +0200cpressey(~cpressey@79-72-202-6.dynamic.dsl.as9105.com)
2020-09-28 10:30:14 +0200macrover(~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 272 seconds)
2020-09-28 10:30:51 +0200Sigyn(sigyn@freenode/utility-bot/sigyn) (Quit: i've seen things you people wouldn't believe. spam bots on fire off the shoulder of sigyn. i watched k-line beams glitter in the dark near the Tannhäuser Gate. all these moments will be lost in time, like tears in rain. time to /die)
2020-09-28 10:31:12 +0200 <johnnyboy[m]> Does Haskell satisfy some confluence (Church-Rosser) property?
2020-09-28 10:31:25 +0200Sigyn(sigyn@freenode/utility-bot/sigyn)
2020-09-28 10:31:25 +0200ChanServ+o Sigyn
2020-09-28 10:31:30 +0200 <johnnyboy[m]> I.e. is it true that terminating evaluations always yield the same result for the same expression?
2020-09-28 10:32:01 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-09-28 10:34:21 +0200esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127)
2020-09-28 10:34:51 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-09-28 10:35:32 +0200 <phadej> that's not meaningful, in some reduction order evaluation could diverge, in one not.
2020-09-28 10:35:36 +0200 <Cheery> johnnyboy[m]: it's possible to violate that in Haskell, but technically you'd like that to hold.
2020-09-28 10:36:27 +0200 <phadej> but yes, we like (sometimes) to think that Haskell is well-behaved rewrite system.
2020-09-28 10:38:43 +0200 <johnnyboy[m]> it's slightly confusing to see different terminology for what appears to be the same things in Haskell and lambda-calculus
2020-09-28 10:38:57 +0200 <johnnyboy[m]> evaluation vs. reduction/contraction
2020-09-28 10:39:29 +0200 <johnnyboy[m]> call-by-name vs. normal order reduction (I'm not sure if these are the same)
2020-09-28 10:39:55 +0200__monty__(~toonn@unaffiliated/toonn)
2020-09-28 10:40:02 +0200 <johnnyboy[m]> on the other hand, things often tend to have different names in different contexts
2020-09-28 10:40:29 +0200Uzuki(a010718c@160.16.113.140) (Ping timeout: 245 seconds)
2020-09-28 10:40:55 +0200 <johnnyboy[m]> after learning some category theory, regular math starts to look like as if it's constantly reinventing the same wheel under different names
2020-09-28 10:41:13 +0200 <c_wraith> Haskell isn't confluent in the sense that every expression reduces.
2020-09-28 10:41:29 +0200 <johnnyboy[m]> yes, I know that part
2020-09-28 10:41:39 +0200 <johnnyboy[m]> but it could be weakly normalising
2020-09-28 10:41:59 +0200 <Cheery> System.IO.Unsafe
2020-09-28 10:42:16 +0200 <Cheery> you get unsafePerformIO :: IO a -> a
2020-09-28 10:42:26 +0200elred_(~elred_@84.39.116.180) (Remote host closed the connection)
2020-09-28 10:42:57 +0200 <c_wraith> But people do say that every expression that converges under *some* evaluation order should converge in Haskell. I haven't gone digging through the spec to verify that it's actually in there.
2020-09-28 10:44:08 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-dtubdednlwbvjfwc) (Quit: Connection closed for inactivity)
2020-09-28 10:44:23 +0200 <johnnyboy[m]> I think there's this theorem in lambda-calculus saying that the leftmost outermost strategy always finds the normal form if it exitsts
2020-09-28 10:44:53 +0200 <c_wraith> and obviously that falls apart when you start doing things with unsafePerformIO like reading from an IORef and doing different things based on the result.
2020-09-28 10:45:53 +0200 <johnnyboy[m]> I was considering the pure part of Haskell
2020-09-28 10:46:05 +0200 <johnnyboy[m]> I probably should have mentioned that
2020-09-28 10:46:07 +0200 <c_wraith> But in the subset of haskell that bans execution, yeah
2020-09-28 10:46:28 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-09-28 10:47:03 +0200 <ggVGc> the best part about unsafePerformIO is that in the worst case you're just doing JS :D
2020-09-28 10:47:09 +0200 <cpressey> The pure part of Haskell should be confluent, in the sense that term is used in term rewriting. If there are exceptions, I'd like to know about them,
2020-09-28 10:47:14 +0200 <Uniaika> ggVGc: hahaha
2020-09-28 10:47:30 +0200dhil(~dhil@11.29.39.217.dyn.plus.net)
2020-09-28 10:47:37 +0200 <ggVGc> I mean, it's not entirely true...
2020-09-28 10:47:40 +0200 <cpressey> *I'd sure like to know about them!
2020-09-28 10:47:41 +0200 <ggVGc> worst case you're doing C++ I guess
2020-09-28 10:47:55 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
2020-09-28 10:47:55 +0200 <ggVGc> which to be fair is pretty bad
2020-09-28 10:48:07 +0200 <c_wraith> nah. the worst case with unsafePerformIO is really worse than that, as GHC is free to optimize pretending it doesn't exist.
2020-09-28 10:48:13 +0200 <johnnyboy[m]> do you get runtime linkage errors in Haskell?
2020-09-28 10:48:18 +0200 <ggVGc> oh well
2020-09-28 10:48:19 +0200 <johnnyboy[m]> if not, that's not C++ :P
2020-09-28 10:48:21 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-09-28 10:48:57 +0200bastelfreak(~bastelfre@voxpupuli/pmc/bastelfreak) (Ping timeout: 260 seconds)
2020-09-28 10:49:00 +0200 <c_wraith> cpressey: I think you have to consider all bottoms equivalent, otherwise imprecise exceptions bite you
2020-09-28 10:49:23 +0200 <cpressey> Oh right, exceptions
2020-09-28 10:49:37 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no)
2020-09-28 10:49:50 +0200 <johnnyboy[m]> in lambda-calculus, not all non-normalising terms can be considered as bottoms
2020-09-28 10:50:00 +0200 <johnnyboy[m]> otherwise, the system becomes inconsistent
2020-09-28 10:51:04 +0200 <c_wraith> Haskell is already an inconsistent logic. (Turns out programming is way easier as a practical matter when your type system is an inconsistent logic)
2020-09-28 10:51:36 +0200 <johnnyboy[m]> I wonder if there are paraconsistent programming languages...
2020-09-28 10:52:52 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 10:52:58 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-09-28 10:57:00 +0200TooDifficult(~TooDiffic@139.59.59.230) (Quit: TooDifficult)
2020-09-28 10:57:15 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-09-28 11:00:07 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-09-28 11:01:35 +0200cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-09-28 11:04:27 +0200shatriff(~vitaliish@176.52.219.10) (Ping timeout: 256 seconds)
2020-09-28 11:05:05 +0200drbean(~drbean@TC210-63-209-143.static.apol.com.tw) (Ping timeout: 240 seconds)
2020-09-28 11:05:38 +0200Turmfalke(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-09-28 11:09:21 +0200Uzukiw619(a010718c@160.16.113.140)
2020-09-28 11:09:53 +0200 <dminuoso> Im adding some "audit logging" to a servant api, where interaction with resources cause audit trails that can be read from though `/foo/:id/audit`. Ive started to have this type `data LogEntry = LogEntry { logSlug :: LogSlug, logMessage :: Text, logTimestamp :: UTCTime }`, where LogSlug is this huge coproduct type of nullary constructors with `data LogSlug = FooHappened | BarHappened |
2020-09-28 11:09:54 +0200 <dminuoso> StuffChanged | ...`
2020-09-28 11:10:06 +0200 <dminuoso> Is this idea of having a large coproduct type sensible for this usecase?
2020-09-28 11:10:26 +0200fiQ2(~fiQ@mirkk.ninja)
2020-09-28 11:10:38 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no) (Remote host closed the connection)
2020-09-28 11:10:58 +0200Erato(585fc8fd@ti0203q160-3035.bb.online.no)
2020-09-28 11:11:07 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds)
2020-09-28 11:11:37 +0200Erato(585fc8fd@ti0203q160-3035.bb.online.no) (Remote host closed the connection)
2020-09-28 11:12:39 +0200nan`(~nan`@unaffiliated/nan/x-5405850)
2020-09-28 11:13:23 +0200carlomagno(~cararell@inet-hqmc02-o.oracle.com)
2020-09-28 11:13:35 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-09-28 11:13:43 +0200kuribas(~user@ptr-25vy0i7prrvbu6qbdzj.18120a2.ip6.access.telenet.be)
2020-09-28 11:13:49 +0200Uzukiw619(a010718c@160.16.113.140) (Ping timeout: 245 seconds)
2020-09-28 11:15:07 +0200 <gentauro> dminuoso: what about `data LogSlug = LogCode Word`?
2020-09-28 11:15:07 +0200carlomagno1(~cararell@inet-hqmc02-o.oracle.com) (Ping timeout: 240 seconds)
2020-09-28 11:15:50 +0200 <gentauro> that way you can still pattern match, but reducing the amount of `tags` in your `sum type`
2020-09-28 11:15:55 +0200thc202(~thc202@unaffiliated/thc202)
2020-09-28 11:16:20 +0200acidjnk_new(~acidjnk@p200300d0c72378044c2002cf67e0d923.dip0.t-ipconnect.de)
2020-09-28 11:16:53 +0200 <dminuoso> gentauro: Isn't that just the same though? Except now I write `LogCode 10`, where it's not obvious what 10 is, whether 10 is correct, etc. And on the other side I pattern match against a number.
2020-09-28 11:18:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-09-28 11:18:59 +0200jedws(~jedws@121.209.139.222)
2020-09-28 11:19:02 +0200 <gentauro> dminuoso: I guess. I have been working with M$ systems that had more that to many `error codes`. I would never create these as a `sum type`: https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/org-service/web-service-e…
2020-09-28 11:19:03 +0200kenran(~maier@b2b-37-24-119-190.unitymedia.biz) (Quit: leaving)
2020-09-28 11:19:18 +0200 <gentauro> I would rather just have a numbe and then look it up on that page to be honest
2020-09-28 11:19:20 +0200 <cpressey> dminuoso: What kinds of things are you logging?
2020-09-28 11:19:42 +0200 <gentauro> s/numbe/number/
2020-09-28 11:20:56 +0200 <dminuoso> cpressey: Essentially modifications to resources, sort of a "changelog" if you want.
2020-09-28 11:22:10 +0200 <cpressey> dminuoso: My feeling is that you should try to capture the structure of the changes in the type. There isn't much sense data-modelling a "log line" because it's not a domain object, it's more like an artefact.
2020-09-28 11:22:13 +0200 <gentauro> dminuoso: and I also realized that Haskell (GHC) is not happe with really big `sum types` :) http://blog.stermon.com/articles/2020/03/30/haskell-data-octet-safe-idiomatic-and-big.html and http://blog.stermon.com/articles/2020/04/06/haskell-data-octet-nand-smaller-but-slower.html
2020-09-28 11:22:57 +0200 <cpressey> e.g. data LogEntry = ThingFieldChange ThingId FieldId UTCTime | OtherChange ...
2020-09-28 11:22:58 +0200 <gentauro> s/happe/happy
2020-09-28 11:23:44 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 11:27:47 +0200josh_(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-09-28 11:29:22 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-09-28 11:29:53 +0200bitmagie(~Thunderbi@200116b806356300acea16c9c4c48994.dip.versatel-1u1.de)
2020-09-28 11:34:17 +0200jgt(~jgt@46.250.27.223.pool.breezein.net)
2020-09-28 11:35:09 +0200 <jgt> is there a nicer way to make something like this work? `or [ isJust $ Just 1, isJust $ Just "foo" ]`
2020-09-28 11:35:25 +0200shatriff(~vitaliish@176.52.219.10)
2020-09-28 11:36:27 +0200 <jgt> something with `any isJust` won't work, because then the list would be heterogenous
2020-09-28 11:37:21 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 11:38:23 +0200cosimone(~cosimone@2001:b07:ae5:db26:f68c:50ff:fe0b:b774)
2020-09-28 11:43:01 +0200 <cpressey> jgt: It's very unclear to me what you want to accomplish. Is it important that the values be in a list?
2020-09-28 11:44:17 +0200 <EvanR> yeah you can't even create the list you're talking about because everything in it must be the same type
2020-09-28 11:44:35 +0200 <jgt> cpressey: No, I have a bunch of heterogenous values, and I want to check if any of them are a Just
2020-09-28 11:45:16 +0200bahamas(~lucian@unaffiliated/bahamas)
2020-09-28 11:45:18 +0200 <cpressey> jgt: case (x,y,z) of (Nothing, Nothing, Nothing) -> none are Just; _ -> yes at least one it
2020-09-28 11:45:27 +0200 <cpressey> s/it/is/
2020-09-28 11:46:37 +0200 <jgt> is there another way that avoids a tuple? The tuple would work, but it's a little unergonomic for larger collections of values
2020-09-28 11:47:15 +0200 <EvanR> what form does this collection actually take
2020-09-28 11:48:32 +0200 <EvanR> genuinely curious
2020-09-28 11:48:54 +0200 <jgt> it's actually in a record, so my function is pulling out specific fields from a record and checking if any of them are a Just
2020-09-28 11:49:07 +0200jedws(~jedws@121.209.139.222)
2020-09-28 11:50:06 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-09-28 11:50:13 +0200bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2020-09-28 11:50:22 +0200 <EvanR> can you make a polymorphic function that takes a record, a field, and returns a Bool
2020-09-28 11:50:49 +0200 <EvanR> i.e. generic record lib
2020-09-28 11:51:03 +0200 <jgt> yeah, I think that might be the way to do it
2020-09-28 11:51:24 +0200 <jgt> or maybe the original approach is totally fine; might be silly to over-engineer it
2020-09-28 11:51:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 11:51:29 +0200 <jgt> just looks a bit noisy
2020-09-28 11:52:20 +0200 <EvanR> since you don't care about the payload i would think you want to put a zillion "hasField foo bar" instead of isJust
2020-09-28 11:55:43 +0200 <dminuoso> jgt: Perhaps it might be easier to see the context of the code.
2020-09-28 11:55:51 +0200v4hn(~v4hn@185.244.214.216)
2020-09-28 11:56:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 11:56:06 +0200 <dminuoso> Maybe, you're too deep in XY land.
2020-09-28 11:56:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-09-28 11:56:27 +0200hackagereplace-megaparsec 1.4.3.0 - Find, replace, and split string patterns with Megaparsec parsers (instead of regex) https://hackage.haskell.org/package/replace-megaparsec-1.4.3.0 (JamesBrock)
2020-09-28 12:00:27 +0200 <jackdk> Anyone here familiar with amazonka-dynamodb? I'm trying to write a conditional PUT that succeeds only if the timestamp of the item is greater than the timestamp of the item in the table. I'm currently stuck trying to create a value of type Network.AWS.DynamoDB.Types.AttributeValue that stands for an expressionAttributeValue `:foo`.
2020-09-28 12:00:38 +0200 <jackdk> Axman6: I know you've dabbled in this space
2020-09-28 12:00:49 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-09-28 12:02:29 +0200nan`(~nan`@unaffiliated/nan/x-5405850) (Quit: leaving)
2020-09-28 12:03:09 +0200plutoniix(~q@175.176.222.7) (Quit: Leaving)
2020-09-28 12:06:15 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 12:06:21 +0200Guest44502(2e0592c5@HSI-KBW-046-005-146-197.hsi8.kabel-badenwuerttemberg.de)
2020-09-28 12:06:50 +0200dcoutts(~duncan@70.14.75.194.dyn.plus.net)
2020-09-28 12:06:50 +0200dcoutts(~duncan@70.14.75.194.dyn.plus.net) (Changing host)
2020-09-28 12:06:50 +0200dcoutts(~duncan@unaffiliated/dcoutts)
2020-09-28 12:06:59 +0200Guest44502(2e0592c5@HSI-KBW-046-005-146-197.hsi8.kabel-badenwuerttemberg.de) (Remote host closed the connection)
2020-09-28 12:07:26 +0200testasjkdflk(2e0592c5@HSI-KBW-046-005-146-197.hsi8.kabel-badenwuerttemberg.de)
2020-09-28 12:07:41 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099) (Remote host closed the connection)
2020-09-28 12:10:39 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-09-28 12:11:11 +0200justache(~justache@unaffiliated/justache) (Remote host closed the connection)
2020-09-28 12:12:31 +0200justache(~justache@unaffiliated/justache)
2020-09-28 12:13:56 +0200macrover(~macrover@ip70-189-231-35.lv.lv.cox.net)
2020-09-28 12:16:25 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 12:17:12 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 12:21:08 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-28 12:23:15 +0200Clough(~Cain@203.220.28.77)
2020-09-28 12:26:15 +0200Guest_50(907c8df3@avp1.pip.aber.ac.uk)
2020-09-28 12:26:44 +0200 <Guest_50> im trying to download on mac but having issues, could anyone help?
2020-09-28 12:27:56 +0200miguel_clean(~Miguel@89-72-187-203.dynamic.chello.pl)
2020-09-28 12:28:09 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no)
2020-09-28 12:29:01 +0200 <miguel_clean> eh, I let my programm run over the weekend with +RTS -p but the resulting .prof file only reports a total time of ~120seconds... while the programm was taking up around 100-200% cores for all the time.. what am I missing?
2020-09-28 12:29:12 +0200 <yushyin> Guest_50: what are you trying exactly?
2020-09-28 12:29:29 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 12:30:00 +0200bahamas(~lucian@unaffiliated/bahamas)
2020-09-28 12:31:00 +0200bahamas(~lucian@unaffiliated/bahamas) (Client Quit)
2020-09-28 12:31:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 12:32:08 +0200jedws(~jedws@121.209.139.222)
2020-09-28 12:33:27 +0200jedws(~jedws@121.209.139.222) (Client Quit)
2020-09-28 12:33:34 +0200testasjkdflk(2e0592c5@HSI-KBW-046-005-146-197.hsi8.kabel-badenwuerttemberg.de) (Remote host closed the connection)
2020-09-28 12:34:02 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-09-28 12:39:18 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-09-28 12:39:33 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 12:43:07 +0200 <dminuoso> gentauro: Well this is definitely not a CPU intensive code path.
2020-09-28 12:43:27 +0200kasdjf(2e0592c5@HSI-KBW-046-005-146-197.hsi8.kabel-badenwuerttemberg.de)
2020-09-28 12:44:12 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-09-28 12:44:37 +0200 <dminuoso> cpressey: Mmm, well the UTCTime I would still float out since that's common to *every* log occurence anyway,.
2020-09-28 12:44:47 +0200 <dminuoso> But I see what you mean.
2020-09-28 12:45:53 +0200jgt(~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 256 seconds)
2020-09-28 12:46:30 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-09-28 12:49:46 +0200jgt(~jgt@46.250.27.223.pool.breezein.net)
2020-09-28 12:50:41 +0200Tops2(~Tobias@dyndsl-095-033-025-158.ewe-ip-backbone.de)
2020-09-28 12:50:47 +0200Alleria_(~AllahuAkb@2604:2000:1484:26:c494:5a0b:fe0f:9b26) (Ping timeout: 240 seconds)
2020-09-28 12:51:32 +0200Alleria_(~AllahuAkb@2604:2000:1484:26:152c:c49d:783f:dfa7)
2020-09-28 12:53:10 +0200 <maerwald> yushyin: some course must have started
2020-09-28 12:53:25 +0200 <yushyin> seems so :D
2020-09-28 12:53:43 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se) (Ping timeout: 246 seconds)
2020-09-28 12:53:54 +0200 <MarcelineVQ> maerwald: must be rough, hang in there
2020-09-28 12:54:04 +0200jgt(~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 246 seconds)
2020-09-28 12:56:07 +0200Alleria_(~AllahuAkb@2604:2000:1484:26:152c:c49d:783f:dfa7) (Ping timeout: 260 seconds)
2020-09-28 12:56:34 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 12:57:15 +0200Alleria_(~AllahuAkb@69.202.254.168)
2020-09-28 12:58:54 +0200jgt(~jgt@46.250.27.223.pool.breezein.net)
2020-09-28 13:01:03 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-09-28 13:02:35 +0200rprije(~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au) (Ping timeout: 240 seconds)
2020-09-28 13:03:14 +0200Guest_50(907c8df3@avp1.pip.aber.ac.uk) (Remote host closed the connection)
2020-09-28 13:03:40 +0200v_m_v(~vm_v@31-10-157-87.cgn.dynamic.upc.ch)
2020-09-28 13:03:43 +0200jgt(~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 260 seconds)
2020-09-28 13:04:03 +0200Aquazi(uid312403@gateway/web/irccloud.com/x-miajzzxztjikfpri)
2020-09-28 13:04:57 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se)
2020-09-28 13:06:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 13:06:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-09-28 13:07:07 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 240 seconds)
2020-09-28 13:08:04 +0200jgt(~jgt@46.250.27.223.pool.breezein.net)
2020-09-28 13:08:40 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-09-28 13:10:45 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-09-28 13:11:10 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-09-28 13:11:33 +0200 <yushyin> maybe just add a faq entry, 'macOS common gotchas'
2020-09-28 13:12:05 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-09-28 13:12:28 +0200jgt(~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 260 seconds)
2020-09-28 13:12:48 +0200 <MarcelineVQ> From what I've seen the most common gotcha is not reading the terminal output, and not pasting it into google to find out what it means if you do
2020-09-28 13:13:00 +0200 <MarcelineVQ> In that particular case a faq would go unread as well, imo
2020-09-28 13:13:02 +0200 <fendor> wasn't this mainly "I dont know about PATH"?
2020-09-28 13:13:16 +0200 <maerwald> MarcelineVQ: well, I just added https://gitlab.haskell.org/haskell/ghcup-hs/-/commit/3e429945dcd90bf65ed49dc36683c3d6ed37aa28
2020-09-28 13:13:19 +0200 <fendor> hard to write an FAQ about that
2020-09-28 13:13:22 +0200 <ph88> I have a typeclass with getStart and getStop Is there syntax that i automatically get getDuration for any instance that implements this typeclass ??
2020-09-28 13:13:33 +0200 <maerwald> which I think isn't really such a good idea, but it might decrease the noise here
2020-09-28 13:13:43 +0200 <fendor> maerwald, :+1:
2020-09-28 13:14:31 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-09-28 13:15:31 +0200 <ph88> i think i found my answer here https://downloads.haskell.org/ghc/latest/docs/html/users_guide/glasgow_exts.html#default-method-si…
2020-09-28 13:16:01 +0200 <MarcelineVQ> ph88: Oh ok I was gonna ask if getDuration was also part of the class
2020-09-28 13:16:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 13:17:16 +0200jgt(~jgt@46.250.27.223.pool.breezein.net)
2020-09-28 13:17:20 +0200 <MarcelineVQ> mind that it doesn't need to be a class method, for the most part all you can do with a start and an end to get a duration is subtract, so there's not a huge point to having it be its own method as opposed to just a function you export that uses the class's methods
2020-09-28 13:17:26 +0200 <lortabac> ph88: including getDuration in the class makes sense if there is a possibility to provide a more efficient implementation for some instances
2020-09-28 13:17:44 +0200 <lortabac> otherwise a normal function is a better idea
2020-09-28 13:18:04 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 272 seconds)
2020-09-28 13:18:56 +0200v_m_v(~vm_v@31-10-157-87.cgn.dynamic.upc.ch) (Remote host closed the connection)
2020-09-28 13:19:27 +0200 <ph88> lortabac, why would you say a normal function is better ?
2020-09-28 13:19:31 +0200owenowen(~owen@2a02:8084:d6c4:5700:64d9:defe:2add:6398)
2020-09-28 13:20:31 +0200 <lortabac> ph88: if the implementation is always the same, why should it be a class method?
2020-09-28 13:20:33 +0200 <MarcelineVQ> Because most defintions will just be getstart, dothing, get end, end - start
2020-09-28 13:20:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 13:23:03 +0200v_m_v(~vm_v@31-10-157-87.cgn.dynamic.upc.ch)
2020-09-28 13:24:47 +0200bitmagie(~Thunderbi@200116b806356300acea16c9c4c48994.dip.versatel-1u1.de) (Quit: bitmagie)
2020-09-28 13:26:03 +0200_hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-09-28 13:26:38 +0200owenowen(~owen@2a02:8084:d6c4:5700:64d9:defe:2add:6398) (Quit: Leaving.)
2020-09-28 13:26:51 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 13:28:11 +0200jespada(~jespada@90.254.241.6) (Ping timeout: 240 seconds)
2020-09-28 13:29:17 +0200tchouri(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-09-28 13:29:28 +0200tchourihekkaidekapus
2020-09-28 13:30:35 +0200jespada(~jespada@90.254.241.6)
2020-09-28 13:31:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-09-28 13:33:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 13:37:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 13:41:30 +0200auri_(~auri_@fsf/memeber/auri-) (Ping timeout: 272 seconds)
2020-09-28 13:41:39 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-09-28 13:42:12 +0200chaosmasttter(~chaosmast@p200300c4a70aba01051f9f9accc8fe29.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-09-28 13:44:09 +0200Lycurgus(~niemand@98.4.96.130)
2020-09-28 13:45:07 +0200v_m_v(~vm_v@31-10-157-87.cgn.dynamic.upc.ch) (Remote host closed the connection)
2020-09-28 13:45:26 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099)
2020-09-28 13:47:28 +0200alx741_(~alx741@186.178.110.72) (Ping timeout: 260 seconds)
2020-09-28 13:47:50 +0200aurieeeh(~aurieh@static.91.102.243.136.clients.your-server.de) (Ping timeout: 272 seconds)
2020-09-28 13:48:36 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 13:48:58 +0200hackageacc 0.1 - Sequence optimized for monoidal construction and folding https://hackage.haskell.org/package/acc-0.1 (NikitaVolkov)
2020-09-28 13:49:47 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099) (Ping timeout: 260 seconds)
2020-09-28 13:50:41 +0200auri_(~auri_@fsf/memeber/auri-)
2020-09-28 13:51:05 +0200aurieeeh(~aurieh@static.91.102.243.136.clients.your-server.de)
2020-09-28 13:52:34 +0200kasdjf(2e0592c5@HSI-KBW-046-005-146-197.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 245 seconds)
2020-09-28 13:52:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 13:56:37 +0200chaosmasttter(~chaosmast@p200300c4a70aba01051f9f9accc8fe29.dip0.t-ipconnect.de)
2020-09-28 13:56:53 +0200cpressey(~cpressey@79-72-202-6.dynamic.dsl.as9105.com) (Quit: WeeChat 1.9.1)
2020-09-28 13:59:13 +0200TheScoop(~TheScoop@unaffiliated/tryte)
2020-09-28 13:59:33 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-ufxmssfsrzweqpvh) (Quit: Connection closed for inactivity)
2020-09-28 14:00:01 +0200v4hn(~v4hn@185.244.214.216) ()
2020-09-28 14:00:02 +0200alx741_(~alx741@181.196.69.150)
2020-09-28 14:03:29 +0200urodna(~urodna@unaffiliated/urodna)
2020-09-28 14:04:11 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 14:05:34 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
2020-09-28 14:07:06 +0200cosimone(~cosimone@2001:b07:ae5:db26:f68c:50ff:fe0b:b774) (Read error: Connection reset by peer)
2020-09-28 14:08:31 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-28 14:09:47 +0200ubert(~Thunderbi@178.165.129.225.wireless.dyn.drei.com)
2020-09-28 14:10:10 +0200xerox_(~xerox@unaffiliated/xerox)
2020-09-28 14:10:47 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 14:12:20 +0200svipal(5baf3116@91-175-49-22.subs.proxad.net)
2020-09-28 14:13:59 +0200 <svipal> Yo
2020-09-28 14:14:14 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 14:14:18 +0200 <svipal> Contexts not working for some reason in my projects that use inline-c
2020-09-28 14:14:47 +0200 <svipal> I have literally the same code as my old projects but somehow not working ? what is this black magic
2020-09-28 14:15:09 +0200 <svipal> ah
2020-09-28 14:15:09 +0200 <svipal> AH
2020-09-28 14:15:11 +0200 <svipal> nvm
2020-09-28 14:15:15 +0200 <merijn> New compiler? New version? New...?
2020-09-28 14:15:22 +0200 <svipal> No I'm just dumb
2020-09-28 14:15:23 +0200 <merijn> Copy paste fuck up? :p
2020-09-28 14:15:29 +0200 <svipal> W o r s e
2020-09-28 14:15:38 +0200 <merijn> You forgot to hit save!
2020-09-28 14:16:12 +0200 <svipal> No I just switched which of the two names in the type table I was supposed to quote in the C code zzzzzzz
2020-09-28 14:16:22 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-09-28 14:16:37 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-09-28 14:18:14 +0200phaul(~phaul@ruby/staff/phaul) (Ping timeout: 272 seconds)
2020-09-28 14:18:46 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-09-28 14:19:36 +0200phaul(~phaul@ruby/staff/phaul)
2020-09-28 14:20:00 +0200schwuk(~schwuk@185.244.214.216)
2020-09-28 14:20:54 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-09-28 14:21:12 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-09-28 14:22:09 +0200svipal(5baf3116@91-175-49-22.subs.proxad.net) (Ping timeout: 245 seconds)
2020-09-28 14:24:06 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3)
2020-09-28 14:25:38 +0200jgt(~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 256 seconds)
2020-09-28 14:28:26 +0200svipal(5baf3116@91-175-49-22.subs.proxad.net)
2020-09-28 14:28:54 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 14:29:29 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-09-28 14:30:27 +0200John20(~John@82.46.59.122) (Ping timeout: 240 seconds)
2020-09-28 14:30:30 +0200igghibu(~igghibu@37.120.201.90)
2020-09-28 14:30:34 +0200polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Quit: WeeChat 2.9)
2020-09-28 14:32:22 +0200igghibu(~igghibu@37.120.201.90) (Client Quit)
2020-09-28 14:32:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-09-28 14:33:41 +0200zyextant(~zyextant@217.138.205.68)
2020-09-28 14:33:49 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-09-28 14:34:27 +0200ahri(~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
2020-09-28 14:35:15 +0200ahri(~ahri@178.209.40.84)
2020-09-28 14:35:46 +0200 <svipal> with stack/cabal can I specify where to install a foreign lib once it's built ?
2020-09-28 14:35:47 +0200ryansmccoy(~ryansmcco@193.37.254.27) (Ping timeout: 240 seconds)
2020-09-28 14:35:58 +0200ryansmccoy(~ryansmcco@156.96.151.132)
2020-09-28 14:37:19 +0200coot(~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl)
2020-09-28 14:38:44 +0200 <Xnuk> Is it worth for trying cabal v2+ over stack?
2020-09-28 14:39:06 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 14:39:35 +0200darjeeling_(~darjeelin@122.245.121.113)
2020-09-28 14:40:02 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-09-28 14:41:22 +0200 <svipal> No idea
2020-09-28 14:41:34 +0200 <svipal> Honestly I'm just using stack because it works for me
2020-09-28 14:41:47 +0200dhil(~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 240 seconds)
2020-09-28 14:42:45 +0200jgt(~jgt@46.250.27.223.pool.breezein.net)
2020-09-28 14:43:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 14:43:46 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Remote host closed the connection)
2020-09-28 14:44:30 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 14:45:39 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:3859:e660:d8f9:23e1)
2020-09-28 14:46:37 +0200 <[exa]> Xnuk: does your setup explicitly require stack? (if not, you can avoid a lot of cruft)
2020-09-28 14:48:05 +0200alp(~alp@2a01:e0a:58b:4920:9c53:5eed:91e4:af76) (Ping timeout: 246 seconds)
2020-09-28 14:48:15 +0200 <hc> I'm getting the impression that stack is not entirely popular in the larger haskell community?
2020-09-28 14:49:12 +0200 <dminuoso> Xnuk: Try it and see whether you like it?
2020-09-28 14:49:16 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 256 seconds)
2020-09-28 14:49:17 +0200 <dminuoso> It's, mostly, a drop in solution
2020-09-28 14:49:27 +0200 <yushyin> hc: more of a 50:50 split
2020-09-28 14:49:27 +0200 <dminuoso> Just run hpack once, then you can try cabal directly with your project
2020-09-28 14:49:40 +0200 <dminuoso> In most cases it will just work, but you might have to adapt version bounds.
2020-09-28 14:49:53 +0200 <Uniaika> hc: you can't have absolutes in a 30-year old community :)
2020-09-28 14:50:04 +0200 <dminuoso> But really, stack and cabal are not the same thing, they have different mentalities.
2020-09-28 14:50:39 +0200 <hc> By the way, are there any plans to allow multiple versions of the same package in the same binary?
2020-09-28 14:50:53 +0200 <dminuoso> hc: No.
2020-09-28 14:50:59 +0200 <dminuoso> Or rather, this presents really big challenges
2020-09-28 14:51:06 +0200 <dminuoso> If you allowed that, you could not have interop between them
2020-09-28 14:51:25 +0200drbean(~drbean@TC210-63-209-90.static.apol.com.tw)
2020-09-28 14:51:29 +0200 <hc> I never looked into the implications; I just know that rust does it and it seems to work around certain issues for them pretty well
2020-09-28 14:51:34 +0200 <Xnuk> Is there no more butterfly version resolving in cabal?
2020-09-28 14:52:25 +0200 <dminuoso> Say if you got `t :: T` from libraryT 1.1, can you pass that to `f :: T -> A` from libraryT 1.2?
2020-09-28 14:52:37 +0200 <dminuoso> How can we know whether this is safe?
2020-09-28 14:52:52 +0200 <Uniaika> you'd have to encode that somehow in the interface file
2020-09-28 14:53:36 +0200 <hc> hmm, two packages of the same version would never need to "interact" directly
2020-09-28 14:53:36 +0200 <yushyin> oh this reminds me of JS and npm, and I'm getting nightmares
2020-09-28 14:53:37 +0200 <dminuoso> And this might be obvious if you're the immediate user of those two, but through transitive versions, this can lead to highly incoherent code.
2020-09-28 14:53:53 +0200 <dminuoso> Things become just much simpler if you demand coherency
2020-09-28 14:53:56 +0200 <Uniaika> Xnuk: I think not? The last mention of it was from 2011 but I don't know anybody who does that in real-life
2020-09-28 14:53:57 +0200 <hc> I wonder what rust did to make this work?
2020-09-28 14:54:26 +0200 <dminuoso> hc: Are you sure you are not conflating things?
2020-09-28 14:54:40 +0200 <dminuoso> Are you sure rust allows multiple versions of the same crate in a binary?
2020-09-28 14:54:49 +0200 <hc> dminuoso: positive
2020-09-28 14:54:52 +0200 <dminuoso> Fair enough
2020-09-28 14:54:58 +0200 <hc> but only 99% sure
2020-09-28 14:55:00 +0200 <hc> ;p
2020-09-28 14:55:02 +0200alp(~alp@2a01:e0a:58b:4920:8d98:8295:f2f0:8a3d)
2020-09-28 14:55:26 +0200 <dminuoso> hc: I see, so Ive looked at what Rust does, and it does the only reasonable thing
2020-09-28 14:55:31 +0200 <dminuoso> It provides *no* interop between them
2020-09-28 14:55:41 +0200 <dminuoso> So `T` from libraryT 1.1 and 1.2 are different types.
2020-09-28 14:55:54 +0200 <dminuoso> And the symbols are hashed, so that they cant link
2020-09-28 14:56:08 +0200 <Uniaika> > Cargo can indeed link multiple versions of some crate, but only one of those versions can be a direct dependency. The others are indirect references.
2020-09-28 14:56:10 +0200 <lambdabot> <hint>:1:41: error: <hint>:1:41: error: parse error on input ‘of’
2020-09-28 14:56:12 +0200 <dminuoso> (that is, they are prefixed with a version hash, so that you cant resolve a mix-match)
2020-09-28 14:56:16 +0200 <idnar> dminuoso: I thought ghc did allow this the same way
2020-09-28 14:56:20 +0200 <Uniaika> from two years ago, dminuoso https://stackoverflow.com/questions/51714866/is-it-documented-that-cargo-can-download-and-bundle-m…
2020-09-28 14:57:04 +0200 <dminuoso> idnar: Possibly if you manually link?
2020-09-28 14:57:14 +0200 <dminuoso> At least, with cabal you cant since it attempts to generate a coherent build plan
2020-09-28 14:57:26 +0200 <dminuoso> So if you have two conflicting version constraints, cabal will error out
2020-09-28 14:57:29 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 14:58:59 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
2020-09-28 14:59:31 +0200svipal(5baf3116@91-175-49-22.subs.proxad.net) (Remote host closed the connection)
2020-09-28 14:59:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 14:59:33 +0200 <dminuoso> I think this is rather an artifact of cabal old-style
2020-09-28 14:59:53 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-09-28 15:01:47 +0200catkiki(~catkiki@m90-134-157-227.cust.tele2.hr)
2020-09-28 15:02:07 +0200st8less(~st8less@2603:a060:11fe:0:b186:dda4:132a:2a8a)
2020-09-28 15:02:07 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-09-28 15:02:11 +0200alexm_(~alexm_@161.8.233.138) (Read error: Connection reset by peer)
2020-09-28 15:02:41 +0200alexm_(~alexm_@161.8.233.138)
2020-09-28 15:03:28 +0200st8less(~st8less@2603:a060:11fe:0:b186:dda4:132a:2a8a) (Client Quit)
2020-09-28 15:03:42 +0200st8less(~st8less@2603:a060:11fe:0:b186:dda4:132a:2a8a)
2020-09-28 15:03:53 +0200raichoo(~raichoo@213.240.178.58)
2020-09-28 15:04:27 +0200st8less(~st8less@2603:a060:11fe:0:b186:dda4:132a:2a8a) (Client Quit)
2020-09-28 15:05:05 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) (Remote host closed the connection)
2020-09-28 15:05:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-09-28 15:06:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 15:06:58 +0200st8less(~st8less@2603:a060:11fe:0:b186:dda4:132a:2a8a)
2020-09-28 15:07:47 +0200Clough(~Cain@203.220.28.77) (Read error: Connection reset by peer)
2020-09-28 15:10:14 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0)
2020-09-28 15:10:58 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:a1dd:f1b1:6d57:5dcc)
2020-09-28 15:11:33 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-09-28 15:13:13 +0200Voyager3(45bff138@69.191.241.56)
2020-09-28 15:13:29 +0200Voyager3(45bff138@69.191.241.56) (Remote host closed the connection)
2020-09-28 15:16:26 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0) (Remote host closed the connection)
2020-09-28 15:16:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 15:18:45 +0200jespada(~jespada@90.254.241.6) (Ping timeout: 240 seconds)
2020-09-28 15:19:02 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0)
2020-09-28 15:20:04 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0) (Remote host closed the connection)
2020-09-28 15:20:27 +0200FreeBirdLjj(~freebirdl@101.87.171.62)
2020-09-28 15:21:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-09-28 15:21:58 +0200jespada(~jespada@90.254.241.6)
2020-09-28 15:22:28 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:3859:e660:d8f9:23e1) (Remote host closed the connection)
2020-09-28 15:22:54 +0200cpressey(~cpressey@79-72-202-6.dynamic.dsl.as9105.com)
2020-09-28 15:23:07 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-09-28 15:25:14 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 15:25:44 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 15:26:57 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 15:27:01 +0200solonarv(~solonarv@anancy-653-1-63-100.w109-217.abo.wanadoo.fr)
2020-09-28 15:28:42 +0200coot(~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-09-28 15:29:27 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-09-28 15:29:35 +0200cpressey1(~cpressey@79-72-202-115.dynamic.dsl.as9105.com)
2020-09-28 15:31:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 15:32:20 +0200cpressey(~cpressey@79-72-202-6.dynamic.dsl.as9105.com) (Ping timeout: 272 seconds)
2020-09-28 15:32:24 +0200cpressey1cpressey
2020-09-28 15:32:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 15:33:57 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-09-28 15:34:21 +0200ahri(~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
2020-09-28 15:34:47 +0200cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-09-28 15:34:52 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 272 seconds)
2020-09-28 15:35:00 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:a1dd:f1b1:6d57:5dcc) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 15:35:27 +0200ahri(~ahri@178.209.40.84)
2020-09-28 15:35:55 +0200dhil(~dhil@11.29.39.217.dyn.plus.net)
2020-09-28 15:35:57 +0200Sanchayan(~Sanchayan@136.185.169.201) (Quit: leaving)
2020-09-28 15:37:51 +0200supercoven(~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
2020-09-28 15:38:22 +0200 <amf> is there a limit on the number of constructors a sum type can have?
2020-09-28 15:39:31 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-09-28 15:40:06 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:c91d:ce79:28bc:1ecb)
2020-09-28 15:40:20 +0200 <dminuoso> amf: Do a quick attempt with TH to find out? ;)
2020-09-28 15:40:33 +0200 <dminuoso> The language itself poses no restriction here.
2020-09-28 15:41:07 +0200 <dminuoso> There likely is some implementation limitation, maybe something along the lines of 2^32-1 constructors?
2020-09-28 15:41:11 +0200 <dminuoso> On GHC anyway
2020-09-28 15:42:16 +0200 <amf> yeah i could try TH, but was hoping for it documented somewhere, ghc isn't complaining, but im only at 255
2020-09-28 15:42:29 +0200 <dminuoso> amf: Fun fact: https://hackage.haskell.org/package/ghc-prim-0.6.1/docs/src/GHC.Tuple.html#%28%2C%2C%2C%2C%2C%2C%2…
2020-09-28 15:42:33 +0200 <dminuoso> (See the comment below)
2020-09-28 15:42:43 +0200 <dminuoso> I tried to nail this down a while ago, the issue was never found.
2020-09-28 15:43:57 +0200 <int-e> Oh, commas.
2020-09-28 15:45:11 +0200supercoven(~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
2020-09-28 15:45:25 +0200supercoven(~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
2020-09-28 15:50:30 +0200 <amf> now i'm wondering what kind of ascii art one could make with data declarations
2020-09-28 15:50:31 +0200 <dminuoso> amf: So the GHC doesnt complain with at least 100,000 constructors.
2020-09-28 15:51:09 +0200 <dminuoso> Keep in mind that, performance wise, GHC really doesn't fare well with many constructors. :p
2020-09-28 15:51:27 +0200hackagereplace-attoparsec 1.4.2.0 - Find, replace, and split string patterns with Attoparsec parsers (instead of regex) https://hackage.haskell.org/package/replace-attoparsec-1.4.2.0 (JamesBrock)
2020-09-28 15:52:03 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2020-09-28 15:52:30 +0200 <amf> far more than i thought, that should cover my needs. i cant imagine the ieft adding a lot more to the icmpv6 types/codes
2020-09-28 15:53:40 +0200rekahsoft(~rekahsoft@fitz10681.telemetry.esentire.com)
2020-09-28 15:55:46 +0200drbean(~drbean@TC210-63-209-90.static.apol.com.tw) (Ping timeout: 272 seconds)
2020-09-28 15:55:56 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 15:57:25 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
2020-09-28 15:58:47 +0200alp(~alp@2a01:e0a:58b:4920:8d98:8295:f2f0:8a3d) (Ping timeout: 246 seconds)
2020-09-28 16:00:37 +0200ystael(~ystael@209.6.50.55)
2020-09-28 16:01:54 +0200scottschecter(~scottsche@thewolf.schecterandco.com) ("The Lounge - https://thelounge.chat")
2020-09-28 16:02:51 +0200ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Quit: leaving)
2020-09-28 16:03:08 +0200ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2020-09-28 16:03:36 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:c91d:ce79:28bc:1ecb) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 16:04:36 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:8d20:3f6d:2878:b061)
2020-09-28 16:05:49 +0200ski(~ski@m-1163-19.studat.chalmers.se)
2020-09-28 16:06:20 +0200jgt(~jgt@46.250.27.223.pool.breezein.net) (Ping timeout: 256 seconds)
2020-09-28 16:06:29 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 16:06:32 +0200cp-(~cp-@b157153.ppp.asahi-net.or.jp) (Quit: Disappeared in a puff of smoke)
2020-09-28 16:07:40 +0200coot(~coot@37.30.61.70.nat.umts.dynamic.t-mobile.pl)
2020-09-28 16:07:49 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3)
2020-09-28 16:07:58 +0200cp-(~cp-@b157153.ppp.asahi-net.or.jp)
2020-09-28 16:09:01 +0200cp-(~cp-@b157153.ppp.asahi-net.or.jp) (Client Quit)
2020-09-28 16:09:58 +0200cp-(~cp-@b157153.ppp.asahi-net.or.jp)
2020-09-28 16:10:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-28 16:11:18 +0200 <dminuoso> amf: I tried with 1G constructors, but there appears to be something exponential in terms of memory usage..
2020-09-28 16:11:25 +0200 <dminuoso> Sorry, *1million
2020-09-28 16:11:58 +0200 <dminuoso> Or rather, that started swapping GHC memory.
2020-09-28 16:12:07 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds)
2020-09-28 16:12:14 +0200 <dminuoso> At that point, I aborted after 15 minutes. :p
2020-09-28 16:13:39 +0200coot(~coot@37.30.61.70.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-09-28 16:13:40 +0200 <tomsmeding> to be honest I'm not surprised that ghc gets all flustered when you give it a 1M-constructor sum type
2020-09-28 16:15:09 +0200coot(~coot@37.30.61.70.nat.umts.dynamic.t-mobile.pl)
2020-09-28 16:15:12 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-ssqdypdoaselcqyh)
2020-09-28 16:15:25 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-09-28 16:16:08 +0200clever(~clever@NixOS/user/clever)
2020-09-28 16:16:35 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 16:16:47 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 16:17:23 +0200 <MarcelineVQ> not at all, especiall if you're going to derive anything
2020-09-28 16:17:58 +0200 <dminuoso> Imagine doing generics with that :>
2020-09-28 16:18:16 +0200 <dminuoso> https://xkcd.com/303/
2020-09-28 16:19:04 +0200 <MarcelineVQ> now that would be: waiting for CI logs to update
2020-09-28 16:19:16 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no) (Remote host closed the connection)
2020-09-28 16:19:18 +0200sw1nn(~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Quit: WeeChat 2.9)
2020-09-28 16:20:55 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-09-28 16:21:00 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:3859:e660:d8f9:23e1)
2020-09-28 16:21:06 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-09-28 16:21:20 +0200sw1nn(~sw1nn@host86-173-104-87.range86-173.btcentralplus.com)
2020-09-28 16:21:21 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2020-09-28 16:22:07 +0200 <ph88> lortabac, why would you say a normal function is better ?
2020-09-28 16:22:16 +0200 <ph88> lortabac, sorry wrong window :P
2020-09-28 16:22:57 +0200machinedgod(~machinedg@45.78.189.122)
2020-09-28 16:24:47 +0200esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127) (Remote host closed the connection)
2020-09-28 16:25:04 +0200esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127)
2020-09-28 16:26:18 +0200irc_user(uid423822@gateway/web/irccloud.com/x-khkttiiavzeefazc)
2020-09-28 16:27:06 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
2020-09-28 16:27:34 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:8d20:3f6d:2878:b061) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 16:28:15 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 16:30:24 +0200polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2020-09-28 16:30:35 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-09-28 16:30:48 +0200catkiki(~catkiki@m90-134-157-227.cust.tele2.hr) (Ping timeout: 260 seconds)
2020-09-28 16:31:16 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 16:32:02 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:c0bc:5e09:a33a:1919)
2020-09-28 16:34:26 +0200ahri(~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
2020-09-28 16:34:30 +0200kelsey(~keteskyl@2600:6c64:7b7f:fa42:8860:7453:7229:ac21)
2020-09-28 16:34:43 +0200m1dnight_m1d
2020-09-28 16:34:52 +0200m1dm1dnight_
2020-09-28 16:34:53 +0200kelseyketeskyl
2020-09-28 16:35:12 +0200ahri(~ahri@178.209.40.84)
2020-09-28 16:35:13 +0200p-core(~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
2020-09-28 16:35:43 +0200BalterNotz(ca420871@202.66.8.113) (Remote host closed the connection)
2020-09-28 16:36:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 16:36:46 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 16:37:53 +0200zyextant(~zyextant@217.138.205.68) (Read error: Connection reset by peer)
2020-09-28 16:39:11 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no)
2020-09-28 16:39:18 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no) (Remote host closed the connection)
2020-09-28 16:39:28 +0200FreeBirdLjj(~freebirdl@101.87.171.62) (Remote host closed the connection)
2020-09-28 16:40:04 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0)
2020-09-28 16:40:37 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:c0bc:5e09:a33a:1919) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 16:40:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 16:43:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-09-28 16:43:34 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:6931:8218:a08c:8890)
2020-09-28 16:43:53 +0200John20(~John@82.46.59.122)
2020-09-28 16:43:53 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 16:44:11 +0200ryansmccoy(~ryansmcco@156.96.151.132) (Ping timeout: 240 seconds)
2020-09-28 16:44:13 +0200 <tomsmeding> that generics Rep type would be the hugest thing ever
2020-09-28 16:44:27 +0200hackageacc 0.1.0.1 - Sequence optimized for monoidal construction and folding https://hackage.haskell.org/package/acc-0.1.0.1 (NikitaVolkov)
2020-09-28 16:44:31 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 16:45:07 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0) (Ping timeout: 260 seconds)
2020-09-28 16:45:08 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 16:45:32 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 16:45:36 +0200ryansmccoy(~ryansmcco@156.96.151.132)
2020-09-28 16:46:06 +0200mu_(~mu@unaffiliated/mu) (Client Quit)
2020-09-28 16:46:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 16:47:20 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-rzmwmtzgbawceqym)
2020-09-28 16:49:06 +0200v_m_v(~vm_v@2a02:aa12:3200:6480:3859:e660:d8f9:23e1) (Remote host closed the connection)
2020-09-28 16:50:01 +0200ryansmccoy(~ryansmcco@156.96.151.132) (Ping timeout: 264 seconds)
2020-09-28 16:50:27 +0200ryansmccoy(~ryansmcco@68.235.48.108)
2020-09-28 16:50:48 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0)
2020-09-28 16:53:27 +0200acidjnk_new(~acidjnk@p200300d0c72378044c2002cf67e0d923.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-09-28 16:55:07 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4006:2bcd:9377:2df0) (Ping timeout: 240 seconds)
2020-09-28 16:56:24 +0200 <ph88> how come runReaderT takes 3 arguments like in runReaderT (modify (+ 2)) var at https://www.fpcomplete.com/blog/2017/06/readert-design-pattern/ but it's type signature has just one argument runReaderT :: r -> m a
2020-09-28 16:56:29 +0200 <ph88> 2 *
2020-09-28 16:59:56 +0200spew(uid195861@gateway/web/irccloud.com/x-annkkxabwayrojjt)
2020-09-28 17:00:02 +0200schwuk(~schwuk@185.244.214.216) ()
2020-09-28 17:00:09 +0200 <ski> @type runReaderT
2020-09-28 17:00:11 +0200 <lambdabot> ReaderT r m a -> r -> m a
2020-09-28 17:00:57 +0200alp(~alp@2a01:e0a:58b:4920:6866:e0a9:2220:cc41)
2020-09-28 17:01:22 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-09-28 17:01:25 +0200mmohammadi98129(~mmohammad@188.210.120.20)
2020-09-28 17:01:37 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-09-28 17:01:39 +0200 <ski> you're bitten by mixing up the type of the field `runReaderT' with the type of the field selection/projection function, which (unfortunately, imho), also happen to be spelled in the same way
2020-09-28 17:01:53 +0200 <ski> ph88 ^
2020-09-28 17:02:08 +0200Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-09-28 17:02:57 +0200 <ph88> thanks ski
2020-09-28 17:03:08 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 17:03:16 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 246 seconds)
2020-09-28 17:03:22 +0200Lord_of_Life_Lord_of_Life
2020-09-28 17:04:04 +0200 <ph88> strange .. i also can't find the right runReaderT !
2020-09-28 17:05:40 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
2020-09-28 17:07:02 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 17:07:35 +0200 <ph88> Is it possible to use Maybe Monad when also IO actions are needed ? https://bpa.st/FKYA
2020-09-28 17:07:48 +0200 <ski> "the right runReaderT" ?
2020-09-28 17:08:02 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-09-28 17:08:13 +0200 <ski> maybe you want to use `MaybeT IO' ?
2020-09-28 17:08:51 +0200 <ski> (or `MaybeT m' where `MonadIO m', possibly)
2020-09-28 17:10:53 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-09-28 17:10:53 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 17:11:08 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 17:11:09 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-09-28 17:11:36 +0200knupfer(~Thunderbi@200116b8245ab000d5392c0ae5e224f3.dip.versatel-1u1.de)
2020-09-28 17:11:58 +0200hackagepath-utils 0.1.1.0 - Handful of simple utility functions for the path library. https://hackage.haskell.org/package/path-utils-0.1.1.0 (locallycompact)
2020-09-28 17:12:48 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-28 17:13:23 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 17:13:56 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 17:14:37 +0200bloodstalker(~bloodstal@46.166.187.178)
2020-09-28 17:14:38 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 17:14:40 +0200raichoo(~raichoo@213.240.178.58) (Quit: Lost terminal)
2020-09-28 17:16:53 +0200rayer(path@gateway/shell/xshellz/x-wnmzeedxnwlaimsy)
2020-09-28 17:19:25 +0200wroathe_(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-09-28 17:19:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2020-09-28 17:20:11 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 17:21:19 +0200jchia_(~jchia@45.32.62.73)
2020-09-28 17:22:20 +0200jchia_(~jchia@45.32.62.73) (Remote host closed the connection)
2020-09-28 17:23:20 +0200 <ph88> ski, i meant when you say there are two different runReaderT and the second being "type of the field selection/projection function"
2020-09-28 17:23:23 +0200jchia_(~jchia@45.32.62.73)
2020-09-28 17:23:43 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no)
2020-09-28 17:24:07 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 240 seconds)
2020-09-28 17:24:17 +0200Saten-san(~Saten-san@ip-213-49-123-116.dsl.scarlet.be)
2020-09-28 17:25:26 +0200jchia_(~jchia@45.32.62.73) (Remote host closed the connection)
2020-09-28 17:26:30 +0200jchia_(~jchia@58.32.37.220)
2020-09-28 17:27:04 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-09-28 17:27:47 +0200chaosmasttter(~chaosmast@p200300c4a70aba01051f9f9accc8fe29.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-09-28 17:28:34 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) (Remote host closed the connection)
2020-09-28 17:28:49 +0200ubert(~Thunderbi@178.165.129.225.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
2020-09-28 17:30:55 +0200Rudd0^(~Rudd0@185.189.115.108) (Ping timeout: 246 seconds)
2020-09-28 17:31:02 +0200lemald(~eddie@capybara.lemald.org) (Quit: WeeChat 2.2)
2020-09-28 17:31:59 +0200lemald(~eddie@capybara.lemald.org)
2020-09-28 17:33:47 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-09-28 17:34:22 +0200 <ski> ph88 : well, if you define `data Frob = MkFrob { foo :: Int,bar :: Maybe String,baz :: Int -> IO Bool }', then this declares `Frob' (or rather `MkFrob') to use record syntax, with the fields `foo',`bar',`baz' having the indicated types
2020-09-28 17:35:41 +0200 <ski> so if you write `MkFrob { bar = ...,foo = ...,baz = ... }', the types of these expressions `...' will have to be the listed types above. and similarly if you use record update syntax, like `myFrob { foo = newFoo }'
2020-09-28 17:36:27 +0200 <ski> but if you just use the field names, in other contexts, they actually work as field extraction functions, of types `foo :: Frob -> Int',`bar :: Frob -> Maybe String',`baz :: Frob -> Int -> IO Bool'
2020-09-28 17:37:34 +0200MattMareo(~mattl@unaffiliated/mattmareo) (Quit: WeeChat 2.7.1)
2020-09-28 17:37:35 +0200 <ski> imho, it would have been better if there'd been so additional piece of syntax, marking the field extraction functions. like maybe `#baz :: Frob -> Int -> IO Bool', prefixing a `#' to indicate the extraction function (SML does this)
2020-09-28 17:37:45 +0200MattMareo(~mattl@unaffiliated/mattmareo)
2020-09-28 17:37:47 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:6931:8218:a08c:8890) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 17:38:47 +0200kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2020-09-28 17:40:28 +0200hackagepath-dhall-instance 0.1.0.0 - ToDhall and FromDhall instances for Path. https://hackage.haskell.org/package/path-dhall-instance-0.1.0.0 (locallycompact)
2020-09-28 17:40:36 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-09-28 17:41:15 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:6931:8218:a08c:8890)
2020-09-28 17:42:15 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 244 seconds)
2020-09-28 17:45:38 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 17:45:44 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-09-28 17:47:48 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 17:51:27 +0200hackagevulkan-utils 0.1.2 - Utils for the vulkan package https://hackage.haskell.org/package/vulkan-utils-0.1.2 (jophish)
2020-09-28 17:52:19 +0200mmohammadi98129(~mmohammad@188.210.120.20) (Quit: I quit (╯°□°)╯︵ ┻━┻)
2020-09-28 17:53:16 +0200mmohammadi9812(~mmohammad@188.210.120.20)
2020-09-28 17:53:46 +0200ubert(~Thunderbi@178.165.129.225.wireless.dyn.drei.com)
2020-09-28 17:55:08 +0200robbiet480(~robbiet48@84.39.117.57)
2020-09-28 17:55:28 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 272 seconds)
2020-09-28 17:55:35 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2020-09-28 18:00:29 +0200Rudd0(~Rudd0@185.189.115.103)
2020-09-28 18:00:42 +0200bitmagie(~Thunderbi@200116b806356300acea16c9c4c48994.dip.versatel-1u1.de)
2020-09-28 18:04:17 +0200ahri(~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
2020-09-28 18:04:57 +0200cpressey(~cpressey@79-72-202-115.dynamic.dsl.as9105.com) (Quit: WeeChat 1.9.1)
2020-09-28 18:06:11 +0200wroathe_wroathe
2020-09-28 18:06:31 +0200John20(~John@82.46.59.122) (Ping timeout: 260 seconds)
2020-09-28 18:07:28 +0200polyrain(~polyrain@2001:8003:e501:6901:c1af:ff99:3f53:5ced) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 18:07:46 +0200Saten-san(~Saten-san@ip-213-49-123-116.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-09-28 18:08:56 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-09-28 18:10:01 +0200owenowen(~owen@2a02:8084:d6c4:5700:c9e0:a9c6:7765:7680)
2020-09-28 18:11:11 +0200Saten-san(~Saten-san@ip-213-49-123-116.dsl.scarlet.be)
2020-09-28 18:13:05 +0200p-core(~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Remote host closed the connection)
2020-09-28 18:16:40 +0200softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net)
2020-09-28 18:17:37 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:6931:8218:a08c:8890) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 18:18:25 +0200Rudd0^(~Rudd0@185.189.115.98)
2020-09-28 18:18:30 +0200owenowen(~owen@2a02:8084:d6c4:5700:c9e0:a9c6:7765:7680) (Quit: Leaving.)
2020-09-28 18:18:32 +0200Saten-san(~Saten-san@ip-213-49-123-116.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-09-28 18:20:27 +0200Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 240 seconds)
2020-09-28 18:21:23 +0200howdoi(uid224@gateway/web/irccloud.com/x-rdeeidynjivnuofk)
2020-09-28 18:22:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-09-28 18:23:03 +0200cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds)
2020-09-28 18:23:13 +0200 <AWizzArd> Using Cabal 2.4.1.0 I specified version 0.1.0 in .cabal and got Warning: foo.abal:0:0: Version digit with leading zero. Use cabal-version: 2.0 or later to write such versions.
2020-09-28 18:23:23 +0200 <AWizzArd> abal => cabal
2020-09-28 18:25:05 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:6931:8218:a08c:8890)
2020-09-28 18:25:13 +0200lucid_0x80(~lucid_0x8@85.132.71.57)
2020-09-28 18:25:14 +0200 <c_wraith> what cabal-version value do you have in the .cabal file?
2020-09-28 18:25:27 +0200 <AWizzArd> c_wraith: I left that out. Will try it with.
2020-09-28 18:25:44 +0200 <c_wraith> I mean, the message is explicitly telling you to set it to 2.0 or higher...
2020-09-28 18:25:44 +0200slack1256(~slack1256@181.203.81.7)
2020-09-28 18:25:52 +0200 <AWizzArd> c_wraith: It seems I can do this `cabal-version: >= 2` – is that okay?
2020-09-28 18:26:04 +0200slack1256(~slack1256@181.203.81.7) ()
2020-09-28 18:26:05 +0200 <AWizzArd> c_wraith: I tried to set 2.4 but it complained that this wouldn’t be possible.
2020-09-28 18:26:09 +0200 <AWizzArd> >= 2.4
2020-09-28 18:26:11 +0200 <c_wraith> unless you explicitly need features from a newer version, yes
2020-09-28 18:26:22 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection)
2020-09-28 18:27:07 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-09-28 18:27:23 +0200ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2020-09-28 18:27:23 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 18:28:23 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 18:28:50 +0200bitmagie(~Thunderbi@200116b806356300acea16c9c4c48994.dip.versatel-1u1.de) (Quit: bitmagie)
2020-09-28 18:29:07 +0200dsf_dsf
2020-09-28 18:30:18 +0200esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127) (Remote host closed the connection)
2020-09-28 18:31:18 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2020-09-28 18:31:39 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-09-28 18:31:54 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-09-28 18:32:01 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2020-09-28 18:33:25 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 18:33:53 +0200tzh(~tzh@2601:448:c500:5300::82b3)
2020-09-28 18:34:15 +0200LKoen(~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr)
2020-09-28 18:36:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-09-28 18:37:26 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 18:37:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 18:38:08 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2020-09-28 18:38:11 +0200reppertj(~textual@pool-96-246-209-59.nycmny.fios.verizon.net)
2020-09-28 18:41:55 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Read error: Connection reset by peer)
2020-09-28 18:42:12 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-09-28 18:42:16 +0200kritzefitz(~kritzefit@212.86.56.80)
2020-09-28 18:43:22 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-09-28 18:45:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 18:46:02 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 18:47:12 +0200Guest18(567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102)
2020-09-28 18:47:27 +0200sw1nn(~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Quit: WeeChat 2.9)
2020-09-28 18:47:28 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 18:47:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 18:48:58 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 246 seconds)
2020-09-28 18:50:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 18:50:14 +0200sw1nn(~sw1nn@host86-173-104-87.range86-173.btcentralplus.com)
2020-09-28 18:50:29 +0200jamm_(~jamm@unaffiliated/jamm)
2020-09-28 18:50:33 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-09-28 18:50:34 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-09-28 18:50:37 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
2020-09-28 18:51:29 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:6931:8218:a08c:8890) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 18:53:28 +0200hackagebytestring-tree-builder 0.2.7.4 - A very efficient ByteString builder implementation based on the binary tree https://hackage.haskell.org/package/bytestring-tree-builder-0.2.7.4 (NikitaVolkov)
2020-09-28 18:54:36 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection)
2020-09-28 18:54:47 +0200jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2020-09-28 18:55:12 +0200Saten-san(~Saten-san@ip-213-49-123-116.dsl.scarlet.be)
2020-09-28 18:55:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-09-28 18:56:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 18:57:24 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se) (Ping timeout: 256 seconds)
2020-09-28 18:57:25 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 18:57:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 19:02:19 +0200nineonine(~nineonine@216.81.48.202)
2020-09-28 19:02:34 +0200ubert(~Thunderbi@178.165.129.225.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
2020-09-28 19:02:34 +0200nineonine(~nineonine@216.81.48.202) (Read error: Connection reset by peer)
2020-09-28 19:02:48 +0200nineonine(~nineonine@216.81.48.202)
2020-09-28 19:03:04 +0200nineonine(~nineonine@216.81.48.202) (Remote host closed the connection)
2020-09-28 19:03:24 +0200nineonine(~nineonine@216.81.48.202)
2020-09-28 19:04:14 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-09-28 19:06:14 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:1464:cd8d:ea3f:dc1)
2020-09-28 19:07:29 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 19:07:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 19:10:12 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-09-28 19:10:59 +0200John20(~John@82.46.59.122)
2020-09-28 19:11:36 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-09-28 19:11:48 +0200oisdk(~oisdk@2001:bb6:3329:d100:11a:d787:daec:4989)
2020-09-28 19:12:03 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2020-09-28 19:12:13 +0200ddellacosta(~dd@86.106.121.168)
2020-09-28 19:12:15 +0200dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-09-28 19:13:22 +0200machinedgod(~machinedg@45.78.189.122) (Ping timeout: 272 seconds)
2020-09-28 19:14:46 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-09-28 19:14:51 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 19:16:01 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-09-28 19:16:34 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 19:17:24 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 19:17:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 19:18:29 +0200Turmfalke(~user@unaffiliated/siracusa)
2020-09-28 19:18:57 +0200alp(~alp@2a01:e0a:58b:4920:6866:e0a9:2220:cc41) (Ping timeout: 272 seconds)
2020-09-28 19:19:41 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 246 seconds)
2020-09-28 19:20:28 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 265 seconds)
2020-09-28 19:20:33 +0200John20(~John@82.46.59.122) (Ping timeout: 260 seconds)
2020-09-28 19:20:35 +0200Saten-san(~Saten-san@ip-213-49-123-116.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-09-28 19:20:58 +0200hackagepassman 0.2.1 - a simple password manager https://hackage.haskell.org/package/passman-0.2.1 (jlamothe)
2020-09-28 19:22:37 +0200alp(~alp@2a01:e0a:58b:4920:898:f28c:1e34:e5ee)
2020-09-28 19:22:46 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-09-28 19:25:57 +0200irc_user(uid423822@gateway/web/irccloud.com/x-khkttiiavzeefazc) (Quit: Connection closed for inactivity)
2020-09-28 19:27:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-09-28 19:27:26 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 19:28:18 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 19:28:46 +0200vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-09-28 19:29:23 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 19:29:36 +0200knupfer(~Thunderbi@200116b8245ab000d5392c0ae5e224f3.dip.versatel-1u1.de) (Remote host closed the connection)
2020-09-28 19:29:44 +0200knupfer(~Thunderbi@200116b8245ab000e96e2ee7c428c349.dip.versatel-1u1.de)
2020-09-28 19:29:58 +0200hackagezettelkast 0.2.0.0 - Command-line utility for working with zettelkast files https://hackage.haskell.org/package/zettelkast-0.2.0.0 (MasseR)
2020-09-28 19:30:36 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 19:31:08 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 19:32:05 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds)
2020-09-28 19:34:45 +0200oisdk(~oisdk@2001:bb6:3329:d100:11a:d787:daec:4989) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-09-28 19:34:47 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-09-28 19:35:10 +0200ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
2020-09-28 19:35:40 +0200catkiki(~catkiki@m90-134-157-227.cust.tele2.hr)
2020-09-28 19:36:07 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 240 seconds)
2020-09-28 19:37:01 +0200p-core(~Thunderbi@koleje-wifi-0046.koleje.cuni.cz)
2020-09-28 19:37:16 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-09-28 19:37:19 +0200murphy_(~murphy_@2604:2000:1281:8a9e:d1f4:d14c:3b99:af32) (Ping timeout: 272 seconds)
2020-09-28 19:37:30 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 19:37:39 +0200murphy_(~murphy_@2604:2000:1281:8a9e:46d4:9a6b:fb19:e552)
2020-09-28 19:37:57 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 19:40:46 +0200ADG1089(~adg1089@110.227.116.50) (Remote host closed the connection)
2020-09-28 19:41:07 +0200 <AWizzArd> In Emacs (trying to use the Haskell Language Server) I run a shell in which I run `cabal new-repl`. When loading a file in there I see These modules are needed for compilation but not listed in your .cabal file's other-modules
2020-09-28 19:41:17 +0200 <AWizzArd> Yet I do have those modules listed.
2020-09-28 19:41:34 +0200oisdk(~oisdk@2001:bb6:3329:d100:11a:d787:daec:4989)
2020-09-28 19:42:29 +0200 <AWizzArd> It probably has nothing to do with the HLS. It’s just my interaction with Cabal I guess.
2020-09-28 19:43:30 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 19:43:35 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 19:43:36 +0200 <AWizzArd> How can I convince Cabal 2.4.1.0 to stop printing this warning inside a `cabal new-repl` when trying to `:l Foo`? It tells me that Foo is not listed in other-modules, but my .cabal file has Foo as an entry there, in that section.
2020-09-28 19:43:38 +0200gnum_yabba(ac696eac@172.105.110.172)
2020-09-28 19:45:58 +0200oisdk(~oisdk@2001:bb6:3329:d100:11a:d787:daec:4989) (Client Quit)
2020-09-28 19:47:37 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 19:47:54 +0200darjeeling_(~darjeelin@122.245.121.113) (Ping timeout: 256 seconds)
2020-09-28 19:47:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 19:48:17 +0200miguel_clean(~Miguel@89-72-187-203.dynamic.chello.pl) ()
2020-09-28 19:48:31 +0200gnum_yabba(ac696eac@172.105.110.172) (Remote host closed the connection)
2020-09-28 19:48:45 +0200jneira(501e65ce@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.206)
2020-09-28 19:48:49 +0200darjeeling_(~darjeelin@122.245.121.113)
2020-09-28 19:49:02 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 256 seconds)
2020-09-28 19:50:49 +0200oo_miguel(~miguel@89-72-187-203.dynamic.chello.pl)
2020-09-28 19:51:31 +0200oo_miguel(~miguel@89-72-187-203.dynamic.chello.pl) (Client Quit)
2020-09-28 19:51:41 +0200 <AWizzArd> I only have an Executable section defined, and multiple .hs files. Is that a correct setup for Cabal?
2020-09-28 19:51:59 +0200 <AWizzArd> Or should I have only my Main.hs under `Executable` and move everything else into a `Library`?
2020-09-28 19:52:05 +0200hyiltiz-M(hyiltizkde@gateway/shell/kde/matrix/x-nddutmibnpfeonkf) (Quit: killed)
2020-09-28 19:52:48 +0200 <sm[m]> AWizzArd: either is fine
2020-09-28 19:52:49 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 19:53:11 +0200 <sm[m]> re that warning, I think that's a known cabal bug, you'll find it in the issue tracker
2020-09-28 19:53:16 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net)
2020-09-28 19:53:47 +0200knupfer(~Thunderbi@200116b8245ab000e96e2ee7c428c349.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-09-28 19:53:54 +0200 <AWizzArd> sm[m]: so even with this setup of having three .hs files, all under src/ and only having an `executable` section – this should allow me to use the repl without the `missing-home-modules` warning?
2020-09-28 19:54:00 +0200 <sm[m]> at least, there is a situation in which it gives a similar warning, not sure if it's the same
2020-09-28 19:54:51 +0200 <sm[m]> heh I put my foot in it
2020-09-28 19:55:18 +0200Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-09-28 19:56:18 +0200 <sm[m]> @where pastecabalstack perhaps, AWizzArd
2020-09-28 19:56:18 +0200 <lambdabot> Help us help you: at https://paste.tomsmeding.com, https://gist.github.com or https://termbin.com, please paste your failing command, full output, and .cabal, package.yaml and/or stack.yaml files
2020-09-28 19:57:51 +0200 <monochrom> AWizzArd: "other-modules:"
2020-09-28 19:57:51 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 19:57:57 +0200josh(~josh@c-67-164-104-206.hsd1.ca.comcast.net)
2020-09-28 19:57:57 +0200 <AWizzArd> sm[m]: https://dpaste.com/F4DZ7J7J5
2020-09-28 19:58:04 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 19:58:12 +0200 <AWizzArd> Interestingly: cabal new-build accepts my other-modules.
2020-09-28 19:58:44 +0200 <AWizzArd> I can temporarily remove one of my other-module entries and `cabal new-build` will complain. But when both are present then there are zero warnings.
2020-09-28 19:58:52 +0200 <AWizzArd> Only `cabal new-repl` seems to not find them.
2020-09-28 19:59:03 +0200 <monochrom> Ah I didn't read the whole question. I don't know.
2020-09-28 20:00:01 +0200robbiet480(~robbiet48@84.39.117.57) ()
2020-09-28 20:00:48 +0200hyiltiz-M(hyiltizkde@gateway/shell/kde/matrix/x-iqydoavyrkykkzgo)
2020-09-28 20:01:33 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Remote host closed the connection)
2020-09-28 20:01:46 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 246 seconds)
2020-09-28 20:02:06 +0200 <sm[m]> AWizzArd: does cabal new-repl -v give any clues ?
2020-09-28 20:02:50 +0200 <sm[m]> my other-modules does not have commas, maybe that's breaking it ?
2020-09-28 20:03:20 +0200knupfer(~Thunderbi@200116b8245ab00028129ffffe1c7ec1.dip.versatel-1u1.de)
2020-09-28 20:03:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-09-28 20:03:35 +0200knupfer1(~Thunderbi@i59F7FF46.versanet.de)
2020-09-28 20:03:47 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 240 seconds)
2020-09-28 20:04:02 +0200keteskyl(~keteskyl@2600:6c64:7b7f:fa42:8860:7453:7229:ac21) (Ping timeout: 260 seconds)
2020-09-28 20:04:25 +0200 <sm[m]> it looks like commas are optional in other-modules (though not in build-depends)
2020-09-28 20:05:09 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 20:05:57 +0200 <AWizzArd> The -v doesn’t show anything meaningful. And with or without comma also doesn’t make the warning go away. Strange.
2020-09-28 20:06:31 +0200 <AWizzArd> I also just tried `cabal repl`. It behaves the same was as `cabal new-repl`.
2020-09-28 20:06:53 +0200 <sm[m]> perhaps a bug report
2020-09-28 20:07:08 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Remote host closed the connection)
2020-09-28 20:07:25 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-09-28 20:07:25 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 20:07:26 +0200knupfer(~Thunderbi@200116b8245ab00028129ffffe1c7ec1.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2020-09-28 20:07:26 +0200knupfer1knupfer
2020-09-28 20:07:55 +0200 <dolio> If you're using the current cabal-install, then `cabal repl` is the same as `cabal new-repl`.
2020-09-28 20:07:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 20:08:07 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 20:08:57 +0200 <AWizzArd> dolio: I am using a cabal-install in a pinned Nix version, where it gives me Cabal 2.4.1.0
2020-09-28 20:09:12 +0200 <dolio> Ah, okay.
2020-09-28 20:09:55 +0200 <AWizzArd> Maybe in some other project I will be using a newer version of Cabal and possibly that behaviour is no longer there.
2020-09-28 20:10:25 +0200 <maerwald> why is stack so slow at cloning repos?
2020-09-28 20:10:45 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 20:11:22 +0200 <maerwald> and: it seems to clone the same repe multiple times if you use subidrs (cabal doesn't)
2020-09-28 20:12:13 +0200jdgr(601c428b@gateway/web/cgi-irc/kiwiirc.com/ip.96.28.66.139)
2020-09-28 20:12:53 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Client Quit)
2020-09-28 20:13:19 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 20:13:33 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Client Quit)
2020-09-28 20:14:01 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 20:14:07 +0200 <dolio> Well, it'd probably be good to check before bothering with filing a bug, because filing one against old versions of cabal probably won't do much.
2020-09-28 20:14:07 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
2020-09-28 20:14:57 +0200CaptainFox[m](onianimatr@gateway/shell/matrix.org/x-afvmemlusngzinxu)
2020-09-28 20:15:19 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds)
2020-09-28 20:15:52 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 20:17:01 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-09-28 20:17:18 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 20:17:33 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 20:17:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 20:19:51 +0200 <AWizzArd> dolio: Yes. It also seems to be working, and it’s just this warning that keeps appearing.
2020-09-28 20:20:29 +0200softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 245 seconds)
2020-09-28 20:21:16 +0200chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2020-09-28 20:21:19 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 258 seconds)
2020-09-28 20:21:54 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 256 seconds)
2020-09-28 20:22:04 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 256 seconds)
2020-09-28 20:22:13 +0200Andy2011Zoe(~Andy2011Z@185.204.1.185)
2020-09-28 20:22:25 +0200 <CaptainFox[m]> Is this channel active?
2020-09-28 20:22:29 +0200 <pjb> Yes.
2020-09-28 20:22:34 +0200 <CaptainFox[m]> Awesome!
2020-09-28 20:25:21 +0200chaosmasttter(~chaosmast@p200300c4a70aba01051f9f9accc8fe29.dip0.t-ipconnect.de)
2020-09-28 20:28:00 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 20:28:05 +0200mu__(~mu@unaffiliated/mu)
2020-09-28 20:28:13 +0200ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2020-09-28 20:29:57 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no) (Remote host closed the connection)
2020-09-28 20:30:43 +0200Lycurgus(~niemand@98.4.96.130) (Quit: Exeunt)
2020-09-28 20:31:16 +0200lucid_0x80(~lucid_0x8@85.132.71.57) (Ping timeout: 272 seconds)
2020-09-28 20:33:02 +0200isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com)
2020-09-28 20:33:22 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-09-28 20:33:44 +0200 <sm[m]> AWizzArd: what dolio said.. I didn't know your cabal was old
2020-09-28 20:34:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 20:35:25 +0200 <ddellacosta> Is there a good resource for learning about Haskell/GHC and type system properties like soundness, totality, completeness, (or lack thereof, why certain choices were made) etc.?
2020-09-28 20:37:08 +0200 <ddellacosta> I'm not finding much in the Haskell 2010 report so far, but may be looking in the wrong place
2020-09-28 20:37:25 +0200mu__(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 20:37:50 +0200 <dolio> Types and Programming Languages?
2020-09-28 20:37:59 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-09-28 20:38:05 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 20:38:14 +0200 <Rembane> +1
2020-09-28 20:38:59 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 20:39:45 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-09-28 20:39:51 +0200 <ddellacosta> okay, I didn't think that was about Haskell in particular, but I'll take a look. I guess some of this is knowing that e.g. because it uses Hindley Milner it has specific properties? I was just hoping to find something that discusses this stuff in the context of Haskell specifically
2020-09-28 20:40:06 +0200 <dolio> It's not about Haskell.
2020-09-28 20:41:22 +0200TooDifficult(~TooDiffic@139.59.59.230) (Read error: Connection reset by peer)
2020-09-28 20:42:02 +0200 <Rembane> It has a Haskell appendix though, but the things it discusses are true for Haskell too
2020-09-28 20:43:06 +0200acidjnk_new(~acidjnk@p200300d0c72378045c7b1a0a573f1493.dip0.t-ipconnect.de)
2020-09-28 20:43:23 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds)
2020-09-28 20:43:48 +0200TooDifficult(~TooDiffic@139.59.59.230)
2020-09-28 20:43:51 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-gvtsuqkvrqeloqyq)
2020-09-28 20:45:14 +0200 <dolio> If you want to know about choices made for GHC, there are lots of papers about the ways the type system has changed. But it likely requires background to read them.
2020-09-28 20:45:32 +0200 <ddellacosta> okay, fair enough. Thanks dolio and Rembane
2020-09-28 20:45:43 +0200coot(~coot@37.30.61.70.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
2020-09-28 20:45:54 +0200 <dolio> And the background required is more general than just Haskell/GHC.
2020-09-28 20:46:00 +0200 <Rembane> ddellacosta: No worries, good luck!
2020-09-28 20:48:01 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 20:48:06 +0200mu__(~mu@unaffiliated/mu)
2020-09-28 20:49:28 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no)
2020-09-28 20:53:25 +0200 <AWizzArd> sm[m]: I think the "solution" for this current project is ghc-options: -fno-warn-missing-home-modules
2020-09-28 20:53:50 +0200 <AWizzArd> ghci seems to care about that one :)
2020-09-28 20:55:40 +0200mmohammadi9812(~mmohammad@188.210.120.20) (Ping timeout: 246 seconds)
2020-09-28 20:56:10 +0200shafox(~shafox@106.51.234.111) (Remote host closed the connection)
2020-09-28 20:56:49 +0200xerox_(~xerox@unaffiliated/xerox)
2020-09-28 20:57:30 +0200mu__(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 20:58:01 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 20:59:38 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4081:4bbf:4e36:ac98)
2020-09-28 21:00:23 +0200kritzefitz(~kritzefit@212.86.56.80)
2020-09-28 21:00:25 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
2020-09-28 21:01:27 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
2020-09-28 21:01:30 +0200Enrico63(5204d17b@cpc149476-cmbg20-2-0-cust378.5-4.cable.virginm.net)
2020-09-28 21:03:47 +0200darjeeling_(~darjeelin@122.245.121.113) (Ping timeout: 240 seconds)
2020-09-28 21:04:22 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4081:4bbf:4e36:ac98) (Ping timeout: 260 seconds)
2020-09-28 21:04:47 +0200 <Enrico63> Hello, I've installed `haskell-language-server` and set things up in Vim for having completions. However I'm not sure how to take advantage of that. Maybe the language server is simply not meant to be useful for completion? Please, give a look at this short screencast: https://asciinema.org/a/Hce9ZH3iRdOUg1wDkuicMNLqy
2020-09-28 21:06:44 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 21:07:05 +0200darjeeling_(~darjeelin@122.245.121.113)
2020-09-28 21:07:41 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 21:08:03 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2020-09-28 21:08:22 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 21:08:49 +0200lucid_0x80(~lucid_0x8@188.253.237.9)
2020-09-28 21:08:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 21:10:59 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds)
2020-09-28 21:14:06 +0200supercoven(~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Read error: Connection reset by peer)
2020-09-28 21:14:26 +0200Varis(~Tadas@unaffiliated/varis)
2020-09-28 21:14:37 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds)
2020-09-28 21:15:55 +0200Varis(~Tadas@unaffiliated/varis) (Client Quit)
2020-09-28 21:16:52 +0200p-core(~Thunderbi@koleje-wifi-0046.koleje.cuni.cz) (Ping timeout: 256 seconds)
2020-09-28 21:17:06 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-09-28 21:17:06 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-09-28 21:17:24 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 21:17:55 +0200knupfer(~Thunderbi@i59F7FF46.versanet.de) (Ping timeout: 265 seconds)
2020-09-28 21:17:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 21:20:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-09-28 21:21:09 +0200 <sm[m]> great!
2020-09-28 21:24:12 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-09-28 21:24:38 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 21:25:50 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-09-28 21:25:58 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de)
2020-09-28 21:26:14 +0200thir(~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-09-28 21:27:06 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 21:27:35 +0200zrythm159(49633d7a@gateway/web/cgi-irc/kiwiirc.com/ip.73.99.61.122)
2020-09-28 21:27:35 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 21:27:56 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 21:28:13 +0200 <zrythm159> www.indocron.net
2020-09-28 21:28:15 +0200zrythm159(49633d7a@gateway/web/cgi-irc/kiwiirc.com/ip.73.99.61.122) ()
2020-09-28 21:29:46 +0200argent0(~argent0@168.227.96.7)
2020-09-28 21:30:49 +0200mu_(~mu@unaffiliated/mu) (Client Quit)
2020-09-28 21:32:19 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se)
2020-09-28 21:32:42 +0200Quarl(~Quarl@94.191.138.174.mobile.tre.se) (Read error: Connection reset by peer)
2020-09-28 21:36:16 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 21:36:51 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 256 seconds)
2020-09-28 21:38:12 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2020-09-28 21:38:52 +0200 <argent0> Hi, can somebody explaime what this code does? https://bpa.st/75QWALMVSHDRTW6SR2ASAHI53E. In particular, is line 4 a guard? Seems to match the case level == 1 but what about the `variant == PlainText` part. What about line 8, 19 and 21. Is the ViewPatterns extions at work here?
2020-09-28 21:40:14 +0200 <cohn> is there a version of Data.Map that doesn't return a Maybe?
2020-09-28 21:40:18 +0200 <Rembane> argent0: Yes, it's a case expression with guards, quite neat. It's defined for Haskell 98, let me find the relevant section of the report for you.
2020-09-28 21:40:30 +0200 <Rembane> cohn: Which operations do you want to have no Maybe for?
2020-09-28 21:40:49 +0200alp(~alp@2a01:e0a:58b:4920:898:f28c:1e34:e5ee) (Ping timeout: 272 seconds)
2020-09-28 21:41:08 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-28 21:41:10 +0200 <cohn> Rembane: I'm creating an enumeration of the characters of the alphabet and need to look up a character and get the Integer associated
2020-09-28 21:41:29 +0200 <cohn> so, e.g. `lookup 'a' -> 1`, etc...
2020-09-28 21:41:53 +0200 <Rembane> argent0: I didn't find any name, but it's in 3.13: https://www.haskell.org/onlinereport/exps.html
2020-09-28 21:42:05 +0200 <argent0> Rembane: ok, thanks
2020-09-28 21:42:08 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-09-28 21:42:21 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 21:42:22 +0200 <Rembane> argent0: No worries.
2020-09-28 21:42:46 +0200 <Rembane> cohn: So, if I do a lookup 'A', how will you handle that?
2020-09-28 21:43:26 +0200 <cohn> convert to lowercase since it's case-insensitive
2020-09-28 21:43:26 +0200 <argent0> cohn: may want to try Array Char Int
2020-09-28 21:43:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-09-28 21:44:08 +0200archaephyrryx(~archaephy@straasha.imrryr.org)
2020-09-28 21:44:26 +0200 <cohn> good point since I don't need lazy evaluation
2020-09-28 21:44:34 +0200 <cohn> :q
2020-09-28 21:44:35 +0200 <cohn> bah
2020-09-28 21:44:42 +0200 <Rembane> cohn: ord in Data.Char might be useful too
2020-09-28 21:45:14 +0200 <cohn> Rembane: true, thanks!
2020-09-28 21:45:16 +0200 <archaephyrryx> if I have a list of strict bytestrings and I want to join them and also apply a word8->word8 map over the result, is it better to apply the transformation over the list elements and join, or to join and then transform?
2020-09-28 21:45:49 +0200dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-226.hsi8.kabel-badenwuerttemberg.de)
2020-09-28 21:46:02 +0200 <Guest18> Can anybody help me with a little problem i have regarding an implementation of the filter function?
2020-09-28 21:46:13 +0200 <Rembane> Guest18: Shoot!
2020-09-28 21:46:13 +0200 <archaephyrryx> Guest18: over which type?
2020-09-28 21:46:23 +0200 <Guest18> Any type, I guess
2020-09-28 21:46:35 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds)
2020-09-28 21:46:36 +0200 <archaephyrryx> I am assuming lists
2020-09-28 21:46:43 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 21:46:59 +0200 <Guest18> So my thinking was, i use pattern-matching to split into head and tails
2020-09-28 21:47:02 +0200 <Guest18> yes, lists
2020-09-28 21:47:40 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-09-28 21:48:23 +0200 <Guest18> then i check to see if the head satisfies the predicate. If it does, keep it to the list and filter the tail, otherwise just filter the tail
2020-09-28 21:48:57 +0200 <Guest18> the tutorial i am following added a little thing though
2020-09-28 21:49:01 +0200 <Enrico63> (I'm pasting my own message from 1h ago, maybe that was not the right time of the day...) Hello, I've installed `haskell-language-server` and set things up in Vim for having completions. However I'm not sure how to take advantage of that. Maybe the language server is simply not meant to be useful for completion? Please, give a look at this short
2020-09-28 21:49:02 +0200 <Enrico63> screencast: https://asciinema.org/a/Hce9ZH3iRdOUg1wDkuicMNLqy
2020-09-28 21:49:51 +0200 <Guest18> archaephyrryx: he added a case in which it gets an empty list, as an edge case, and returns an empty list
2020-09-28 21:50:02 +0200coot(~coot@37.30.59.210.nat.umts.dynamic.t-mobile.pl)
2020-09-28 21:50:07 +0200 <Guest18> so the recursion ends
2020-09-28 21:50:26 +0200 <Guest18> but as far as i can tell, my version behaves okay without that case
2020-09-28 21:50:38 +0200 <ski> show your code ?
2020-09-28 21:50:47 +0200 <Guest18> and i am wondering if it's necesarry and my function will break at some point
2020-09-28 21:50:49 +0200 <archaephyrryx> Guest18: the pattern match is irrefutable if you don't have a case that isn't matched by (x:xs)
2020-09-28 21:50:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-09-28 21:51:11 +0200 <Guest18> filter' :: (a -> Bool) -> [a] -> [a]
2020-09-28 21:51:12 +0200 <Guest18> filter' f (x:xs)
2020-09-28 21:51:12 +0200 <Guest18> | f x == False = filter' f xs
2020-09-28 21:51:13 +0200 <Guest18> | otherwise = x : filter' f xs -- my code
2020-09-28 21:51:27 +0200ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
2020-09-28 21:51:29 +0200 <archaephyrryx> Guest18: unless you are working with infinite lists your code will run into a [] and fail
2020-09-28 21:51:30 +0200 <Guest18> his code added this: filter _ [] = []
2020-09-28 21:51:50 +0200 <ski> > let filter' :: (a -> Bool) -> [a] -> [a]; filter' f (x:xs) | f x == False = filter' f xs | otherwise = x : filter' f xs in filter' even [0,1,2,3,4,5,6,7]
2020-09-28 21:51:52 +0200 <lambdabot> [0,2,4,6*Exception: <interactive>:3:43-119: Non-exhaustive patterns in funct...
2020-09-28 21:52:30 +0200 <Guest18> so it's not an edge case?
2020-09-28 21:52:42 +0200 <ski> it's a termination case, when to stop looping
2020-09-28 21:52:46 +0200 <yushyin> Enrico63: https://paste.xinu.at/2EnyX1/ looks like this to me with vim-lsp + set omnifunc=lsp#complete the rendering of the popup-preview sucks.will have to fix that but no time yet.
2020-09-28 21:52:48 +0200 <ski> > let filter' :: (a -> Bool) -> [a] -> [a]; filter' f (x:xs) | f x == False = filter' f xs | otherwise = x : filter' f xs in filter' even []
2020-09-28 21:52:49 +0200 <ph88> hey guys, what's the best way to use stack with private packages ??
2020-09-28 21:52:51 +0200 <archaephyrryx> Guest18: as a side note you don't actually need the '== False' bit, you just need to swap the guard RHS
2020-09-28 21:52:51 +0200 <lambdabot> *Exception: <interactive>:3:43-119: Non-exhaustive patterns in function filter'
2020-09-28 21:53:02 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 21:53:15 +0200 <lyxia> ph88: use the extra-deps field of stack.yaml?
2020-09-28 21:53:24 +0200 <ski> yes, it's more idiomatic to say `not (...)' rather than `... == False'. but here you can just flip the order
2020-09-28 21:53:47 +0200 <ph88> lyxia, then pointing to what ?
2020-09-28 21:53:57 +0200thc202(~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds)
2020-09-28 21:54:12 +0200 <ski> Guest18 : you could say it's an edge case, if you want to. but it's a necessary case, to have a complete definition, that will work as expected for any input
2020-09-28 21:54:15 +0200 <glguy> ski: not ... == True? :nod: ;)
2020-09-28 21:54:26 +0200skismirks
2020-09-28 21:55:44 +0200 <Guest18> archaephyrryx: can you clarify what 'swapping the guard' means? Still a beginner, took up haskell a week ago
2020-09-28 21:56:20 +0200 <archaephyrryx> 'filter f (x:xs) | f x = x : filter xs | otherwise = filter xs'
2020-09-28 21:56:26 +0200 <ski> Guest18 : changing the order of the two cases (don't keep element / keep element), and adjusting the guard conditions accordingly
2020-09-28 21:57:12 +0200 <archaephyrryx> you would still keep the 'f _ [] = []' though to make the pattern match complete
2020-09-28 21:57:16 +0200 <Enrico63> yushyin, sorry for the dumb question, but is `vim-lsp` an alternative to youcompleteme (if you know it) or something that can be leveraged by it?
2020-09-28 21:57:16 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 21:57:25 +0200 <archaephyrryx> sorry, 'filter _ [] = []' (not f)
2020-09-28 21:58:32 +0200 <Guest18> ah, so i remove the False because f is already a predicate and returns Bool
2020-09-28 21:58:38 +0200 <archaephyrryx> exactly
2020-09-28 21:58:40 +0200macrover(~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 272 seconds)
2020-09-28 21:58:52 +0200 <archaephyrryx> and you would just adjust the logic accordingly
2020-09-28 21:59:35 +0200 <yushyin> Enrico63: just minimal vim-script only LSP client for vim. more of an alternative to YCM
2020-09-28 21:59:47 +0200 <Guest18> yes, because now it will return true and it needs to keep the element
2020-09-28 21:59:47 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-09-28 22:00:13 +0200dhil(~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 258 seconds)
2020-09-28 22:00:16 +0200 <Guest18> i mean, if it returns true
2020-09-28 22:00:25 +0200 <Guest18> i got it, thanks!
2020-09-28 22:00:46 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 246 seconds)
2020-09-28 22:01:01 +0200 <ski> generally, you don't need to compare things with `False' or `True'
2020-09-28 22:01:16 +0200 <ski> either use the condition directly, or negate it
2020-09-28 22:01:50 +0200 <Guest18> bad habit from imperative programming i guess
2020-09-28 22:01:52 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 22:02:05 +0200 <ski> it's also considered bad style, in imperative programming :)
2020-09-28 22:02:29 +0200 <archaephyrryx> i was about to say, booleans are booleans are booleans
2020-09-28 22:02:42 +0200 <archaephyrryx> even when they aren't strictly typed
2020-09-28 22:02:49 +0200o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-09-28 22:02:55 +0200dhil(~dhil@11.29.39.217.dyn.plus.net)
2020-09-28 22:02:57 +0200 <ski> anyway, if you have some argument function, that returns a `Bool'ean, then it's quite common to call it `p' (for "predicate" or "property") instead of `f'
2020-09-28 22:02:58 +0200hackagepersistent-template 2.9 - Type-safe, non-relational, multi-backend persistence. https://hackage.haskell.org/package/persistent-template-2.9 (MaxGabriel)
2020-09-28 22:03:18 +0200 <Guest18> depends who you ask, i find it a little more readable i guess, especially when negating. I would much rather see 'if (condition == false)' than 'if (!condition)'
2020-09-28 22:03:38 +0200 <ski> i'd rather see the latter
2020-09-28 22:03:40 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 258 seconds)
2020-09-28 22:03:49 +0200 <Guest18> to each their own :)
2020-09-28 22:04:16 +0200 <Guest18> i sometimes miss the little ! and it becomes infuriating
2020-09-28 22:04:31 +0200 <Guest18> maybe i need to change the font
2020-09-28 22:04:53 +0200 <archaephyrryx> in C where non-zero values are true-ish and zero is false-ish, it would be awkward to explicitly test equality
2020-09-28 22:05:13 +0200 <archaephyrryx> "!(!x) = 1" just looks bad
2020-09-28 22:05:24 +0200 <ski> (also, please don't use `if' where one branch is `False' or `True'. use logical operations like `&&' and `||' instead (possibly with `not', if required). also applies for guards)
2020-09-28 22:05:43 +0200 <koz_> Where can I find some information on the structure of a cabal.project file?
2020-09-28 22:05:44 +0200 <archaephyrryx> "!(!x) == 1" is what I meant, i did the bad thing
2020-09-28 22:06:01 +0200 <ski> archaephyrryx : could be Java or C# or something
2020-09-28 22:06:22 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-09-28 22:06:28 +0200 <Guest18> archaephyrryx: i rarely program in C nowadays, mostly C# now
2020-09-28 22:06:39 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-09-28 22:06:41 +0200 <yushyin> koz_: https://cabal.readthedocs.io/en/3.4/cabal-projectindex.html#cap-cabal.project%20fields
2020-09-28 22:06:50 +0200 <koz_> yushyin: Thanks!
2020-09-28 22:07:18 +0200 <Guest18> anyhoo. i am off! thanks for the help
2020-09-28 22:07:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 22:07:21 +0200 <Guest18> :q
2020-09-28 22:07:23 +0200 <ski> yw
2020-09-28 22:07:35 +0200Guest18(567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102) (Quit: Connection closed)
2020-09-28 22:07:48 +0200 <yushyin> (this is not vim :P)
2020-09-28 22:07:54 +0200 <lyxia> ph88: pointing to the directory containing a package
2020-09-28 22:08:06 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 22:08:07 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 246 seconds)
2020-09-28 22:08:22 +0200 <koz_> Also, phadej: does cabal-fmt handle cabal.project files as well?
2020-09-28 22:09:58 +0200 <archaephyrryx> returning the the question I asked a while ago, does the order of intercalate and map on [ByteString] (strict) affect performance meaningfully
2020-09-28 22:10:03 +0200 <maerwald> koz_: all this trouble, just because someone didn't pick a common format, such as toml...
2020-09-28 22:10:16 +0200 <monochrom> Clearly, guards are better than both "if condition then else" and "if not condition then else".
2020-09-28 22:10:19 +0200 <koz_> Also, for the subdir field of source-repository-package, can I have multiple things, or can it only be one?
2020-09-28 22:10:33 +0200son0p(~son0p@181.136.122.143)
2020-09-28 22:10:53 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-09-28 22:11:07 +0200remexre(~nathan@207-153-38-50.fttp.usinternet.com) (Ping timeout: 240 seconds)
2020-09-28 22:11:09 +0200javran(~javran@76.126.242.127) (Read error: Connection reset by peer)
2020-09-28 22:11:10 +0200rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-09-28 22:11:31 +0200Dolly(585fc8fd@ti0203q160-3035.bb.online.no) (Remote host closed the connection)
2020-09-28 22:11:32 +0200 <monochrom> guards are the closest to what David Parnas promotes for "explicitly enumerate all cases and what to do respectively"
2020-09-28 22:12:02 +0200 <monochrom> (for example in his SCR)
2020-09-28 22:12:13 +0200 <koz_> monochrom: SCR?
2020-09-28 22:13:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-09-28 22:13:22 +0200remexre(~nathan@207-153-38-50.fttp.usinternet.com)
2020-09-28 22:13:23 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se) (Remote host closed the connection)
2020-09-28 22:13:48 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se)
2020-09-28 22:14:10 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com) (Read error: Connection reset by peer)
2020-09-28 22:14:54 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com)
2020-09-28 22:14:57 +0200 <yushyin> maerwald: yeah or XML!
2020-09-28 22:15:14 +0200 <maerwald> loo
2020-09-28 22:15:58 +0200 <maerwald> <comment>I used openbox window manager once, which has XML config format </comment>
2020-09-28 22:16:03 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 22:16:46 +0200 <yushyin> wrong syntax for comments!
2020-09-28 22:18:01 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 22:18:07 +0200mu__(~mu@unaffiliated/mu)
2020-09-28 22:20:45 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 265 seconds)
2020-09-28 22:22:02 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 256 seconds)
2020-09-28 22:22:03 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
2020-09-28 22:23:03 +0200obihann(~jhann@156.34.160.69)
2020-09-28 22:23:59 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-09-28 22:24:51 +0200jtojnar(jtojnarmat@gateway/shell/matrix.org/x-mzqqgajmshcqybbf)
2020-09-28 22:25:42 +0200 <jtojnar> is it possible to have a function `Applicative f => f (a -> b -> c) -> f (a, b) -> f c`?
2020-09-28 22:25:55 +0200 <jtojnar> I can only come up with a definition using Monad
2020-09-28 22:25:58 +0200 <dolio> Yes.
2020-09-28 22:27:37 +0200mu__(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 22:28:06 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 22:29:59 +0200 <jtojnar> oh, fmap uncurry
2020-09-28 22:31:20 +0200Amras(~Amras@unaffiliated/amras0000)
2020-09-28 22:35:24 +0200Rudd0^(~Rudd0@185.189.115.98) (Ping timeout: 272 seconds)
2020-09-28 22:36:18 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 22:37:40 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 22:37:50 +0200lucid_0x80(~lucid_0x8@188.253.237.9) (Ping timeout: 256 seconds)
2020-09-28 22:38:07 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 22:39:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 22:39:24 +0200obihann(~jhann@156.34.160.69) (Quit: Lost terminal)
2020-09-28 22:40:53 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 256 seconds)
2020-09-28 22:41:27 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 22:44:18 +0200coot(~coot@37.30.59.210.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-09-28 22:44:40 +0200alp(~alp@2a01:e0a:58b:4920:763f:d838:3a1b:fda)
2020-09-28 22:44:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-09-28 22:45:27 +0200hackageuniqueness-periods-vector-common 0.4.0.0 - Generalization of the dobutokO-poetry-general package functionality https://hackage.haskell.org/package/uniqueness-periods-vector-common-0.4.0.0 (OleksandrZhabenko)
2020-09-28 22:45:55 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-09-28 22:46:05 +0200dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-226.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.7.1)
2020-09-28 22:47:43 +0200pepzi(~robert@h-4-217-30.A328.priv.bahnhof.se)
2020-09-28 22:47:43 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 22:48:07 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 22:48:18 +0200pepzipepzi__
2020-09-28 22:48:35 +0200 <ski> jtojnar : not `fmap'
2020-09-28 22:48:41 +0200isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Quit: Leaving)
2020-09-28 22:48:49 +0200ggole(~ggole@2001:8003:8119:7200:827:6ea2:4828:53c5) (Quit: Leaving)
2020-09-28 22:49:02 +0200pepzi__pepzi
2020-09-28 22:49:36 +0200rprije(~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au)
2020-09-28 22:51:02 +0200 <hekkaidekapus> @type (<*>) -- jtojnar
2020-09-28 22:51:04 +0200 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
2020-09-28 22:51:39 +0200totallynotnate(~nate@125.161.70.37)
2020-09-28 22:53:58 +0200Amras(~Amras@unaffiliated/amras0000) (Remote host closed the connection)
2020-09-28 22:55:28 +0200 <jtojnar> @type (<*>) . (fmap uncurry) -- I meant this, ski
2020-09-28 22:55:30 +0200 <lambdabot> Applicative f => f (a -> b1 -> b2) -> f (a, b1) -> f b2
2020-09-28 22:55:44 +0200 <ski> @type liftA2 uncurry
2020-09-28 22:55:45 +0200 <lambdabot> Applicative f => f (a -> b -> c) -> f (a, b) -> f c
2020-09-28 22:57:55 +0200mu_(~mu@unaffiliated/mu) (Read error: Connection reset by peer)
2020-09-28 22:58:07 +0200mu__(~mu@unaffiliated/mu)
2020-09-28 22:58:10 +0200Wuzzy(~Wuzzy@p5b0df9fe.dip0.t-ipconnect.de)
2020-09-28 22:58:25 +0200jwynn6(~jwynn6@050-088-122-078.res.spectrum.com)
2020-09-28 22:59:42 +0200 <jtojnar> oh, that is even nicer, thanks. I misread liftA2 signature and prematurely discarded it
2020-09-28 23:00:01 +0200Andy2011Zoe(~Andy2011Z@185.204.1.185) ()
2020-09-28 23:00:03 +0200 <hekkaidekapus> @src liftA2
2020-09-28 23:00:03 +0200 <lambdabot> liftA2 f a b = f <$> a <*> b
2020-09-28 23:00:20 +0200 <ski> @src (<$>)
2020-09-28 23:00:21 +0200 <lambdabot> f <$> a = fmap f a
2020-09-28 23:00:44 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 272 seconds)
2020-09-28 23:01:02 +0200ech(~user@gateway/tor-sasl/ech) (Remote host closed the connection)
2020-09-28 23:01:10 +0200 <hekkaidekapus> jtojnar: As you see, you can define (<*>) using liftA2 and vice versa.
2020-09-28 23:01:22 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-09-28 23:02:45 +0200 <hekkaidekapus> That’s what `:info Applicative` is telling you when you see `{-# MINIMAL pure, ((<*>) | liftA2) #-}`.
2020-09-28 23:02:50 +0200mu__(~mu@unaffiliated/mu) (Ping timeout: 256 seconds)
2020-09-28 23:02:57 +0200 <ddellacosta> this is still "state of the art" wrt Haskell's type system currently, right? I mean, leaving aside how extensions may affect it
2020-09-28 23:02:59 +0200 <ddellacosta> https://stackoverflow.com/a/25255551
2020-09-28 23:03:43 +0200 <jtojnar> yeah, I literally wrote the definition of liftA2 before transforming it to pointfree form
2020-09-28 23:04:27 +0200isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com)
2020-09-28 23:04:33 +0200hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds)
2020-09-28 23:05:56 +0200 <jtojnar> I love how rich the libraries are
2020-09-28 23:05:58 +0200 <ddellacosta> this is a nice pattern
2020-09-28 23:06:00 +0200 <ddellacosta> > (\a b -> if (a > b) then a else b) <$> Just 2 <*> Just 1
2020-09-28 23:06:03 +0200 <lambdabot> Just 2
2020-09-28 23:06:19 +0200ech(~user@gateway/tor-sasl/ech)
2020-09-28 23:06:37 +0200 <ddellacosta> stupid example but you get the drift
2020-09-28 23:06:57 +0200hackageuniqueness-periods-vector-general 0.4.4.0 - Some kind of the optimization approach to data inner structure. https://hackage.haskell.org/package/uniqueness-periods-vector-general-0.4.4.0 (OleksandrZhabenko)
2020-09-28 23:08:17 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se) (Remote host closed the connection)
2020-09-28 23:08:38 +0200mirrorbird(~psutcliff@h85-8-41-6.cust.a3fiber.se)
2020-09-28 23:09:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-28 23:11:12 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-09-28 23:12:10 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 23:14:59 +0200hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2020-09-28 23:15:58 +0200hackageuniqueness-periods-vector-examples 0.7.0.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.7.0.0 (OleksandrZhabenko)
2020-09-28 23:16:51 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds)
2020-09-28 23:18:26 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-09-28 23:19:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-28 23:19:43 +0200archaephyrryx(~archaephy@straasha.imrryr.org) (Ping timeout: 260 seconds)
2020-09-28 23:23:09 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
2020-09-28 23:24:33 +0200argent0(~argent0@168.227.96.7) (Ping timeout: 265 seconds)
2020-09-28 23:26:23 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-09-28 23:29:02 +0200sepi(49dc4892@c-73-220-72-146.hsd1.ca.comcast.net)
2020-09-28 23:30:58 +0200hackageuniqueness-periods-vector-examples 0.7.1.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.7.1.0 (OleksandrZhabenko)
2020-09-28 23:33:07 +0200aarvar(~foewfoiew@50.35.43.33) (Ping timeout: 240 seconds)
2020-09-28 23:34:02 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net)
2020-09-28 23:34:35 +0200falafel(~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a)
2020-09-28 23:35:27 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds)
2020-09-28 23:36:10 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-09-28 23:36:58 +0200hackagenetwork-types-icmp 1.0.0.0 - Types for representing ICMP and ICMPv6 messages. https://hackage.haskell.org/package/network-types-icmp-1.0.0.0 (adamflott)
2020-09-28 23:37:04 +0200 <cohn> is there a function to get the fractional part of a double?
2020-09-28 23:37:14 +0200 <cohn> so, e.g. 4.47 -> 0.47
2020-09-28 23:37:27 +0200 <dolio> > mod' 4.47 1.0
2020-09-28 23:37:29 +0200 <lambdabot> 0.46999999999999975
2020-09-28 23:37:56 +0200 <cohn> dolio: thanks
2020-09-28 23:37:59 +0200Enrico63(5204d17b@cpc149476-cmbg20-2-0-cust378.5-4.cable.virginm.net) (Ping timeout: 245 seconds)
2020-09-28 23:38:10 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-09-28 23:38:31 +0200chaosmasttter(~chaosmast@p200300c4a70aba01051f9f9accc8fe29.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-09-28 23:38:38 +0200 <cohn> dolio: where does `mod'` live? It doesn't appear to be in Prelude
2020-09-28 23:39:15 +0200 <dolio> I forget exactly. Maybe Data.Fixed.
2020-09-28 23:39:23 +0200 <ddellacosta> yeah ^
2020-09-28 23:39:23 +0200 <cohn> dolio: yea, that's what Hoogle says
2020-09-28 23:39:28 +0200argent0(~argent0@168.227.96.4)
2020-09-28 23:39:28 +0200johnw(~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
2020-09-28 23:39:31 +0200 <monochrom> I think properFraction is the more common way.
2020-09-28 23:39:33 +0200filwisher(~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds)
2020-09-28 23:39:35 +0200 <dolio> Even though it operates on floating point numbers.
2020-09-28 23:39:39 +0200 <monochrom> > properFraction 4.47
2020-09-28 23:39:41 +0200 <lambdabot> (4,0.46999999999999975)
2020-09-28 23:40:07 +0200 <dolio> Oh, yeah, that's probably better.
2020-09-28 23:40:31 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer)
2020-09-28 23:40:43 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2020-09-28 23:41:04 +0200 <dolio> mod' is probably using properFraction with additional arithmetic or something.
2020-09-28 23:41:15 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-09-28 23:41:52 +0200 <monochrom> But mod' is very useful and general when it is like "the remainder after taking out integral chunks of pi" :)
2020-09-28 23:42:20 +0200reppertj(~textual@pool-96-246-209-59.nycmny.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
2020-09-28 23:42:37 +0200 <dolio> I guess it isn't, but it looks like mod' is more complicated.
2020-09-28 23:44:45 +0200 <monochrom> In retrospect with hindsight, mod' would be provided in Prelude along with all the other common arithmetic operations. Because even common floating point hardware has an instruction for it.
2020-09-28 23:45:37 +0200 <dolio> Yeah, that'd be nice. It looks like mod' isn't actually using that, unless there are some rewrite rules.
2020-09-28 23:47:22 +0200 <monochrom> Ah, I cited hardware just for some kind of evidence for "it is a frequently wished-for thing".
2020-09-28 23:50:03 +0200adam_wespiser(~adam_wesp@209.6.42.110)
2020-09-28 23:53:17 +0200fendor(~fendor@77.119.128.154.wireless.dyn.drei.com) (Remote host closed the connection)
2020-09-28 23:53:42 +0200LKoen(~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) (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-09-28 23:54:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-09-28 23:56:11 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-09-28 23:56:16 +0200adam_wespiser(~adam_wesp@209.6.42.110) (Ping timeout: 256 seconds)
2020-09-28 23:57:24 +0200mu_(~mu@unaffiliated/mu)
2020-09-28 23:58:00 +0200dhouthoo(~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.8)
2020-09-28 23:59:14 +0200sepi(49dc4892@c-73-220-72-146.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)