Home freenode/#haskell: Logs Calendar

Logs on 2020-10-12 (freenode/#haskell)

00:00:01 × openstackstatus1 quits (~openstack@185.163.110.116) ()
00:00:10 × atk quits (~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
00:00:11 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 244 seconds)
00:00:34 atk joins (~Arch-TK@ircpuzzles/staff/Arch-TK)
00:00:56 zoom8484 joins (44beb1c9@068-190-177-201.res.spectrum.com)
00:01:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
00:02:02 <zoom8484> basic question regarding how the list type is able to construct a list value using syntax like [5]
00:02:11 <zoom8484> the list type is defined as: data [] a = [] | a : [a]
00:02:28 <Axman6> it's syntax sugar
00:02:31 <zoom8484> I've read that [5] is syntactic sugar for 5:[]
00:02:38 <koz_> Yeah, basically this.
00:02:53 <zoom8484> but is that sugar built into the compiler or is it derived the from list data definition
00:03:03 <monochrom> built into the compiler
00:03:04 <Axman6> it;s defined as part of the language
00:03:07 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
00:03:18 <Axman6> so a haskell compiler has to support it
00:03:29 <zoom8484> thanks. is it specific to only [], or is it available for my own types as well, of course using different symbols
00:03:45 <Axman6> sort of
00:03:46 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
00:03:59 <monochrom> Unavailable for your own types.
00:04:17 <Axman6> we have the OVerloadedLists extensions which lets you construct things using list syntax
00:04:33 <zoom8484> hmm, so even though the data type is really a library-defined type, there is hard-coded logic in the compiler to handle this specific case of it
00:04:52 <Axman6> so you can write [('a',True),('b',False)] :: Map Char Bool
00:05:00 <Axman6> yes
00:05:12 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
00:05:24 <zoom8484> ok, thanks. just wanted to make sure I wasn't missing some magic in the data declaration for the list type
00:05:31 <monochrom> Actually "data [] a = [] | a : [a]" cannot be library-defined either.
00:05:51 <zoom8484> it's defined in GHC.Types. Is that considered "built-in"
00:05:56 <Axman6> there is a lot of magic magic when it comes to making lists feel familliar
00:06:33 <Axman6> s/magic magic/magic/
00:07:26 <monochrom> I don't know what GHC.Types does, but you go through the Haskell grammar and there is no way "data [] a = [] | a : [a]" is correct syntax.
00:07:38 <zoom8484> i got that via :i [] in ghci
00:07:42 <monochrom> s/correct/legal/
00:08:32 <Axman6> zoom8484: youy're right to be confused - all of this is only legal because the standard says it is, and it's inconsistent with every other data type definition
00:08:45 <proofofme> `curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh` <= I did this. `cabal --version` says the same thing still :(
00:09:02 <Axman6> you can't make your own list by saying data <> a = <> | a :+ <a> for example
00:09:16 <Axman6> proofofme: how did you install cabal initially?
00:09:23 <monochrom> It's easy to check. "data Maybe a = Nothing | Just a", this is library-defined but even if the library didn't have it, you could have entered this yourself. In fact you can enter it right into ghci and it will be gladly accepted.
00:09:28 <ski> non-standard data constructor name `[]', non-standard type constructor name `[]', syntactic sugar for lists of definite length `[a,b,c,...y,z]', syntactic sugar for list types `[T]', list comprehensions `[E | x <- L,let {...},G]', `OverloadedLists' extension
00:09:34 chenshen joins (~chenshen@2620:10d:c090:400::5:228b)
00:09:34 <proofofme> I think homebrew maybe? idr
00:09:47 <monochrom> Now try "data [] a = [] | a : [a]", that will be a syntax error left right and centre.
00:09:54 <Axman6> proofofme: well start by uninstalling it from homebrew
00:10:20 <Axman6> monochrom: I love the inconsistency of using both [] a and [a]
00:10:36 <monochrom> "[a]" is very intuitive.
00:10:44 <ski> "intuitive"
00:10:52 <monochrom> It's why I doubt everything intuitive. 90% probably of being wrong.
00:10:52 <koz_> proofofme: You have to then use ghcup to install cabal.
00:11:12 <Axman6> exept when people start writing f [a] = ... expecting a to represent all the a's (or something)
00:11:15 <monochrom> If it's intuitive it's BS. Change my mind.
00:11:27 hackage churros 0.1.0.2 - Channel/Arrow based streaming computation library. https://hackage.haskell.org/package/churros-0.1.0.2 (LyndonMaydwell)
00:11:30 <ski> Axman6 : i wonder why people do that ..
00:11:33 × chenshen quits (~chenshen@2620:10d:c090:400::5:228b) (Client Quit)
00:11:38 <Axman6> yeah I see it a lot
00:11:42 <monochrom> For example every mixfix syntax!
00:11:52 <MarcelineVQ> at least it's not agda, where [a] is an identifier, like xs, and [ a ] is a list of a single a, like [x]
00:11:55 <ski> i guess people want to represent the type (or some aspect of it), in the identifier name
00:12:01 <ski> BASIC,Perl,..
00:12:12 <Axman6> when I was teaching firsty years it qwas very common for students to get stuck in "I'm using a list, therefore I MUST use square brackets"
00:12:19 <ski> (people even say `strlen()' when they mean `strlen' ..)
00:12:45 <ski> Axman6 : the faster they get out of that, the better, imho
00:13:02 <Axman6> indeed
00:13:05 <proofofme> https://gist.github.com/begriffs/6408415 would something like this work, and then rerun the ghcup command?
00:13:19 <ski> iirc, i saw some suggestion for allowing some syntax with square backets, as an alternative to `x : xs' .. not really a fan of that idea
00:13:34 <Axman6> I think we might have changed the course to use data List a = Nil | Cons a (List a) at least for a few weeks at the beginning
00:13:39 <ski> (Prolog,Erlang, and (iirc) Clean, does that)
00:14:25 <Axman6> proofofme: if you haven't done anything, that will probably be a decent start, but if you used homebrew you will also need to uninstall ghc and cabal from there too
00:14:28 <ski> MarcelineVQ : hah, yea ..
00:14:42 <Axman6> ski: yeah I always found that gross
00:14:53 <ski> MarcelineVQ : sometimes i name proofs of propositions, that way, in Agda, by removing the spaces
00:14:58 <Axman6> but syntax is hard. all we need is trees and opaque hashes
00:15:24 <MarcelineVQ> ski: ye
00:15:40 <MarcelineVQ> foo a b x>y =...
00:16:10 <ski> perhaps some notation for "the unique value in scope having this type" could be useful .. not sure
00:16:33 <MarcelineVQ> _ ?
00:16:56 <ski> it doesn't mean the same, in patterns
00:17:30 × hwabyong quits (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (Quit: ZNC 1.6.5+deb1+deb9u2 - http://znc.in)
00:17:48 <dolio> I've been using identifiers like `[a]` in Agda lately. It was pretty convenient that they aren't lists.
00:17:53 <MarcelineVQ> not in pattern no but why would you you need that in patterns?
00:18:03 <dolio> Because I don't even need lists for what I was doing.
00:19:23 <ski> MarcelineVQ : to remind myself of the type of the particular pattern
00:20:24 <ski> (taking into context the refinements made by matching on data constructors)
00:23:26 <proofofme> tried that script ... still have the old cabal. should i use `rm -r /usr/local/bin/cabal`?
00:25:34 hwabyong joins (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com)
00:25:44 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
00:26:19 ddere joins (uid110888@gateway/web/irccloud.com/x-vgusxnbjafubujyq)
00:28:52 jedws joins (~jedws@121.209.161.98)
00:30:46 <koz_> proofofme: Did you adjust your PATH as ghcup suggested?
00:31:30 <proofofme> no, I didn't ...
00:31:48 <koz_> proofofme: Then it's highly likely you're not seeing the newly-installed (higher-versioned) cabal.
00:32:34 GyroW_ joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
00:32:34 × GyroW_ quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
00:32:34 GyroW_ joins (~GyroW@unaffiliated/gyrow)
00:32:44 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 244 seconds)
00:36:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:36:16 ystael joins (~ystael@209.6.50.55)
00:36:32 <proofofme> yes! success! putStrLn "Thanks, koz_"
00:36:58 <koz_> proofofme: No worries. You can use 'ghcup list' to see what cabal it gave you, and which are available.
00:37:06 <koz_> You should now no longer see issues of the form you ran into.
00:38:51 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
00:39:38 conal joins (~conal@64.71.133.70)
00:39:42 <proofofme> could not resolve dependencies. so Kafkaesque lol
00:40:03 <koz_> Exact error message (in a pastebin)?
00:41:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
00:42:30 <proofofme> https://pastebin.pl/view/d5fa52c0
00:43:24 <zoom8484> thanks guys!
00:43:28 × zoom8484 quits (44beb1c9@068-190-177-201.res.spectrum.com) (Remote host closed the connection)
00:43:40 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
00:43:59 <koz_> proofofme: Try re-running with --minimize-conflict-set?
00:44:53 <proofofme> https://pastebin.pl/view/9d998ecb
00:45:46 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
00:45:53 <koz_> Hmm, you can do one of two things: use GHC 8.6.5 or try with --allow-newer.
00:46:57 hackage web-plugins 0.4.0 - dynamic plugin system for web applications https://hackage.haskell.org/package/web-plugins-0.4.0 (JeremyShaw)
00:47:55 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
00:48:24 <proofofme> LICENSE: openBinaryFile: does not exist (No such file or directory). <---from --allow-newer
00:48:39 <proofofme> wouldn't it be bad to go back to 8.6.5?
00:48:41 × danvet_ quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
00:48:41 × jchia quits (~jchia@58.32.32.136) (Quit: Leaving.)
00:48:42 sand_dull joins (~theuser@104.140.53.43)
00:49:28 jchia joins (~jchia@58.32.32.136)
00:49:33 conal joins (~conal@64.71.133.70)
00:52:31 djellemah joins (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
00:53:24 <koz_> proofofme: Why? I mean, is there a particular 8.8 feature you want?
00:53:36 <koz_> ghcup can give you multiple GHC versions quite trivially.
00:53:52 <koz_> And you can use 'cabal configure -w the.ghc.version.I.want' to set it up.
00:54:23 <koz_> That error is a bit weird though - could you give the exact error message?
00:54:44 <proofofme> that was the extent of it; it was only one line
00:54:57 <koz_> OK, could you pastebin your cabal file?
00:54:59 Guest92188 joins (~flo@178.162.204.214)
00:56:11 <proofofme> one sec
00:56:27 × Alleria_ quits (~AllahuAkb@2604:2000:1484:26:d9b5:40ce:4a6a:3e0a) (Ping timeout: 240 seconds)
00:57:39 <proofofme> `cat ~/.cabal/config`?
00:57:46 <koz_> No, the cabal file of your project.
00:58:05 <koz_> You shoudl have a whatever-you-named-your-project.cabal in your project folder.
00:58:16 <koz_> That is typically referred to as 'a cabal file'.
00:58:29 <proofofme> that was in the mysql haskell folder that I did this. I was trying to install the db driver
00:58:46 <koz_> proofofme: mysql-haskell is a library.
00:58:52 <koz_> You don't _install_ it, you depend on it.
00:59:03 <proofofme> ah
00:59:48 <koz_> You only install executables.
00:59:49 st8less joins (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c)
01:01:28 × jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 272 seconds)
01:02:39 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Remote host closed the connection)
01:03:06 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
01:05:57 gokkun joins (~dblbch@89.232.38.52)
01:07:00 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:b5b9:ec51:2bb2:42cb) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:07:12 <proofofme> what's the proper way to add a library, like Text.HTML.Scalpel, for example?
01:09:27 × xff0x quits (~fox@2001:1a81:5276:8500:a0c7:cc77:f7d4:2372) (Ping timeout: 240 seconds)
01:10:39 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Remote host closed the connection)
01:11:09 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
01:11:23 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:994a:80db:3f3a:ee42)
01:11:37 xff0x joins (~fox@2001:1a81:52ad:5800:a0c7:cc77:f7d4:2372)
01:11:47 <lemmih> proofofme: First you find the name of the library that has that module.
01:12:02 Alleria_ joins (~AllahuAkb@2604:2000:1484:26:c13:bf83:d3a4:854a)
01:12:21 <proofofme> https://hackage.haskell.org/package/scalpel
01:12:45 <lemmih> proofofme: Good. Add 'scalpel' to the list of 'build-depends' in your cabal file.
01:13:19 <proofofme> I don't have a cabal file in the project yet ... It's just an hs file for now
01:13:24 <proofofme> I can create one
01:13:44 <proofofme> `cabal init`
01:13:51 × Wuzzy quits (~Wuzzy@p5790e6f5.dip0.t-ipconnect.de) (Quit: Wuzzy)
01:14:30 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
01:15:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:15:37 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 244 seconds)
01:17:28 <proofofme> cabal init didn't create the file hmmm
01:19:17 CMCDragonkai1 joins (~Thunderbi@124.19.3.250)
01:20:01 <monochrom> "cabal init" creates a lot of files silently. You'll have to do an "ls" and explore around.
01:20:43 × jedii quits (~g@209.6.150.53) (Remote host closed the connection)
01:21:09 <lemmih> proofofme: You can also just do 'cabal v1-install scalpel'. That will make the library globally available.
01:21:23 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
01:21:54 snakemas1 joins (~snakemast@213.100.206.23)
01:24:41 × da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:24:55 × st8less quits (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c) (Ping timeout: 244 seconds)
01:26:28 × raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
01:26:45 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
01:26:48 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
01:27:04 <proofofme> it's installing successfully so far :)
01:28:04 <cohn> I'm playing around with the Text.CSV module. Hopefully this is an easy one: how can I get the "head" of the CSV data (the column names)?
01:28:15 <cohn> when I do this: dat <- parseCSVFromFile "foo.csv"
01:28:28 <cohn> the result has this type: dat :: Either parsec-3.1.14.0:Text.Parsec.Error.ParseError CSV
01:28:48 st8less joins (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c)
01:28:55 <cohn> so it's wrapped in an "Either"... just need to get the Right value.
01:29:19 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
01:31:21 aaaaaa joins (~ArthurStr@host-91-90-11-13.soborka.net)
01:31:23 <proofofme> pattern matching and `case` is my best guess. I'm pretty novice though ...
01:32:33 <proofofme> https://stackoverflow.com/questions/46944347/how-to-get-value-from-either Does this help?
01:33:05 <cohn> yep, thanks proofofme!
01:33:57 ensyde joins (~ensyde@2600:1702:2e30:1a40:9170:421:4d7b:753d)
01:34:47 conal joins (~conal@64.71.133.70)
01:34:50 <proofofme> apparently, you can use `fromRight` as well, but that can come with some issues, if not accounted for. I used `fromJust` to unwrap a Maybe from an IO monad to get to the [String] beneath yesterday. Took some time to figure it out lol
01:34:57 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 258 seconds)
01:35:03 × polyrain quits (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:37:55 vonfry joins (~user@li1870-189.members.linode.com)
01:38:17 <ski> proofofme : probably better to handle the error case explicitly .. unless maybe if you're really sure it can't happen
01:38:45 wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:39:01 <ski> (but even then, it can be better to have an explicit pattern-match, rather than `fromJust',`fromRight',`head',`tail', since with those, you don't get a location if things go south)
01:39:05 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
01:39:19 <cohn> crikey... not woring
01:39:22 <proofofme> so you would use `case` and pattern matching for that just by default, yeah?
01:39:23 <cohn> *working
01:40:24 <proofofme> cohn, let me see if I can get the same thing working on my end
01:40:42 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
01:41:05 × CMCDragonkai1 quits (~Thunderbi@124.19.3.250) (Ping timeout: 240 seconds)
01:41:14 <ski> proofofme : you could use `Right x = ...' in a `let' or where. or apply `\(Right x) -> x' to the result
01:41:28 × aaaaaa quits (~ArthurStr@host-91-90-11-13.soborka.net) (Ping timeout: 258 seconds)
01:41:33 <cohn> for the curious: https://pastebin.com/MYixX2vp
01:42:08 aaaaaa joins (~ArthurStr@host-91-90-11-13.soborka.net)
01:43:46 <cohn> this is what frustrates me about Haskell. It's easy to pick up the basics of the language but when it comes time to use library modules, it's a PITA.
01:44:14 <proofofme> what is `dat`?
01:44:23 <lemmih> cohn: Your problem is with static typing, though, not libraries.
01:44:28 hackage churros 0.1.0.3 - Channel/Arrow based streaming computation library. https://hackage.haskell.org/package/churros-0.1.0.3 (LyndonMaydwell)
01:45:04 <lemmih> cohn: What's the type of your expression?
01:45:18 <cohn> proofofme: it's the result of reading the CSV file
01:45:25 <cohn> https://hackage.haskell.org/package/csv-0.1.2/docs/Text-CSV.html
01:45:26 <proofofme> ah
01:45:37 <cohn> lemmih: I would agree
01:45:43 <ski> cohn : probably `head d' doesn't have type `String'
01:46:24 <lemmih> cohn: Static typing is not optional in Haskell. You just gotta bite the bullet and always keep types in mind.
01:46:39 <jchia> Why is there a head fold but no 'tail' in Control.Foldl? Is a tail old that hard to define properly?
01:46:45 <ski> cohn : do you know what you want to happen/do, in the error case ?
01:46:59 <cohn> so, `dat <- parseCSVFromFile "foo.csv"`
01:47:14 <cohn> ski: just print an error message.
01:47:20 <ski> what is `CSV' ?
01:47:27 <ski> a type synonym ?
01:47:31 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
01:47:38 × aaaaaa quits (~ArthurStr@host-91-90-11-13.soborka.net) (Ping timeout: 256 seconds)
01:47:39 <cohn> yes
01:47:45 <ski> cohn : and abort the program, or not ?
01:47:48 <lemmih> type CSV = [[String]]
01:47:51 <ski> ok
01:48:15 <cohn> ski: I'm playing around in GHCi, so no need to exit. : )
01:48:17 _vaibhavingale_ joins (~Adium@203.188.228.27)
01:48:17 × GyroW_ quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
01:48:28 GyroW joins (~GyroW@d54c03e98.access.telenet.be)
01:48:29 × GyroW quits (~GyroW@d54c03e98.access.telenet.be) (Changing host)
01:48:29 GyroW joins (~GyroW@unaffiliated/gyrow)
01:48:57 <ski> cohn : yes, but i'm asking you what you want your program to do, when there's a parse error
01:49:09 <cohn> just print an error message
01:49:11 <ski> should it continue processing, somehow ?
01:49:13 <ski> or just stop ?
01:49:24 <cohn> yes, just stop and print an error message
01:49:27 polyrain joins (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0)
01:49:39 <ski> then call `error' in the `Left' parameter case for `either'
01:50:02 <ski> (that will also fix this type mismatch error)
01:50:18 _vaibhavingale_1 joins (~Adium@203.188.228.27)
01:50:36 <cohn> whoa! that worked! thanks, ski!
01:50:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
01:50:43 <ski> because
01:50:47 <ski> @type error
01:50:48 <lambdabot> [Char] -> a
01:51:03 <ski> `error' promises that its return value will be of any type `a' that the caller would like
01:51:21 <ski> (this works, because `error' doesn't return a value, instead it aborts computation)
01:52:00 <ski> cohn : btw, you can simplify ("eta-reduce") `\d -> head d', to just `head'
01:52:01 <cohn> ah, okay. so because I didn't use `error`, the computation didn't abort, which caused the type mismatch message in my paste?
01:52:13 <ski> (but possibly you want to put more code into that alternative ..)
01:52:16 _vaibhavingale_2 joins (~Adium@203.188.228.27)
01:52:19 <ski> yes, cohn
01:52:25 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
01:52:39 <ski> it tried to check that the result type of both "branches" was the same .. and they weren't
01:52:47 × _vaibhavingale_ quits (~Adium@203.188.228.27) (Ping timeout: 265 seconds)
01:53:12 <cohn> ok, so...
01:53:16 <cohn> @type either
01:53:18 <lambdabot> (a -> c) -> (b -> c) -> Either a b -> c
01:53:35 <cohn> so the type of 'c' was different?
01:53:45 ttc joins (tomtauma1@gateway/shell/matrix.org/x-dyilsezwqgixpwcl)
01:53:47 × polyrain quits (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0) (Client Quit)
01:54:12 × _vaibhavingale_2 quits (~Adium@203.188.228.27) (Read error: Connection reset by peer)
01:54:15 _vaibhavingale_ joins (~Adium@203.188.228.27)
01:54:35 × hiptobecubic quits (~john@unaffiliated/hiptobecubic) (Remote host closed the connection)
01:54:43 × _vaibhavingale_1 quits (~Adium@203.188.228.27) (Ping timeout: 265 seconds)
01:55:09 × _vaibhavingale_ quits (~Adium@203.188.228.27) (Read error: Connection reset by peer)
01:55:11 <cohn> and yes, it works with eta reduction: `either (\err -> error "Didn't work") head dat`
01:56:05 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
01:56:19 _vaibhavingale_ joins (~Adium@203.188.228.27)
01:56:45 × coot quits (~coot@37.30.56.73.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
01:57:02 polyrain joins (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0)
01:57:08 × _vaibhavingale_ quits (~Adium@203.188.228.27) (Read error: Connection reset by peer)
01:57:47 <cohn> thanks everyone!
01:58:22 <proofofme> main = allDivs >>= (\x -> mapM_ print (fromJust x))
01:58:50 <proofofme> how would you rewrite the fromJust portion? I've been trying to do pattern matching but get a mismatched type error
01:58:51 <Axman6> formJust is a code smell
01:59:01 <Axman6> what have you tried?
01:59:40 <proofofme> https://pastebin.com/HYHRj4PY
01:59:47 <ski> main = maybe (putStrLn "Oups !") (mapM_ print) =<< allDivs -- one way. you could also use a `case', e.g.
01:59:56 <Axman6> main = do {divs <- allDivs; case divs of Nothing -> <handle error case>; Just x -> do <things with x> }
02:00:27 ski can't recall whether proofofme's seen `do' yet
02:00:47 <proofofme> very briefly ... not an expert
02:00:48 <ski> main = do divs <- allDivs
02:00:49 <Axman6> proofofme: what is the type oif handleMaybe?
02:00:56 <ski> case divs of
02:01:01 <ski> Nothing -> <handle error case>
02:01:07 <ski> Just x -> do <things with x>
02:01:15 Axman6 notes that's the correct spelling of the Australian "of"
02:02:13 <proofofme> type is [Div] | Nothing, right?
02:02:23 <proofofme> data Div = Div String deriving (Show, Eq)
02:02:49 <Axman6> doesn;'t sound right to me, | isn't a thing in types
02:03:06 <Axman6> "" looks like a String to me though
02:03:16 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
02:03:16 wei2912 joins (~wei2912@unaffiliated/wei2912)
02:04:02 wroathe_ is now known as wroathe
02:05:54 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
02:06:05 da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com)
02:07:51 rekahsoft joins (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com)
02:08:01 <Axman6> proofofme: you should start by adding a type signature to handleMaybe, that should help you get your thoughts in order
02:08:50 × ensyde quits (~ensyde@2600:1702:2e30:1a40:9170:421:4d7b:753d) (Quit: WeeChat 2.9)
02:14:05 mdunnio joins (~mdunnio@208.59.170.5)
02:14:22 <cohn> lemmih: can you recommend any good resources on types besides the Typeclassopedia?
02:14:43 lagothrix is now known as Guest59393
02:14:43 × Guest59393 quits (~lagothrix@unaffiliated/lagothrix) (Killed (verne.freenode.net (Nickname regained by services)))
02:14:44 ensyde joins (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369)
02:14:49 lagothrix joins (~lagothrix@unaffiliated/lagothrix)
02:15:23 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds)
02:18:39 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 244 seconds)
02:20:00 mdunnio joins (~mdunnio@208.59.170.5)
02:20:27 hackage clckwrks 0.26.2 - A secure, reliable content management system (CMS) and blogging platform https://hackage.haskell.org/package/clckwrks-0.26.2 (JeremyShaw)
02:20:47 × polyrain quits (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:21:29 × AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Read error: Connection reset by peer)
02:23:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:24:20 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 244 seconds)
02:24:29 <proofofme> `main = maybe (putStrLn "Error") (mapM_ print) =<< allDivs` this line ended up working
02:25:01 Saukk joins (~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3)
02:26:12 plutoniix joins (~q@175.176.222.7)
02:27:20 <Axman6> do you understand it though? I still think you should do what I suggested above
02:27:24 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
02:27:50 <Axman6> because I have a strong feeling you wrote handleMaybe without understanding why it compiled
02:28:10 <Axman6> and it was not doing hwat you intended it to do
02:28:32 <proofofme> I understand the maybe function. I was returning the wrong type, yeah?
02:28:37 × theDon quits (~td@94.134.91.169) (Ping timeout: 258 seconds)
02:29:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
02:29:27 <Axman6> for a hint about what type handleMaybe should have, in the code you had before, change it from main = allDivs >>= (\x -> mapM_ print (handleMaybe x)) main = allDivs >>= (\x -> mapM_ print (_handleMaybe x)) and let the compiler tell you
02:29:31 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
02:30:01 × seanparsons quits (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Ping timeout: 244 seconds)
02:30:16 theDon joins (~td@muedsl-82-207-238-192.citykom.de)
02:30:33 <Axman6> "I was returning the wrong type" is almost always the answer to why something didn't compile, but you have to understand what types you expect to be returning (and accepting) to be able to do something with that fact
02:30:58 × fraktor quits (~walt@129.93.191.18) (Ping timeout: 265 seconds)
02:31:00 mirrorbird joins (~psutcliff@2a00:801:429:5ea0:80af:2bca:f885:1bb9)
02:32:20 <proofofme> Found hole: _handleMaybe :: Maybe [Div] -> t0 a0
02:32:20 <proofofme> Where: ‘t0’ is an ambiguous type variable
02:32:20 <proofofme> ‘a0’ is an ambiguous type variable
02:32:22 <proofofme> Or perhaps ‘_handleMaybe’ is mis-spelled, or not in scope
02:32:47 fraktor joins (~walt@193.32.127.227)
02:33:07 × st8less quits (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c) (Ping timeout: 244 seconds)
02:33:14 <Axman6> hmm, slightly less heklpful now mapM_ has a more general type than it used to. read `t0 a0` as [a]
02:33:20 <proofofme> Couldn't match type ‘Div’ with ‘Char’
02:33:31 seanparsons joins (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
02:33:33 <proofofme> this is when I use it without the `_`
02:33:59 <Axman6> yep, so your function in the Nothing case returns a String, which is [Char], but you really wanted to return a [Div]
02:34:29 <proofofme> oh! I see
02:35:10 <proofofme> trying to fix it now ...
02:35:37 <Axman6> uh, also, you had ... Just x -> return x, which means you're actually using some monad, which you probably didn't mean to, you probably wanted Just x -> x; Nothing -> <something that is also of tyoe [Div]>
02:35:47 <Axman6> :t return
02:35:49 <lambdabot> Monad m => a -> m a
02:36:13 <Axman6> our return is not the same as everyone else's return
02:36:20 <proofofme> so exclude the return
02:36:41 <proofofme> compiled!
02:36:43 <proofofme> makes sense
02:37:00 <proofofme> handleMaybe x = case x of
02:37:00 <proofofme> Just val -> val
02:37:00 <proofofme> Nothing -> [Div ""]
02:37:03 <proofofme> I used that
02:37:12 <Axman6> is there a simpler way to make a [Div]?
02:37:42 <Axman6> how can we construct lists in Haskell (hint, there are two answers, according to the definition of lists)
02:37:42 <proofofme> hmm how?
02:37:52 <Axman6> @src []
02:37:52 <lambdabot> data [] a = [] | a : [a]
02:37:53 <proofofme> cons
02:37:56 xerox_ joins (~xerox@unaffiliated/xerox)
02:38:20 <proofofme> use data?
02:38:33 <Axman6> if I say to you "I need a list of Wombles", and you don't have any Wombles, can you give me a list of Wombles?
02:38:49 <proofofme> I can give [], yeah?
02:38:54 <Axman6> yep
02:38:58 hackage clckwrks 0.26.2.1 - A secure, reliable content management system (CMS) and blogging platform https://hackage.haskell.org/package/clckwrks-0.26.2.1 (JeremyShaw)
02:39:09 <Axman6> since [] doesn't need any Wombles
02:39:22 <proofofme> handleMaybe x = case x of
02:39:23 <proofofme> Just val -> val
02:39:23 <proofofme> Nothing -> []
02:39:27 <proofofme> like that, yeah?
02:39:32 <Axman6> what's the type of that function?
02:39:42 <Axman6> looks good, but it;s only half the story!
02:40:40 <proofofme> handleMaybe :: Maybe [Div] -> [Div]
02:41:36 <Axman6> looks good to me (though, that's a much more specific type that that function actually needs - do you know what its most general type is?)
02:42:24 <proofofme> handleMaybe :: Maybe [a] -> [a]
02:42:34 <Axman6> noice, nailed it
02:42:40 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 246 seconds)
02:42:42 <proofofme> why generalize it?
02:42:53 <dsal> Why write special code for every special case? :)
02:43:02 <proofofme> ha good point
02:43:18 <dsal> @hoogle Maybe [a] -> [a]
02:43:19 <lambdabot> Prelude concat :: Foldable t => t [a] -> [a]
02:43:19 <lambdabot> Data.List concat :: Foldable t => t [a] -> [a]
02:43:19 <lambdabot> Data.Foldable concat :: Foldable t => t [a] -> [a]
02:43:22 <Axman6> it's more useful then, I can use it on my Maybe [Womble] without having to write it myself, thansk for the useful function!
02:43:55 <proofofme> I contributed to the commons!
02:43:56 <Axman6> % :t concat @Maybe
02:43:57 <yahb> Axman6: Maybe [a] -> [a]
02:43:58 hackage clckwrks-theme-bootstrap 0.4.2.4 - simple bootstrap based template for clckwrks https://hackage.haskell.org/package/clckwrks-theme-bootstrap-0.4.2.4 (JeremyShaw)
02:44:11 <Axman6> damn, looks like someone beat you to it!
02:44:44 <proofofme> XD
02:44:53 <dsal> Notice that the same thing you'd use for `[[a]] -> [a]` also works for `Maybe [a] -> [a]` (and tons of other foldables)
02:46:01 <Axman6> you mean, even my OWN foldables? :mindblown:
02:46:27 <proofofme> guys brb. I must hunt for food. I will be back soon. thanks^1000000
02:46:28 × nek0 quits (~nek0@mail.nek0.eu) (Quit: ZNC 1.7.5 - https://znc.in)
02:46:44 <dsal> I caught a pomegranate today.
02:46:50 <Axman6> > a^1000000
02:46:52 <lambdabot> a * a * (a * a) * (a * a * (a * a)) * (a * a * (a * a) * (a * a * (a * a))) ...
02:47:18 nek0 joins (~nek0@mail.nek0.eu)
02:47:24 <dsal> Is that a Gigafonzee?
02:47:43 <Axman6> > let thanks = var "thanks" in thanks^1000000
02:47:45 <lambdabot> thanks * thanks * (thanks * thanks) * (thanks * thanks * (thanks * thanks)) ...
02:48:17 <dsal> That library is kind of magic.
02:48:33 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
02:48:39 <Axman6> nah, it's simple... simple-reflect XD
02:50:39 <monochrom> > 1^10 :: Expr
02:50:42 <lambdabot> 1 * 1 * (1 * 1) * (1 * 1 * (1 * 1)) * (1 * 1)
02:50:59 drbean joins (~drbean@TC210-63-209-60.static.apol.com.tw)
02:51:13 <Axman6> > reduction (1^10)
02:51:16 <lambdabot> [1 * 1 * (1 * 1) * (1 * 1 * (1 * 1)) * (1 * 1),1 * (1 * 1) * (1 * 1 * (1 * 1...
02:51:21 × mirrorbird quits (~psutcliff@2a00:801:429:5ea0:80af:2bca:f885:1bb9) (Quit: Leaving)
02:51:22 <monochrom> It's very dumb, like some kind of FreeNum.
02:51:48 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:994a:80db:3f3a:ee42) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:53:11 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
02:53:49 <monochrom> > (-0)^10 ::
02:53:52 <lambdabot> <hint>:1:12: error:
02:53:52 <lambdabot> <hint>:1:12: error:
02:53:52 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
02:53:55 <monochrom> > (-0)^10 :: Expr
02:53:57 <lambdabot> negate 0 * negate 0 * (negate 0 * negate 0) * (negate 0 * negate 0 * (negate...
02:54:05 <monochrom> I didn't expect that to be that dumb. :)
02:54:57 <monochrom> You could imagine that it merely uses an AST, and so the most sophisticated code is in the Show instance.
02:56:03 × fraktor quits (~walt@193.32.127.227) (Ping timeout: 260 seconds)
02:57:24 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 244 seconds)
02:59:41 mdunnio joins (~mdunnio@208.59.170.5)
03:00:00 × Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.)
03:00:02 × Guest92188 quits (~flo@178.162.204.214) ()
03:00:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:00:36 dyeplexer joins (~lol@unaffiliated/terpin)
03:01:21 OmegaDoug joins (8e749478@lnsm2-torontoxn-142-116-148-120.dsl.bell.ca)
03:01:33 Taneb joins (~Taneb@runciman.hacksoc.org)
03:03:58 hackage longshot 0.1.0.4 - Fast Brute-force search using parallelism https://hackage.haskell.org/package/longshot-0.1.0.4 (thyeem)
03:04:05 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Quit: geowiesnot)
03:04:07 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 244 seconds)
03:04:26 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
03:04:36 pingiun joins (~pingiun@j63019.upc-j.chello.nl)
03:08:14 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Remote host closed the connection)
03:10:27 × quazimodo quits (~quazimodo@27-33-123-50.tpgi.com.au) (Remote host closed the connection)
03:13:15 sword865 joins (uid208942@gateway/web/irccloud.com/x-dthyagnvtpyokqxb)
03:13:33 × jchia quits (~jchia@58.32.32.136) (Remote host closed the connection)
03:14:37 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
03:15:32 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
03:15:34 jchia joins (~jchia@45.32.62.73)
03:16:36 × jchia quits (~jchia@45.32.62.73) (Remote host closed the connection)
03:16:47 jchia joins (~jchia@45.32.62.73)
03:17:08 macrover joins (~macrover@ip70-189-231-35.lv.lv.cox.net)
03:18:08 × jchia quits (~jchia@45.32.62.73) (Remote host closed the connection)
03:18:30 × drbean quits (~drbean@TC210-63-209-60.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin1 - https://znc.in)
03:18:50 jchia joins (~jchia@58.32.32.136)
03:19:14 × OmegaDoug quits (8e749478@lnsm2-torontoxn-142-116-148-120.dsl.bell.ca) (Ping timeout: 245 seconds)
03:22:43 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
03:24:13 × solonarv quits (~solonarv@adijon-655-1-70-207.w90-13.abo.wanadoo.fr) (Ping timeout: 264 seconds)
03:27:58 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
03:28:55 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 240 seconds)
03:29:03 drbean joins (~drbean@TC210-63-209-219.static.apol.com.tw)
03:29:52 sleepingisfun joins (~sleepingi@168.235.93.188)
03:34:35 × kupi quits (uid212005@gateway/web/irccloud.com/x-qqaeittltyajhdin) (Quit: Connection closed for inactivity)
03:34:36 × djellemah quits (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 244 seconds)
03:35:33 × Saukk quits (~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) (Remote host closed the connection)
03:35:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
03:38:34 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Quit: Lost terminal)
03:40:52 macrover parts (~macrover@ip70-189-231-35.lv.lv.cox.net) ("Killed buffer")
03:42:07 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
03:43:58 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
03:44:12 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
03:44:55 mirrorbird joins (~psutcliff@2a00:801:429:5ea0:80af:2bca:f885:1bb9)
03:45:00 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds)
03:45:13 Stanley00 joins (~stanley00@unaffiliated/stanley00)
03:45:43 × sand_dull quits (~theuser@104.140.53.43) (Ping timeout: 256 seconds)
03:46:21 × mirrorbird quits (~psutcliff@2a00:801:429:5ea0:80af:2bca:f885:1bb9) (Remote host closed the connection)
03:47:14 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
03:47:14 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
03:47:14 GyroW joins (~GyroW@unaffiliated/gyrow)
03:48:02 × jwynn6 quits (~jwynn6@050-088-122-078.res.spectrum.com) (Ping timeout: 272 seconds)
03:52:55 × ericsagnes quits (~ericsagne@2405:6580:0:5100:e9f3:9297:73e4:fa18) (Ping timeout: 240 seconds)
03:54:10 Katarushisu7 joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
03:55:02 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 260 seconds)
03:55:02 Katarushisu7 is now known as Katarushisu
03:55:43 larsivi joins (~larsivi@84.39.117.57)
03:55:56 waskell joins (~quassel@d66-183-124-7.bchsia.telus.net)
03:57:21 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-dyncoieblejuiqfh) (Quit: Connection closed for inactivity)
03:59:05 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 240 seconds)
03:59:50 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
04:02:19 × todda7 quits (~torstein@athedsl-279217.home.otenet.gr) (Ping timeout: 265 seconds)
04:02:49 polyrain joins (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0)
04:02:53 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
04:05:50 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:994a:80db:3f3a:ee42)
04:06:05 ericsagnes joins (~ericsagne@2405:6580:0:5100:65f3:1e6d:ab49:97d4)
04:06:14 Tario joins (~Tario@201.192.165.173)
04:10:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:10:54 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds)
04:11:52 × ski quits (~ski@m-1163-19.studat.chalmers.se) (Ping timeout: 260 seconds)
04:13:11 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
04:13:28 adminn joins (~admin@68.183.155.87)
04:15:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
04:16:14 × irc_user quits (uid423822@gateway/web/irccloud.com/x-wvexijsynfnxdgbk) (Quit: Connection closed for inactivity)
04:17:36 seanvert joins (~user@177.84.244.242)
04:17:36 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
04:19:41 DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
04:20:32 × polyrain quits (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:21:49 polyrain joins (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0)
04:21:56 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
04:22:42 snakemas1 joins (~snakemast@213.100.206.23)
04:25:55 aaaaaa joins (~ArthurStr@host-91-90-11-13.soborka.net)
04:27:02 Tario joins (~Tario@201.192.165.173)
04:27:30 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
04:30:07 × adminn quits (~admin@68.183.155.87) (Quit: ZNC 1.7.4+deb7 - https://znc.in)
04:30:35 × gokkun quits (~dblbch@89.232.38.52) (Quit: Leaving)
04:31:26 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds)
04:32:13 day_ joins (~Unknown@unaffiliated/day)
04:33:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
04:35:05 × day quits (~Unknown@unaffiliated/day) (Ping timeout: 240 seconds)
04:35:05 day_ is now known as day
04:38:50 xerox_ joins (~xerox@unaffiliated/xerox)
04:39:05 × dyeplexer quits (~lol@unaffiliated/terpin) (Ping timeout: 240 seconds)
04:40:59 × ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 265 seconds)
04:42:55 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Remote host closed the connection)
04:43:24 thir joins (~thir@pd9e1b838.dip0.t-ipconnect.de)
04:43:25 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
04:43:38 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
04:44:13 × vonfry quits (~user@li1870-189.members.linode.com) (Remote host closed the connection)
04:48:03 × thir quits (~thir@pd9e1b838.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
04:51:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:53:02 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
04:53:17 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
04:53:17 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
04:53:17 GyroW joins (~GyroW@unaffiliated/gyrow)
04:53:55 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds)
04:54:26 <proofofme> `cabal install mysql-haskell` fails for me
05:04:44 × ddere quits (uid110888@gateway/web/irccloud.com/x-vgusxnbjafubujyq) (Quit: Connection closed for inactivity)
05:05:47 × aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 258 seconds)
05:07:25 × rekahsoft quits (~rekahsoft@CPE0008a20f982f-CM64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 264 seconds)
05:08:28 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
05:15:38 __ngua joins (~rory@2402:800:6379:81de:c01f:8864:9ffb:a477)
05:19:20 alinab joins (~alinab@c-73-73-226-52.hsd1.il.comcast.net)
05:21:27 solonarv joins (~solonarv@adijon-655-1-70-207.w90-13.abo.wanadoo.fr)
05:21:47 yoja joins (~yoel.jaco@89.237.104.52)
05:22:17 kl1xto joins (~klixto@130.220.8.149)
05:23:00 coot joins (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl)
05:23:42 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
05:24:12 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 260 seconds)
05:24:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
05:26:07 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
05:26:50 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
05:27:40 × alinab quits (~alinab@c-73-73-226-52.hsd1.il.comcast.net) (Quit: leaving)
05:28:58 alinab joins (uid468903@gateway/web/irccloud.com/x-bpuhjlegovfytkui)
05:30:08 DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
05:30:51 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
05:31:16 shatriff joins (~vitaliish@176.52.219.10)
05:31:21 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
05:31:35 shatriff joins (~vitaliish@176.52.219.10)
05:33:34 no-n is now known as u-ou
05:34:16 × __ngua quits (~rory@2402:800:6379:81de:c01f:8864:9ffb:a477) (Remote host closed the connection)
05:34:46 <yushyin> a bit more information would be needed to help you e.g. a log file
05:35:09 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:36:26 __ngua joins (~rory@2402:800:6379:81de:c01f:8864:9ffb:a477)
05:38:10 chele joins (~chele@5.53.222.202)
05:48:11 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
05:51:33 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
05:53:19 × ensyde quits (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369) (Ping timeout: 272 seconds)
05:56:03 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 256 seconds)
05:58:28 hackage longshot 0.1.0.5 - Fast Brute-force search using parallelism https://hackage.haskell.org/package/longshot-0.1.0.5 (thyeem)
05:58:57 Cthalupa joins (~cthulhu@47.186.47.75)
05:59:12 × __ngua quits (~rory@2402:800:6379:81de:c01f:8864:9ffb:a477) (Remote host closed the connection)
06:00:01 × larsivi quits (~larsivi@84.39.117.57) ()
06:00:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:00:29 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
06:05:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
06:05:51 toorevitimirp joins (~tooreviti@117.182.180.245)
06:06:54 snakemas1 joins (~snakemast@213.100.206.23)
06:07:33 × hekkaidekapus{ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
06:07:54 hekkaidekapus{ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
06:08:02 × paintedindigo quits (~paintedin@2605:a000:1621:a03f:1d23:2ce2:9ed:2bb4) (Read error: Connection reset by peer)
06:10:59 kuribas joins (~user@ptr-25vy0i7sp90j0w6z65c.18120a2.ip6.access.telenet.be)
06:11:34 × proteusguy quits (~proteusgu@cm-58-10-208-180.revip7.asianet.co.th) (Remote host closed the connection)
06:13:17 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:994a:80db:3f3a:ee42) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:16:05 hbina joins (~hbina@42.153.132.48)
06:16:43 × taurux quits (~taurux@net-188-152-14-58.cust.dsl.teletu.it) (Ping timeout: 260 seconds)
06:18:56 taurux joins (~taurux@net-188-152-14-58.cust.dsl.teletu.it)
06:19:25 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
06:20:25 proofofm_ joins (~proofofme@184-96-74-65.hlrn.qwest.net)
06:20:25 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Read error: Connection reset by peer)
06:22:22 × Buntspecht quits (~user@unaffiliated/siracusa) (Quit: Bye!)
06:22:22 × proofofm_ quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Read error: Connection reset by peer)
06:22:45 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
06:23:36 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
06:23:40 chele_ joins (~chele@5.53.222.202)
06:24:14 × chele quits (~chele@5.53.222.202) (Read error: Connection reset by peer)
06:27:11 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Ping timeout: 260 seconds)
06:29:35 <siraben> Is there an elegant way to implement hygienic macros?
06:30:13 <Axman6> I don't know what defined hygenic macros, but there is a new way to write type safe Template Haskell in GHC
06:30:13 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
06:30:18 <Axman6> defines*
06:30:25 xerox_ joins (~xerox@unaffiliated/xerox)
06:30:31 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
06:30:31 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
06:30:31 GyroW joins (~GyroW@unaffiliated/gyrow)
06:30:59 xwvvvvwx- joins (~xwvvvvwx@185.213.155.160)
06:31:47 danvet_ joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:32:37 × xwvvvvwx quits (~xwvvvvwx@185.213.155.160) (Ping timeout: 264 seconds)
06:32:38 xwvvvvwx- is now known as xwvvvvwx
06:33:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:37:47 × jinblack quits (~JinBlack@new.jinblack.it) (Ping timeout: 246 seconds)
06:37:59 chenshen joins (~chenshen@2620:10d:c090:400::5:f372)
06:45:59 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
06:46:15 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
06:46:15 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
06:46:15 GyroW joins (~GyroW@unaffiliated/gyrow)
06:46:25 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 240 seconds)
06:46:46 × fendor quits (~fendor@178.115.131.211.wireless.dyn.drei.com) (Quit: Leaving)
06:47:44 × seanvert quits (~user@177.84.244.242) (Remote host closed the connection)
06:47:59 jinblack joins (~JinBlack@2001:41d0:8:4b28::1)
06:48:01 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 246 seconds)
06:50:06 <kuribas> siraben: generics
06:50:27 <siraben> Oh I should clarify, I meant I'm implementing a Lisp
06:50:37 <siraben> and want to implement hygienic macros
06:50:59 <suzu_> macros that wash their hands often
06:51:31 Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se)
06:51:37 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
06:53:11 <kuribas> do they wear masks?
06:53:34 <suzu_> yes, safety first
06:53:45 <kuribas> siraben: have a look at scheme
06:54:02 <u-ou> what about macros individual freedom?
06:54:52 <siraben> kuribas: Yeah, https://github.com/siraben/r5rs-denot
06:55:06 <siraben> It just that, the hygienic expansion algorithms I'm looking at are quite stateful
06:56:09 <kuribas> siraben: of course it's stateful, you need to create new identifiers.
06:56:12 blardo joins (~blardo@195.206.169.184)
06:58:10 <suzu_> ok i just looked up these macros
06:58:34 <suzu_> it means they don't pollute / consume / shadow any bindings in scope at macro-use time?
06:58:50 <siraben> suzu_: Yes
06:59:14 <suzu_> they're guaranteed an internal consistent binding scope by the compiler in some way?
06:59:27 <suzu_> and you want this in a lisp interpreter?
06:59:30 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
06:59:31 John20 joins (~John@82.46.59.122)
06:59:56 chele joins (~chele@5.53.222.202)
07:00:10 × chele quits (~chele@5.53.222.202) (Remote host closed the connection)
07:00:27 chele joins (~chele@5.53.222.202)
07:00:57 <siraben> Yes. I'm thinking of implementing http://3e8.org/pub/pdf-t1/macros_that_work.pdf
07:01:33 × russruss8 quits (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat)
07:01:47 × xff0x quits (~fox@2001:1a81:52ad:5800:a0c7:cc77:f7d4:2372) (Ping timeout: 244 seconds)
07:02:08 × chele_ quits (~chele@5.53.222.202) (Ping timeout: 256 seconds)
07:02:39 russruss8 joins (~russruss@my.russellmcc.com)
07:02:57 <suzu_> idk seems like a compiler design question than a haskell thing
07:02:57 u-ou is now known as no-n
07:03:23 mdunnio joins (~mdunnio@208.59.170.5)
07:03:25 × solonarv quits (~solonarv@adijon-655-1-70-207.w90-13.abo.wanadoo.fr) (Ping timeout: 240 seconds)
07:03:55 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
07:05:37 <siraben> Yeah
07:07:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
07:07:48 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds)
07:09:32 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 244 seconds)
07:10:34 × Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
07:12:05 × taurux quits (~taurux@net-188-152-14-58.cust.dsl.teletu.it) (Ping timeout: 240 seconds)
07:13:11 × tzh quits (~tzh@2601:448:c500:5300::d90) (Quit: zzz)
07:13:52 taurux joins (~taurux@net-188-152-14-58.cust.vodafonedsl.it)
07:13:57 jespada joins (~jespada@90.254.245.15)
07:14:11 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
07:17:33 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
07:22:02 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
07:23:24 snakemas1 joins (~snakemast@213.100.206.23)
07:27:12 × rihards_ quits (~rihards@vpnlv.tilde.com) (Quit: rihards_)
07:27:58 rihards_ joins (~rihards@vpnlv.tilde.com)
07:28:37 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 246 seconds)
07:31:54 thc202 joins (~thc202@unaffiliated/thc202)
07:37:14 aqd joins (~aqd@87-92-145-87.rev.dnainternet.fi)
07:39:17 fleursdumal joins (4832064b@gateway/web/cgi-irc/kiwiirc.com/ip.72.50.6.75)
07:40:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:41:15 kritzefitz joins (~kritzefit@fw-front.credativ.com)
07:45:14 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
07:46:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
07:46:57 hackage ttn 0.2.0.0 - Things Tracker Network JSON Types https://hackage.haskell.org/package/ttn-0.2.0.0 (srk)
07:47:15 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 244 seconds)
07:48:05 knupfer joins (~Thunderbi@dynamic-046-114-150-219.46.114.pool.telefonica.de)
07:48:48 alp joins (~alp@2a01:e0a:58b:4920:8ce:75eb:bbc3:eb73)
07:49:06 × jedws quits (~jedws@121.209.161.98) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:49:45 cpressey joins (~cpressey@88.144.68.224)
07:50:31 × Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 256 seconds)
07:52:02 Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se)
07:52:37 xff0x joins (~fox@217.110.198.158)
07:56:38 darjeeli1 joins (~darjeelin@122.245.210.138)
07:56:39 × darjeeling_ quits (~darjeelin@122.245.210.138) (Read error: Connection reset by peer)
07:56:49 × chenshen quits (~chenshen@2620:10d:c090:400::5:f372) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:57:40 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 256 seconds)
07:58:47 xff0x joins (~fox@217.110.198.158)
07:59:28 hackage ttn-client 0.2.0.0 - TheThingsNetwork client https://hackage.haskell.org/package/ttn-client-0.2.0.0 (srk)
07:59:34 bahamas joins (~lucian@188.24.181.166)
07:59:34 × bahamas quits (~lucian@188.24.181.166) (Changing host)
07:59:34 bahamas joins (~lucian@unaffiliated/bahamas)
08:00:03 <bahamas> does anyone have an example of a function in the prelude that uses pattern matching in the definition? and another example that uses guards?
08:02:23 raichoo joins (~raichoo@213.240.178.58)
08:02:27 snakemas1 joins (~snakemast@213.100.206.23)
08:02:31 × ericsagnes quits (~ericsagne@2405:6580:0:5100:65f3:1e6d:ab49:97d4) (Ping timeout: 272 seconds)
08:04:00 Ariakenom joins (~Ariakenom@193.254.193.1)
08:04:09 <hc> bahamas: pattern matching: https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.List.html#head
08:04:46 <hc> guards: https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.List.html#dropWhile
08:05:46 m0rphism joins (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
08:11:15 <bahamas> hc: thank you!
08:11:15 × fleursdumal quits (4832064b@gateway/web/cgi-irc/kiwiirc.com/ip.72.50.6.75) (Quit: Connection closed)
08:11:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:11:57 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
08:12:07 GyroW joins (~GyroW@d54c03e98.access.telenet.be)
08:12:07 × GyroW quits (~GyroW@d54c03e98.access.telenet.be) (Changing host)
08:12:07 GyroW joins (~GyroW@unaffiliated/gyrow)
08:14:02 <bahamas> hc: interesting definition for "take". it uses a guard without `otherwise`, but it doesn't seem to be a problem
08:14:06 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
08:14:35 snakemas1 joins (~snakemast@213.100.206.23)
08:14:39 pfurla_ joins (~pfurla@185.108.105.110)
08:14:47 ericsagnes joins (~ericsagne@2405:6580:0:5100:8f5:b7cb:eb3d:6e86)
08:15:56 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 272 seconds)
08:17:51 <hc> bahamas: it isn't a problem because of the ordering of patterns
08:18:22 <hc> bahamas: if the list is empty, #2 will match regardless of the value of n, unless n<=0 in which case the 2nd parameter won't be evaluated and thus an empty list wouldn't be a problem here either
08:18:44 <hc> the 3rd case will only be attempted to match if the list isn't empty
08:20:05 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
08:21:17 × pfurla_ quits (~pfurla@185.108.105.110) (Ping timeout: 258 seconds)
08:21:25 × drbean quits (~drbean@TC210-63-209-219.static.apol.com.tw) (Ping timeout: 240 seconds)
08:22:05 <bahamas> hc: yes. btw, an exclamation mark in front of a function argument forces the evaluation, right?
08:24:37 <hc> bahamas: I think so; at least that's the case in Data declarations
08:25:12 cfricke joins (~cfricke@unaffiliated/cfricke)
08:25:45 <dminuoso> bahamas: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#bang-patterns-informal
08:27:02 × maroloccio quits (~marolocci@212.129.83.39) (Ping timeout: 244 seconds)
08:29:23 tdammers_ is now known as tdammers
08:31:02 <merijn> bahamas: btw, if all guards of a pattern fail it simply "falls through" to the next pattern of the function (similar to failing pattern matches) which can be useful in places :)
08:31:08 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 272 seconds)
08:31:53 maroloccio joins (~marolocci@212.129.83.39)
08:33:46 dhouthoo joins (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be)
08:34:35 DavidEichmann joins (~david@43.240.198.146.dyn.plus.net)
08:34:52 <bahamas> merijn: right. I had forgotten about that. `otherwise` is a catch all
08:35:08 <bahamas> dminuoso: thanks!
08:35:10 chaosmasttter joins (~chaosmast@p200300c4a72cce019c42f7589bbe6c59.dip0.t-ipconnect.de)
08:35:27 <maerwald> @src otherwise
08:35:27 <lambdabot> otherwise = True
08:35:49 <bahamas> dminuoso: oh, so it's an extension. it's not part of the report
08:36:09 <dminuoso> Right.
08:36:19 <dminuoso> bahamas: Roughly, think it to be equivalent to `seq`
08:36:29 <dminuoso> Perhaps, in hindsight, we should have had bang patterns instead of seq.
08:36:57 <dminuoso> The ergonomics of bang patterns are much better. :)
08:37:54 <dminuoso> So bang patterns are just syntactic sugar around Haskell2010, rather than introducing additional semantics.
08:37:55 × yoja quits (~yoel.jaco@89.237.104.52) (Ping timeout: 246 seconds)
08:38:16 <bahamas> I see
08:39:12 <dminuoso> Then we could have defined `seq !l r = r`
08:39:50 RichardW joins (0140a8cb@1-64-168-203.static.netvigator.com)
08:41:18 <bahamas> btw, judging from this file I assume there's an unwritten rule to put a fixity declaration at the top of a module? https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Base.html#.
08:41:57 <Taneb> bahamas: differnet libraries do it differently, I prefer to keep it close to the operator
08:42:11 × plutoniix quits (~q@175.176.222.7) (Quit: Leaving)
08:42:25 <Taneb> If you're defining a lot of operators with a lot of different fixities it can make things clearer how they relate if the fixity declarations are together, though
08:42:57 <dminuoso> Though, you can quickly extract the latter knowledge by just `grep infix foo.hs`
08:42:58 hackage Z-Data 0.1.6.1 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.6.1 (winterland)
08:43:22 <bahamas> ok. it makes sense
08:43:24 <dminuoso> Whereas relating a fixity declaration to its definition is not as easy, so I'd say keeping fixity declarations close to the definition is more useful
08:44:15 <merijn> bahamas: No, I mean even in the absense of "otherwise"
08:44:40 <merijn> bahamas: I'd say "put fixity near the definition", tbh
08:45:36 <dminuoso> But really at the end, code convention is flexible and should fit your needs.
08:45:47 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
08:46:11 polyrain_ joins (~polyrain@2001:8003:e501:6901:1ec:b302:c264:1713)
08:46:18 <nshepperd2> I'd always put it right next to the type signature
08:46:28 <dminuoso> nshepperd2: with a semicolon?
08:46:35 <dminuoso> Or do you mean above/below?
08:46:40 × chaosmasttter quits (~chaosmast@p200300c4a72cce019c42f7589bbe6c59.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
08:47:13 <nshepperd2> err, above
08:47:32 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 256 seconds)
08:47:46 <nshepperd2> is a semicolon legal? that would be interesting
08:48:09 <dminuoso> GHCi accepts it at least
08:48:17 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
08:48:18 yoja joins (~yoel.jaco@89.237.104.52)
08:48:44 × polyrain quits (~polyrain@2001:8003:e501:6901:1d4a:4b8a:8ea1:adc0) (Ping timeout: 244 seconds)
08:48:48 <dminuoso> % infixr 6 `f`; f = f
08:48:48 <yahb> dminuoso:
08:49:00 graf_blutwurst joins (~user@2a02:168:49bc:0:60e6:a793:624b:d03a)
08:49:00 <dminuoso> % f :: Int; infixr 6 `f`; f = f
08:49:00 <yahb> dminuoso:
08:49:13 xff0x joins (~fox@217.110.198.158)
08:49:38 <bahamas> merijn: what do you mean by "I mean even in the absense of `otherwise`"?
08:50:06 dminuoso wonders whether merijn forgot to press enter on some message
08:50:09 akegalj joins (~akegalj@93-138-187-99.adsl.net.t-com.hr)
08:50:10 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
08:54:59 × kl1xto quits (~klixto@130.220.8.149) (Quit: WeeChat 2.9)
08:55:07 <merijn> Nah, I got distracted by work
08:56:08 <merijn> bahamas: I meant that this is perfectly fine: https://paste.tomsmeding.com/bYa6W8My
08:56:21 <merijn> If the 2 guards fail, it will simply fall through to the 2nd pattern
09:00:01 × blardo quits (~blardo@195.206.169.184) ()
09:01:00 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
09:01:13 <dminuoso> Useful to know, you can define let bindings in guards. :)
09:01:26 <dminuoso> Took me a while to figure that one out
09:01:45 <merijn> dminuoso: Or, you just use pattern guards :p
09:01:57 <merijn> Pattern guards are the most underrated feature of Haskell2010
09:02:48 <kuribas> merijn: I found a solution for the json representation problem. I made a DSL for rewriting the JSON before parsing it using generics.
09:03:09 <kuribas> https://gist.github.com/kuribas/9826b1fb9f2907a5c40baff1d7bbcb83
09:03:18 <kuribas> it's typesafe
09:03:20 <merijn> Not sure I wanna click that xD
09:03:55 <dminuoso> merijn: pattern guards are more limited though
09:04:04 <merijn> dminuoso: How so?
09:04:13 <dminuoso> Can you set up recursive bindings with them?
09:04:21 <merijn> ah...probably not?
09:05:16 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
09:05:57 GyroW_ joins (~GyroW@d54c03e98.access.telenet.be)
09:05:57 × GyroW_ quits (~GyroW@d54c03e98.access.telenet.be) (Changing host)
09:05:57 GyroW_ joins (~GyroW@unaffiliated/gyrow)
09:05:58 <dminuoso> merijn: And at the same time, why would I use `Foo r <- bar` over `let Foo r = bar`?
09:06:25 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
09:06:28 <dminuoso> Non-simple bindings are already part of Haskel2010
09:06:28 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 260 seconds)
09:07:02 <dminuoso> I mean, pattern guards have their use for when you want to *filter* out based on non-match
09:07:05 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
09:07:10 <dminuoso> but they dont seem like a good alternative to let just for the sake of it
09:07:12 snakemas1 joins (~snakemast@213.100.206.23)
09:07:30 <bahamas> merijn: do you have an example of pattern guards usage?
09:08:14 <dminuoso> bahamas: https://gist.github.com/dminuoso/0da790d5ac72f0cfab1e451a306ca064
09:08:19 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-xtrudmadhpdzbuzh) (Quit: Connection closed for inactivity)
09:08:24 xff0x joins (~fox@217.110.198.158)
09:09:50 plutoniix joins (~q@175.176.222.7)
09:10:48 <kuribas> merijn: it's pretty easy
09:11:09 <kuribas> merijn: you give the destination field, and the path to the origin field.
09:11:26 <kuribas> merijn: and the destination field is typechecked against the given type.
09:11:30 chaosmasttter joins (~chaosmast@p200300c4a72cce019c42f7589bbe6c59.dip0.t-ipconnect.de)
09:11:41 <bahamas> dminuoso: thanks
09:11:56 <kuribas> merijn: and there is a Maybe variant for possible empty fields.
09:12:16 <kuribas> merijn: and the generator does the opposite operation.
09:13:02 × knupfer quits (~Thunderbi@dynamic-046-114-150-219.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
09:13:07 <kuribas> merijn: here is the implementation: https://gist.github.com/kuribas/5c617ecf025ccb37467a23556cbe963e
09:13:11 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Read error: Connection reset by peer)
09:13:37 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
09:14:19 dyeplexer joins (~lol@unaffiliated/terpin)
09:14:33 <kuribas> merijn: and you simply apply the transformation before/after parsing/toJSON
09:18:19 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
09:24:00 totte joins (~totte@chakra/totte)
09:25:15 jedws joins (~jedws@121.209.161.98)
09:25:23 <kuribas> merijn: this substantially reduces the amount of boilerplate required when writing manual instances.
09:25:36 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Ping timeout: 272 seconds)
09:25:56 <kuribas> merijn: and also solves the problem that manual instances aren't guaranteed to be consistend, when going to and from JSON.
09:28:03 × jedws quits (~jedws@121.209.161.98) (Client Quit)
09:28:09 <kuribas> I am not saying this solves every usecase, for everyone, but it works great for ours.
09:28:19 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 246 seconds)
09:29:03 jedws joins (~jedws@121.209.161.98)
09:29:57 × jedws quits (~jedws@121.209.161.98) (Client Quit)
09:30:11 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
09:30:49 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds)
09:32:43 snakemas1 joins (~snakemast@213.100.206.23)
09:39:55 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Read error: Connection reset by peer)
09:41:22 Guest18 joins (567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102)
09:41:53 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
09:43:18 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
09:44:25 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
09:45:00 snakemas1 joins (~snakemast@213.100.206.23)
09:45:14 × yoja quits (~yoel.jaco@89.237.104.52) (Ping timeout: 272 seconds)
09:47:19 esp32_prog joins (yoann@gateway/vpn/protonvpn/esp32prog/x-46565127)
09:49:00 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
09:49:41 ensyde joins (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369)
09:50:34 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
09:51:32 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
09:51:49 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
09:52:03 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
09:52:58 hackage mu-schema 0.3.1.0 - Format-independent schemas for serialization https://hackage.haskell.org/package/mu-schema-0.3.1.0 (AlejandroSerrano)
09:53:55 × ensyde quits (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369) (Ping timeout: 240 seconds)
09:54:06 Stanley|00 joins (~stanley00@unaffiliated/stanley00)
09:54:41 bitmagie joins (~Thunderbi@200116b80693b700305a6826a7578388.dip.versatel-1u1.de)
09:54:45 inkbottle joins (~inkbottle@alagny-155-1-18-83.w83-200.abo.wanadoo.fr)
09:54:53 × zebrag quits (~inkbottle@aaubervilliers-654-1-1-116.w83-200.abo.wanadoo.fr) (Ping timeout: 260 seconds)
09:55:53 slopjong joins (~slopjong@195.206.169.184)
09:56:05 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds)
09:56:27 hackage mu-rpc 0.4.0.0 - Protocol-independent declaration of services and servers. https://hackage.haskell.org/package/mu-rpc-0.4.0.0 (AlejandroSerrano)
09:58:39 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
10:00:10 zebrag joins (~inkbottle@aaubervilliers-654-1-4-38.w83-200.abo.wanadoo.fr)
10:00:36 Rudd0 joins (~Rudd0@185.189.115.108)
10:00:58 hackage mu-lens 0.3.0.0 - Lenses for @mu-schema@ terms https://hackage.haskell.org/package/mu-lens-0.3.0.0 (AlejandroSerrano)
10:01:13 oisdk joins (~oisdk@2001:bb6:3329:d100:40aa:f743:137e:9f96)
10:01:23 × inkbottle quits (~inkbottle@alagny-155-1-18-83.w83-200.abo.wanadoo.fr) (Ping timeout: 260 seconds)
10:04:08 berberman_ is now known as berberman
10:04:23 dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net)
10:05:27 hackage mu-avro 0.4.0.0 - Avro serialization support for Mu microservices https://hackage.haskell.org/package/mu-avro-0.4.0.0 (AlejandroSerrano)
10:06:18 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
10:08:58 hackage mu-protobuf 0.4.0.0 - Protocol Buffers serialization and gRPC schema import for Mu microservices https://hackage.haskell.org/package/mu-protobuf-0.4.0.0 (AlejandroSerrano)
10:09:18 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 272 seconds)
10:12:28 hackage mu-graphql 0.4.0.0 - GraphQL support for Mu https://hackage.haskell.org/package/mu-graphql-0.4.0.0 (AlejandroSerrano)
10:12:45 × rprije quits (~rprije@203.214.95.251) (Ping timeout: 240 seconds)
10:16:27 hackage uniqueness-periods-vector-examples 0.12.2.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.12.2.0 (OleksandrZhabenko)
10:17:30 Sanchayan joins (~Sanchayan@106.201.37.251)
10:17:36 × chaosmasttter quits (~chaosmast@p200300c4a72cce019c42f7589bbe6c59.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
10:18:27 hackage mu-servant-server 0.4.0.0 - Servant servers for Mu definitions https://hackage.haskell.org/package/mu-servant-server-0.4.0.0 (AlejandroSerrano)
10:21:39 × bitmagie quits (~Thunderbi@200116b80693b700305a6826a7578388.dip.versatel-1u1.de) (Quit: bitmagie)
10:22:58 hackage mu-prometheus 0.4.0.0 - Metrics support for Mu using Prometheus https://hackage.haskell.org/package/mu-prometheus-0.4.0.0 (AlejandroSerrano)
10:23:57 hackage mu-tracing 0.4.0.0 - Tracing support for Mu https://hackage.haskell.org/package/mu-tracing-0.4.0.0 (AlejandroSerrano)
10:30:04 chaosmasttter joins (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de)
10:31:34 × alp quits (~alp@2a01:e0a:58b:4920:8ce:75eb:bbc3:eb73) (Remote host closed the connection)
10:31:43 alp joins (~alp@2a01:e0a:58b:4920:8ce:75eb:bbc3:eb73)
10:36:16 snakemas1 joins (~snakemast@213.100.206.23)
10:41:45 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
10:41:45 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
10:41:45 GyroW joins (~GyroW@unaffiliated/gyrow)
10:41:53 × toorevitimirp quits (~tooreviti@117.182.180.245) (Quit: Konversation terminated!)
10:42:27 × GyroW_ quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
10:43:40 × da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:43:41 toorevitimirp joins (~tooreviti@117.182.180.245)
10:47:57 hackage data-reify 0.6.3 - Reify a recursive data structure into an explicit graph. https://hackage.haskell.org/package/data-reify-0.6.3 (ryanglscott)
10:54:36 × plutoniix quits (~q@175.176.222.7) (Quit: Leaving)
10:55:17 × Gerula quits (~Gerula@unaffiliated/gerula) (Quit: Leaving)
10:58:26 yoja joins (~yoel.jaco@89.237.104.52)
11:01:23 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
11:04:28 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Quit: WeeChat 2.9)
11:04:37 juuandyy joins (~juuandyy@90.166.144.65)
11:06:02 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:09:15 × Stanley|00 quits (~stanley00@unaffiliated/stanley00) ()
11:13:43 × hiroaki quits (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
11:15:19 p8m_ joins (p8m@gateway/vpn/protonvpn/p8m)
11:16:26 × juuandyy quits (~juuandyy@90.166.144.65) (Quit: Konversation terminated!)
11:16:41 juuandyy joins (~juuandyy@90.166.144.65)
11:17:14 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 258 seconds)
11:17:25 __ngua joins (~rory@2402:800:6379:81de:c01f:8864:9ffb:a477)
11:20:02 × polyrain_ quits (~polyrain@2001:8003:e501:6901:1ec:b302:c264:1713) (Quit: Textual IRC Client: www.textualapp.com)
11:21:23 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
11:26:57 hiroaki joins (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de)
11:30:14 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 256 seconds)
11:30:34 × lemmih quits (~lemmih@2406:3003:2072:44:7cf8:46a0:1918:e607) (Remote host closed the connection)
11:31:08 lemmih joins (~lemmih@2406:3003:2072:44:dd05:443a:4cbd:495a)
11:32:03 xff0x joins (~fox@217.110.198.158)
11:32:47 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
11:33:05 Amras joins (~Amras@unaffiliated/amras0000)
11:33:06 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
11:33:06 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
11:33:06 GyroW joins (~GyroW@unaffiliated/gyrow)
11:36:14 Buntspecht joins (~user@unaffiliated/siracusa)
11:40:55 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 240 seconds)
11:41:00 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 256 seconds)
11:42:20 × __skn quits (~sunil@sec.nimmagadda.net) (Quit: ZNC 1.8.2 - https://znc.in)
11:43:00 Cthalupa joins (~cthulhu@47.186.47.75)
11:43:01 __skn joins (~sunil@sec.nimmagadda.net)
11:45:12 × hiroaki quits (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Remote host closed the connection)
11:46:21 hiroaki joins (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de)
11:47:44 jedws joins (~jedws@121.209.161.98)
11:47:49 × jedws quits (~jedws@121.209.161.98) (Client Quit)
11:48:43 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
11:52:25 × alx741 quits (~alx741@181.196.68.41) (Ping timeout: 264 seconds)
11:53:18 × juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 260 seconds)
11:54:49 mdunnio joins (~mdunnio@208.59.170.5)
11:56:25 × chaosmasttter quits (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
11:57:58 chaosmasttter joins (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de)
11:59:04 × cpressey quits (~cpressey@88.144.68.224) (Quit: WeeChat 1.9.1)
11:59:27 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 260 seconds)
12:00:02 × slopjong quits (~slopjong@195.206.169.184) ()
12:00:06 snakemas1 joins (~snakemast@213.100.206.23)
12:01:14 da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com)
12:02:02 × lep-delete quits (~lep@94.31.82.44) (Ping timeout: 272 seconds)
12:02:54 ski joins (~ski@ft-4011-12.studat.chalmers.se)
12:03:42 fendor joins (~fendor@e237-037.eduroam.tuwien.ac.at)
12:04:23 × z0k quits (~user@101.50.127.2) (Ping timeout: 256 seconds)
12:05:40 alx741 joins (~alx741@181.196.69.128)
12:06:45 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
12:08:55 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 256 seconds)
12:10:32 xff0x joins (~fox@217.110.198.158)
12:11:09 bahamas joins (~lucian@unaffiliated/bahamas)
12:11:18 <xsperry> vr
12:11:24 Gerula joins (~Gerula@unaffiliated/gerula)
12:11:30 <xsperry> r
12:12:28 ClaudiusMaximus joins (~claude@198.123.199.146.dyn.plus.net)
12:12:54 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 265 seconds)
12:12:56 lep-delete joins (~lep@94.31.82.44)
12:12:56 × ClaudiusMaximus quits (~claude@198.123.199.146.dyn.plus.net) (Changing host)
12:12:56 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
12:12:56 × akegalj quits (~akegalj@93-138-187-99.adsl.net.t-com.hr) (Quit: leaving)
12:16:12 machinedgod joins (~machinedg@24.105.81.50)
12:16:25 × ericsagnes quits (~ericsagne@2405:6580:0:5100:8f5:b7cb:eb3d:6e86) (Ping timeout: 240 seconds)
12:16:47 snakemas1 joins (~snakemast@213.100.206.23)
12:23:23 mdunnio joins (~mdunnio@208.59.170.5)
12:23:58 ekleog_ is now known as ekleog
12:24:27 hackage Z-IO 0.1.5.0 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.5.0 (winterland)
12:25:28 × zariuq quits (~zar@fw1.ciirc.cvut.cz) (Ping timeout: 258 seconds)
12:27:55 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 260 seconds)
12:28:36 aaaaaa parts (~ArthurStr@host-91-90-11-13.soborka.net) ()
12:28:45 × toorevitimirp quits (~tooreviti@117.182.180.245) (Ping timeout: 256 seconds)
12:29:07 ericsagnes joins (~ericsagne@2405:6580:0:5100:f45a:395d:f712:98d3)
12:32:25 × Gerula quits (~Gerula@unaffiliated/gerula) (Quit: Leaving)
12:32:33 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
12:33:25 × chaosmasttter quits (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
12:36:43 ffan1122 joins (ad361138@pool-173-54-17-56.nwrknj.fios.verizon.net)
12:38:05 × John20 quits (~John@82.46.59.122) (Ping timeout: 240 seconds)
12:38:29 geekosaur joins (ac3a8f30@172.58.143.48)
12:40:27 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 265 seconds)
12:41:42 × _ashbreeze_ quits (~mark@72-161-254-60.dyn.centurytel.net) (Remote host closed the connection)
12:42:07 xff0x joins (~fox@217.110.198.158)
12:43:04 _ashbreeze_ joins (~mark@72-161-254-60.dyn.centurytel.net)
12:44:31 gxt joins (~gxt@gateway/tor-sasl/gxt)
12:45:27 lep-delete is now known as Guest40023
12:45:31 × __ngua quits (~rory@2402:800:6379:81de:c01f:8864:9ffb:a477) (Remote host closed the connection)
12:46:03 motherfsck joins (~motherfsc@unaffiliated/motherfsck)
12:47:27 hackage barbies-th 0.1.5 - Create strippable HKD via TH https://hackage.haskell.org/package/barbies-th-0.1.5 (FumiakiKinoshita)
12:47:39 chaosmasttter joins (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de)
12:48:12 <gentauro> leaving `intero` and reaching `HIE` which seems to be another `historical artifact`. So the way to go forward is `haskell-language-server`? https://github.com/haskell/haskell-language-server
12:49:04 × coot quits (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
12:49:38 <geekosaur> pretty much, yes. rather than N different approaches everyone has converged on haskell-language-server
12:50:06 <dminuoso> Well. Some, others stick with the simpler solution of `ghcid`
12:50:18 coot joins (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl)
12:50:30 <gentauro> geekosaur: I will give it a try https://github.com/haskell/haskell-language-server#using-haskell-language-server-with-emacs :)
12:50:41 <dminuoso> You get some good portion of the functionality, but in a future proof and minimalistic way.
12:50:57 <siraben> Does anyone know if there's a way to avoid having to pass JSNoAnnot to Language.JavaScript.Parser.AST's constructors?
12:50:57 <siraben> https://github.com/siraben/lisp-to-js/blob/master/src/Translation.hs#L17-L28
12:50:59 <dminuoso> (Dunno if you will ever convince me to move from ghcid to haskell-language-server)
12:51:09 <siraben> There's a generic instance but not sure if it can help me make unannotated trees
12:51:23 <Zetagon> ghcid is pretty nice :)
12:51:42 <siraben> (also, is Language.JavaScript the best way to work with JS ASTs in Haskell?)
12:51:55 <fendor> geekosaur, also, there is a nice emacs plugin: https://gitlab.com/tseenshe/haskell-tng.el
12:51:57 × bliminse quits (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) (Remote host closed the connection)
12:52:12 bliminse joins (~bliminse@host217-42-95-37.range217-42.btcentralplus.com)
12:52:45 <gentauro> dminuoso: I was pretty happy with `intero` but the GH-banner "No Maintenance Intended" helps me "moving on" (sadly)
12:55:57 hackage vulkan 3.6.10 - Bindings to the Vulkan graphics API. https://hackage.haskell.org/package/vulkan-3.6.10 (jophish)
12:59:34 urodna joins (~urodna@unaffiliated/urodna)
13:01:05 __skn- joins (~sunil@sec.nimmagadda.net)
13:01:17 cpressey joins (~cpressey@88.144.68.224)
13:02:32 John20 joins (~John@82.46.59.122)
13:02:36 × __skn quits (~sunil@sec.nimmagadda.net) (Ping timeout: 256 seconds)
13:03:49 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 264 seconds)
13:05:05 <merijn> gentauro: Basically all the tool contributors have (thankfully) converged on one platform to collaborate and work together (hls), which is good
13:05:24 xff0x joins (~fox@217.110.198.158)
13:05:42 <gentauro> merijn: yeah, and I can see it's under the `https://github.com/haskell/` group on GH which is nice
13:06:06 <gentauro> hopefully it's not a painfull transition and hopefully I can get up and running fast :)
13:06:35 <merijn> gentauro: I'm still on ghcide (hls builds on top of that) and it's working pretty well
13:07:05 <gentauro> merijn: roger that. Good to hear that there are alternatives to fall back to ;)
13:07:15 <geekosaur> part of the reason they converged on hls is that there's a common language server platform that's cross-language they can integrate with
13:07:17 <gentauro> but I will give `hls` a try and see how it goes
13:09:20 <fendor> if hls does not work for you, chances are, neither will ghcide
13:11:46 sand_dull joins (~theuser@104.140.53.43)
13:12:20 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
13:13:58 drbean joins (~drbean@TC210-63-209-96.static.apol.com.tw)
13:16:31 <gentauro> fendor: `Error when running Shake build system` ;)
13:16:34 <gentauro> good to know
13:16:59 <fendor> lol. I have never seen that one. When does that happen?
13:17:29 <gentauro> `stack ./install.hs hls-8.6.5`
13:17:35 <gentauro> and `stack ./install.hs hls`
13:18:00 <gentauro> fendor: I will do a bit of `debugging` to see if it works (or not) then I will update with a status ;)
13:18:57 <fendor> I am trying as well. Personally, I only use cabal for installation, but that worked well and should be the same as stack...
13:19:24 <Taneb> Well, I finally got around to trying haskell-language-server
13:19:36 <Taneb> Been a while since I tried to use an IDE in, like, any language
13:19:46 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:994a:80db:3f3a:ee42)
13:20:44 × ski quits (~ski@ft-4011-12.studat.chalmers.se) (Remote host closed the connection)
13:21:01 ski joins (~ski@nc-2504-30.studat.chalmers.se)
13:21:41 <fendor> oh well, nixos and stack do not really work together...
13:22:10 × maroloccio quits (~marolocci@212.129.83.39) (Quit: WeeChat 2.3)
13:22:16 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
13:22:25 × alp quits (~alp@2a01:e0a:58b:4920:8ce:75eb:bbc3:eb73) (Ping timeout: 240 seconds)
13:24:07 linuxnoob joins (~linuxnoob@s91904424.blix.com)
13:24:12 <linuxnoob> haskell is terrible.
13:26:23 <Uniaika> aren't we all
13:26:33 <linuxnoob> haskell is shit.
13:26:50 kees1 joins (~kees@84.39.117.57)
13:27:45 × sand_dull quits (~theuser@104.140.53.43) (Ping timeout: 240 seconds)
13:28:03 <ski> all languages have bad parts
13:28:26 <ski> do you have some specific thing in mind you wanted to discuss ?
13:29:06 <merijn> Man...why engage such blatantly trolling
13:29:15 <merijn> s/trolling/obvious trolling
13:30:54 <dminuoso> ski: My language has no bad parts, I designed it particularly that way.
13:31:10 <linuxnoob> thats what she said.
13:31:54 <dminuoso> I mean consider a language specification that starts off with "This language has no bad parts", then by definition it can't be bad.
13:32:10 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 258 seconds)
13:32:10 <linuxnoob> its shit lang thats all
13:32:24 <linuxnoob> and its also MANGLED
13:34:05 ddellacosta joins (~dd@86.106.121.168)
13:34:10 <ski> seems like you don't have any specific criticism, then .. ?
13:34:25 <linuxnoob> i get mangled output
13:35:10 <merijn> I'm putting $10 on "trying to use Haskell on Arch and blaming Haskell for Arch's brokenness"
13:35:13 <merijn> Any takers?
13:35:27 <ski> linuxnoob : what, specifically, did you try ?
13:35:31 <maerwald> raise to 100$
13:35:40 linuxnoob parts (~linuxnoob@s91904424.blix.com) ("Leaving")
13:35:58 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:994a:80db:3f3a:ee42) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:37:24 sand_dull joins (~theuser@104.140.53.43)
13:37:59 Gerula joins (~Gerula@unaffiliated/gerula)
13:38:53 <cohn> merijn: happily using Haskell on Arch. Using `ghcup` of course... :D
13:39:00 <merijn> cohn: Of course
13:39:10 <merijn> But can't blame beginners for trusting the distro package manager
13:39:12 <maerwald> as you should!
13:40:27 <cohn> in my experience, many programming languages are much more pleasant when you don't use the distro's package manager to manage the language's packages, libraries, etc...
13:40:30 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
13:40:44 <maerwald> only exception is C/C++
13:41:00 <cohn> for example, I switched to using the "pipenv" utility for Python and have never looked back.
13:41:05 <merijn> That's because those don't have one :p
13:41:05 × geekosaur quits (ac3a8f30@172.58.143.48) (Remote host closed the connection)
13:41:28 <merijn> cohn: I'd give a kidney to get v2-build for python over all it's pip and virtualenv BS :(
13:41:30 <dminuoso> I have a file format that Im parsing with megaparsec. The file itself has `include` stanzas, are there combinators to fork off new parsers while running from inside one?
13:41:46 <maerwald> merijn: you can go full nix!
13:42:02 <merijn> dminuoso: That's just "liftIO + join"? :p
13:42:23 <dminuoso> merijn: No its not, it's more like runParserT and connecting error output correctly
13:42:25 × oisdk quits (~oisdk@2001:bb6:3329:d100:40aa:f743:137e:9f96) (Ping timeout: 240 seconds)
13:42:35 <merijn> dminuoso: I'd just two stage it
13:42:43 <merijn> Handle all includes first, then parse the result
13:43:17 <dminuoso> Mmmm, that complicates the context information on diagnostics. :(
13:43:19 <cohn> merijn: yea, true. But even with C++, I find that using Eigin (http://eigen.tuxfamily.org/) is nicer than (and more current) than what apt/yum/pacman gives
13:43:48 <merijn> dminuoso: why?
13:43:57 × ffan1122 quits (ad361138@pool-173-54-17-56.nwrknj.fios.verizon.net) (Remote host closed the connection)
13:44:28 oisdk joins (~oisdk@2001:bb6:3329:d100:40aa:f743:137e:9f96)
13:45:26 <dminuoso> merijn: line numbers will be all wrong
13:45:47 <cohn> merijn: yes, it'd be *really* nice to have a real build system for Python. There are a few templates out there at least.
13:45:52 mdunnio joins (~mdunnio@208.59.170.5)
13:46:56 × reallymemorable quits (~quassel@ip68-9-215-56.ri.ri.cox.net) (Remote host closed the connection)
13:47:10 × sand_dull quits (~theuser@104.140.53.43) (Ping timeout: 272 seconds)
13:48:07 × drbean quits (~drbean@TC210-63-209-96.static.apol.com.tw) (Ping timeout: 265 seconds)
13:48:19 <merijn> dminuoso: Easily fixed by inserting some metadata
13:48:35 <merijn> "easily" ;)
13:48:38 <dminuoso> Forking off new parsers seems more easy than that
13:48:42 <cohn> also, and hopefully I don't get too many sharp, pointy objects thrown at me for saying this, but VS Code has some nice dev container templates for various languages. Sadly, no Stack or Cabal stuff. :(
13:49:10 <dminuoso> But to be fair, for my usecase, I can actually go with a 2-pass solution
13:49:23 <dminuoso> This is just a haskell code generator
13:49:25 × mupf quits (~micha@v22017094964653601.ultrasrv.de) (Quit: WeeChat 2.9)
13:49:40 <dminuoso> Im the sole user of that code generator...
13:50:03 ensyde joins (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369)
13:50:26 raehik joins (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
13:51:13 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 264 seconds)
13:51:44 mupf joins (~micha@v22017094964653601.ultrasrv.de)
13:52:03 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
13:53:09 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
13:54:25 × ensyde quits (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369) (Ping timeout: 240 seconds)
13:55:38 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-oyommivrsqekgfrf) (Quit: Connection closed for inactivity)
13:59:31 lemmih_ joins (~lemmih@218.186.157.57)
14:00:55 × lemmih quits (~lemmih@2406:3003:2072:44:dd05:443a:4cbd:495a) (Remote host closed the connection)
14:01:06 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 272 seconds)
14:01:24 mupf_ joins (~micha@v22017094964653601.ultrasrv.de)
14:01:26 × mupf quits (~micha@v22017094964653601.ultrasrv.de) (Read error: Connection reset by peer)
14:02:04 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
14:02:57 <kuribas> gentauro: I am trying HLS with HIE, but I keep comming back to emacs
14:04:48 × mdunnio quits (~mdunnio@208.59.170.5) (Remote host closed the connection)
14:05:00 mdunnio joins (~mdunnio@208.59.170.5)
14:06:47 snakemas1 joins (~snakemast@213.100.206.23)
14:09:02 <merijn> phadej: Are there any project with a haskell-ci config file I can use as example?
14:10:41 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:12:44 × sw1nn quits (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Quit: WeeChat 2.9)
14:12:47 × mupf_ quits (~micha@v22017094964653601.ultrasrv.de) (Quit: WeeChat 2.9)
14:12:53 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:f48a:ba54:a7d9:1ba5)
14:13:37 mupf joins (~micha@v22017094964653601.ultrasrv.de)
14:14:46 sw1nn joins (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com)
14:15:05 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
14:15:08 × yoja quits (~yoel.jaco@89.237.104.52) (Ping timeout: 256 seconds)
14:16:43 × pingiun quits (~pingiun@j63019.upc-j.chello.nl) (Quit: Textual IRC Client: www.textualapp.com)
14:17:28 hackage xmonad-dbus 0.1.0.0 - https://hackage.haskell.org/package/xmonad-dbus-0.1.0.0 (troydm)
14:17:51 Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
14:23:57 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
14:28:10 jathan joins (~jathan@69.61.93.38)
14:29:21 xerox_ joins (~xerox@unaffiliated/xerox)
14:29:58 xff0x joins (~fox@217.110.198.158)
14:30:33 petersen joins (~petersen@redhat/juhp)
14:32:03 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
14:32:06 × fendor quits (~fendor@e237-037.eduroam.tuwien.ac.at) (Ping timeout: 265 seconds)
14:32:49 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
14:34:24 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
14:36:06 × jathan quits (~jathan@69.61.93.38) (Quit: WeeChat 2.3)
14:36:37 × RichardW quits (0140a8cb@1-64-168-203.static.netvigator.com) (Remote host closed the connection)
14:36:43 bahamas joins (~lucian@unaffiliated/bahamas)
14:37:31 nitrix is now known as nitrix-or-treat
14:37:39 jathan joins (~jathan@69.61.93.38)
14:39:04 × jathan quits (~jathan@69.61.93.38) (Client Quit)
14:39:38 perdent joins (~blah@101.175.82.233)
14:40:12 jathan joins (~jathan@69.61.93.38)
14:40:12 × jathan quits (~jathan@69.61.93.38) (Client Quit)
14:40:23 jathan joins (~jathan@69.61.93.38)
14:40:56 × jathan quits (~jathan@69.61.93.38) (Client Quit)
14:41:01 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 264 seconds)
14:41:07 jathan joins (~jathan@69.61.93.38)
14:41:07 × jathan quits (~jathan@69.61.93.38) (Client Quit)
14:41:38 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 272 seconds)
14:42:25 × dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 240 seconds)
14:42:30 xff0x joins (~fox@217.110.198.158)
14:43:41 × mdunnio quits (~mdunnio@208.59.170.5) (Read error: Connection reset by peer)
14:44:14 <dminuoso> (a ~ Tokens s, IsString a, Eq a, Stream s, Ord e) => IsString (ParsecT e s m a)
14:44:18 mdunnio joins (~mdunnio@208.59.170.5)
14:44:20 <dminuoso> Wow, that one tripped me up.
14:44:57 <dminuoso> At times, I wish I could limit the reach of OverloadedStrings.
14:45:48 bahamas joins (~lucian@unaffiliated/bahamas)
14:46:07 <merijn> Word
14:46:54 <merijn> phadej: Relatedly: Is there any reason why the --osx flag doesn't have a wildcard that adds a job for each GHC?
14:51:53 × raichoo quits (~raichoo@213.240.178.58) (Quit: Lost terminal)
14:54:20 knupfer joins (~Thunderbi@200116b82c8e3e00449feef014960466.dip.versatel-1u1.de)
14:55:42 xerox_ joins (~xerox@unaffiliated/xerox)
14:57:12 djellemah joins (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
14:57:22 cosimone_ joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
14:57:27 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Read error: Connection reset by peer)
14:58:10 cosimone_ is now known as cosimone
14:59:51 alp joins (~alp@2a01:e0a:58b:4920:61fb:21a9:d42a:3901)
14:59:57 × ralejs quits (~ralejs@2620:10d:c093:400::5:a494) (Ping timeout: 260 seconds)
15:00:02 × kees1 quits (~kees@84.39.117.57) ()
15:00:13 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 244 seconds)
15:01:18 ralejs joins (~ralejs@163.114.131.1)
15:01:19 × hekkaidekapus{ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
15:01:20 × sword865 quits (uid208942@gateway/web/irccloud.com/x-dthyagnvtpyokqxb) (Quit: Connection closed for inactivity)
15:01:48 hekkaidekapus{ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
15:02:47 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
15:05:52 × hekkaidekapus{ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
15:06:13 hekkaidekapus{ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
15:06:50 × ambiso quits (~ambiso@209.182.239.205) (Quit: Ping timeout (120 seconds))
15:07:10 ambiso joins (~ambiso@209.182.239.205)
15:07:27 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
15:07:37 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 258 seconds)
15:08:45 × chaosmasttter quits (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
15:15:55 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 260 seconds)
15:16:11 Saukk joins (~Saukk@2001:998:f1:3963:1c59:9bb5:b94c:2)
15:16:12 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:f48a:ba54:a7d9:1ba5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:16:31 <merijn> heh
15:16:41 <merijn> Why is GHC head in hvr's PPA 8.7?
15:17:55 × Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
15:20:07 Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
15:20:27 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
15:20:52 <merijn> (incidentally, what happened to him, I haven't seen him in ages...)
15:20:53 sfvm joins (~sfvm@37.228.215.148)
15:21:04 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:f48a:ba54:a7d9:1ba5)
15:21:26 jhf joins (~jhf@185.244.214.216)
15:23:03 xff0x joins (~fox@217.110.198.158)
15:23:35 bitmapper joins (uid464869@gateway/web/irccloud.com/x-nkhvkoypuffdqqdu)
15:23:40 niko is now known as nikotine
15:26:49 × graf_blutwurst quits (~user@2a02:168:49bc:0:60e6:a793:624b:d03a) (Remote host closed the connection)
15:28:43 pgib joins (~textual@lmms/pgib)
15:29:01 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
15:29:15 × da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:29:46 aarvar joins (~foewfoiew@50.35.43.33)
15:31:28 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:f48a:ba54:a7d9:1ba5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:32:37 × knupfer quits (~Thunderbi@200116b82c8e3e00449feef014960466.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
15:33:28 da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com)
15:33:28 × da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Client Quit)
15:34:06 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
15:34:32 knupfer joins (~Thunderbi@mue-88-130-61-039.dsl.tropolys.de)
15:35:04 snakemas1 joins (~snakemast@213.100.206.23)
15:37:37 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:f48a:ba54:a7d9:1ba5)
15:39:03 × aqd quits (~aqd@87-92-145-87.rev.dnainternet.fi) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:39:23 LKoen joins (~LKoen@81.255.219.130)
15:39:43 × LKoen quits (~LKoen@81.255.219.130) (Read error: Connection reset by peer)
15:39:49 <maerwald> sometimes rants on the mailing list, so probably just busy :p
15:39:58 LKoen joins (~LKoen@81.255.219.130)
15:40:05 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
15:41:25 × Ariakenom quits (~Ariakenom@193.254.193.1) (Ping timeout: 256 seconds)
15:41:38 <merijn> Ugh...Christ
15:41:46 <merijn> Travis is so brittle and broken nowadays
15:41:58 <maerwald> everyone is on github actions now
15:42:12 <merijn> maerwald: haskell-ci doesn't have a backend yet and I haven't had the time to make one :p
15:42:39 <phadej> merijn: 1) `haskell-ci dump-config`, 2) not really, and comments like maerwalds ^ really dismotivate to do anything to haskell-ci
15:42:39 × jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
15:42:54 <phadej> just use github actions
15:43:23 × oisdk quits (~oisdk@2001:bb6:3329:d100:40aa:f743:137e:9f96) (Quit: oisdk)
15:43:25 <merijn> phadej: I know about dump-config, but I'm not sure what the syntax of, e.g., the osx field looks like
15:43:38 <phadej> try, the parser will yell atyou
15:43:57 <phadej> aka. I don't really remember myself
15:44:02 <phadej> probably whitespace separated tokens
15:44:09 <merijn> phadej: Any objections to a PR that does "--osx *" or "--osx all" to just generate an OSX job for all the versions?
15:44:49 <phadej> https://github.com/haskell-CI/haskell-ci/blob/d5d3da6823acbb207f35e06ab59f71c8822ee72c/cabal.haskell-ci#L76
15:44:57 hackage clckwrks-plugin-page 0.4.3.23 - support for CMS/Blogging in clckwrks https://hackage.haskell.org/package/clckwrks-plugin-page-0.4.3.23 (JeremyShaw)
15:45:19 <phadej> merijn: if you also change it to use ghcup rather then haskell.futurice.com script
15:45:26 <phadej> as ghcup has wider version support
15:45:42 <phadej> ... at least for now, until maerwald's gets bored with it too :P
15:45:57 <maerwald> ;/
15:46:14 <merijn> phadej: Incidentally, the ghc-head entry fetches ghc-head from hvr's PPA but that seems to still be 8.7?
15:46:17 <maerwald> you can be sure I at least support alpine, so I don't have to use nix for static linking
15:46:27 <phadej> merijn: Herbert didn't bother to rebuild it
15:46:37 <merijn> That's what I guessed
15:46:48 <phadej> I guess he found it busy work to keep track of GHC's build system changes
15:46:48 × Guest40023 quits (~lep@94.31.82.44) (Read error: Connection reset by peer)
15:46:48 × berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
15:46:49 <merijn> Does ghcup support ghc-head? Probably not?
15:46:57 <maerwald> you can install it yes
15:47:01 <merijn> \o/
15:47:12 berberman joins (~berberman@unaffiliated/berberman)
15:47:19 <merijn> So maybe just rip out the PPA from haskell-ci entirely and just use ghcup always?
15:47:33 <maerwald> ghcup install ghc -u 'https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27' head
15:47:50 <maerwald> but there's a bug in ghc-pkg detection that requires you to *set* it as your active version
15:48:08 <merijn> maerwald: In general or in this specific head?
15:48:29 <maerwald> if you *know* the exact version, then you can use that instead of `head`
15:48:31 <phadej> merijn: haskell-ci is originally Herbert's project. Feel free to fork it.
15:48:41 <phadej> I don't think not using hvr-ppa is an option in haskell-ci
15:48:49 <maerwald> merijn: https://gitlab.haskell.org/haskell/ghcup-hs#custom-ghc-version-names
15:48:52 <merijn> hmm
15:49:08 <tomjaguarpaw> merijn: I'm not completely following the thread by I use Neil Mitchell's "neil" package for Travis CI. It works well for the basic use cases that I have.
15:49:11 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
15:49:31 <merijn> tomjaguarpaw: Haskell-CI works fine, it's travis that's not working well :p
15:49:44 berberman joins (~berberman@unaffiliated/berberman)
15:50:13 <phadej> `neil` is tuned for Neils liking, haskell-ci maintainer occasionally listens for others ;)
15:50:21 <merijn> phadej: I want to avoid forking/writing something from scratch as much as possible as I don't want to have to reinvent all your and hvr's work :p
15:50:41 <phadej> merijn: then find out how to help herbert with his ppa
15:50:56 <phadej> merijn: as far as I understood, packaging GHC is "not fun"
15:51:08 <merijn> yeah
15:51:40 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
15:51:49 <merijn> Unfortunately that's the sorta thing it's hard to make time to improve until someone starts paying me to write Haskell...
15:51:56 <phadej> in particular, hadrian is very very much not fun
15:52:13 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
15:52:22 <merijn> I'd love to spend more time on GHC/cabal-install/etc. :\
15:52:24 <phadej> it works for development like a charm, but in restricted build environments...
15:53:04 <phadej> no-one pays me (nor herbert afaik) to work on e.g. haskell-ci
15:53:15 berberman joins (~berberman@unaffiliated/berberman)
15:53:18 <phadej> so, nothing new.
15:53:57 <merijn> I know, but I meant that I can sneak in some Haskell and minor PRs during work/free time, but getting familiar enough to do more comprehensive things is something I don't have time for atm
15:54:04 <tomjaguarpaw> It's interesting you say hadrian isn't fun. I thought it was supposed to be the new, "fun" way.
15:54:14 <phadej> tomjaguarpaw: it's fun for development
15:54:21 <merijn> tomjaguarpaw: "development" and "packaging" are very different beasts :)
15:55:04 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
15:55:06 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 272 seconds)
15:55:33 <tomjaguarpaw> Interesting. Is the makefile version better for packaging?
15:55:41 berberman joins (~berberman@unaffiliated/berberman)
15:56:03 <phadej> it's not better, but its dependencies are easier to manage
15:56:17 <phadej> e.g. hadrian have to be built itself, so you need to package that too
15:56:29 <phadej> and hadrians dependencies don't come in ghc source distribution
15:57:08 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:f48a:ba54:a7d9:1ba5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:57:29 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
15:57:55 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
15:58:36 <phadej> in fact, source distribution for 8.10.2 doesn't seem to contain hadrian at all
15:59:11 × cpressey quits (~cpressey@88.144.68.224) (Quit: WeeChat 1.9.1)
15:59:14 <phadej> I guess that [hadrian for packaging] is work which is not even started
15:59:21 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025)
15:59:36 × knupfer quits (~Thunderbi@mue-88-130-61-039.dsl.tropolys.de) (Quit: knupfer)
15:59:36 knupfer1 joins (~Thunderbi@200116b82c8e3e0025e565b517e6d2da.dip.versatel-1u1.de)
15:59:59 berberman joins (~berberman@unaffiliated/berberman)
16:00:28 Rudd0 joins (~Rudd0@185.189.115.103)
16:01:01 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
16:02:00 knupfer1 is now known as knupfer
16:02:06 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:02:28 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
16:02:37 berberman joins (~berberman@unaffiliated/berberman)
16:03:27 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
16:03:37 GyroW joins (~GyroW@d54C03E98.access.telenet.be)
16:03:37 × GyroW quits (~GyroW@d54C03E98.access.telenet.be) (Changing host)
16:03:37 GyroW joins (~GyroW@unaffiliated/gyrow)
16:04:27 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:04:56 × ransom quits (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:05:10 berberman joins (~berberman@unaffiliated/berberman)
16:05:27 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
16:05:34 × Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 246 seconds)
16:05:59 geekosaur joins (ac3a5727@172.58.87.39)
16:06:27 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:06:49 × xff0x quits (~fox@217.110.198.158) (Ping timeout: 264 seconds)
16:06:56 ransom joins (~c4264035@c-73-243-2-10.hsd1.co.comcast.net)
16:07:28 hackage clckwrks-plugin-media 0.6.17 - media plugin for clckwrks https://hackage.haskell.org/package/clckwrks-plugin-media-0.6.17 (JeremyShaw)
16:07:29 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:07:55 berberman joins (~berberman@unaffiliated/berberman)
16:09:25 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:09:55 berberman joins (~berberman@unaffiliated/berberman)
16:10:10 × jchia quits (~jchia@58.32.32.136) (Ping timeout: 256 seconds)
16:10:27 lep-delete joins (~lep@94.31.82.44)
16:11:21 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:11:34 snakemas1 joins (~snakemast@213.100.206.23)
16:11:50 berberman joins (~berberman@unaffiliated/berberman)
16:12:33 emmanuel` joins (~user@2604:2000:1382:ce03:4cd9:b90b:27ea:9c15)
16:13:18 xerox_ joins (~xerox@unaffiliated/xerox)
16:13:33 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:14:36 berberman joins (~berberman@unaffiliated/berberman)
16:14:49 <siraben> Is there a way to do pattern matching on raw bytestrings?
16:14:50 <siraben> ViewPatterns?
16:14:55 × ransom quits (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: Textual IRC Client: www.textualapp.com)
16:15:44 conal joins (~conal@64.71.133.70)
16:15:51 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:16:11 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:16:35 fendor joins (~fendor@178.115.131.211.wireless.dyn.drei.com)
16:16:38 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 272 seconds)
16:16:51 <merijn> siraben: What's wrong with guards?
16:16:52 berberman joins (~berberman@unaffiliated/berberman)
16:17:23 lep-delete is now known as Guest40023
16:17:40 Guest40023 is now known as lep-delete
16:17:42 lep-delete is now known as test
16:18:12 test is now known as Guest88073
16:18:24 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:18:54 berberman joins (~berberman@unaffiliated/berberman)
16:19:14 × whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
16:19:43 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
16:19:47 <phadej> foo "bar" = ... works for bytestrings with OverloadedStrings
16:20:02 <phadej> but if you want to extract individual bytes then it's indeed trickier
16:20:21 whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
16:20:55 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
16:21:10 dwt joins (~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
16:21:13 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
16:21:15 × whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer)
16:21:28 berberman joins (~berberman@unaffiliated/berberman)
16:22:22 whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
16:26:45 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
16:28:48 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:29:02 × Sanchayan quits (~Sanchayan@106.201.37.251) (Quit: leaving)
16:29:29 Aquazi joins (uid312403@gateway/web/irccloud.com/x-upzgdjixzxbjunfz)
16:31:25 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025)
16:31:27 hackage capnp 0.6.0.3 - Cap'n Proto for Haskell https://hackage.haskell.org/package/capnp-0.6.0.3 (isd)
16:32:42 × emmanuel` quits (~user@2604:2000:1382:ce03:4cd9:b90b:27ea:9c15) (Ping timeout: 244 seconds)
16:33:33 kritzefitz joins (~kritzefit@212.86.56.80)
16:33:38 sand_dull joins (~theuser@104.140.53.43)
16:38:30 × topos quits (uid467876@gateway/web/irccloud.com/x-twpqbqvekrcsozee) (Quit: Connection closed for inactivity)
16:39:36 × Chi1thangoo quits (~Chi1thang@87.112.60.168) (Remote host closed the connection)
16:39:37 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:39:58 Chi1thangoo joins (~Chi1thang@87.112.60.168)
16:40:53 st8less joins (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c)
16:41:47 howdoi joins (uid224@gateway/web/irccloud.com/x-yqmynplgqpklanea)
16:42:36 snakemas1 joins (~snakemast@213.100.206.23)
16:42:45 × pgib quits (~textual@lmms/pgib) (Ping timeout: 240 seconds)
16:45:10 × chele quits (~chele@5.53.222.202) (Remote host closed the connection)
16:46:38 Jeanne-Kamikaze joins (~Jeanne-Ka@68.235.43.110)
16:46:39 pgib joins (~textual@lmms/pgib)
16:47:09 × ralejs quits (~ralejs@163.114.131.1) (Read error: Connection reset by peer)
16:47:10 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
16:47:23 ralejs joins (~ralejs@2620:10d:c093:400::5:c80)
16:47:35 × Guest18 quits (567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102) (Quit: Connection closed)
16:49:07 × ralejs quits (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer)
16:49:30 ralejs joins (~ralejs@2620:10d:c093:400::5:c80)
16:51:23 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
16:51:28 × sand_dull quits (~theuser@104.140.53.43) (Ping timeout: 272 seconds)
16:52:09 GyroW joins (~GyroW@d54c03e98.access.telenet.be)
16:52:09 × GyroW quits (~GyroW@d54c03e98.access.telenet.be) (Changing host)
16:52:09 GyroW joins (~GyroW@unaffiliated/gyrow)
16:52:54 jchia joins (~jchia@58.32.38.34)
16:54:06 ggole joins (~ggole@2001:8003:8119:7200:7085:2b43:4bf6:e2e3)
16:55:27 × st8less quits (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c) (Ping timeout: 260 seconds)
16:57:29 nyd joins (~lpy@unaffiliated/elysian)
16:57:48 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 260 seconds)
16:59:19 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
16:59:20 × ralejs quits (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer)
17:00:10 ralejs joins (~ralejs@2620:10d:c093:400::5:c80)
17:00:38 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
17:01:45 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
17:02:01 emmanuel` joins (~user@2604:2000:1382:ce03:4cd9:b90b:27ea:9c15)
17:05:17 × alp quits (~alp@2a01:e0a:58b:4920:61fb:21a9:d42a:3901) (Ping timeout: 272 seconds)
17:05:27 hackage uniqueness-periods-vector-common 0.5.1.0 - Generalization of the dobutokO-poetry-general package functionality https://hackage.haskell.org/package/uniqueness-periods-vector-common-0.5.1.0 (OleksandrZhabenko)
17:07:55 × jespada quits (~jespada@90.254.245.15) (Ping timeout: 260 seconds)
17:09:24 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:09:36 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
17:11:04 jespada joins (~jespada@90.254.245.15)
17:12:27 hackage deferred-folds 0.9.11 - Abstractions over deferred folds https://hackage.haskell.org/package/deferred-folds-0.9.11 (NikitaVolkov)
17:12:36 × ralejs quits (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer)
17:13:04 ralejs joins (~ralejs@2620:10d:c093:400::5:c80)
17:13:57 Guest88073 is now known as lep-delete
17:14:17 × nyd quits (~lpy@unaffiliated/elysian) (Quit: nyd)
17:15:02 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
17:18:21 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:19:28 hackage uniqueness-periods-vector-general 0.5.1.0 - Some kind of the optimization approach to data inner structure. https://hackage.haskell.org/package/uniqueness-periods-vector-general-0.5.1.0 (OleksandrZhabenko)
17:20:50 × sudden quits (~lax@unaffiliated/laxask) (Remote host closed the connection)
17:21:42 fendor_ joins (~fendor@77.119.130.38.wireless.dyn.drei.com)
17:21:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
17:23:12 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:23:43 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
17:23:57 hackage uniqueness-periods-vector-properties 0.5.5.0 - Metrices for the maximum element for the uniqueness-periods-vector packages family. https://hackage.haskell.org/package/uniqueness-periods-vector-properties-0.5.5.0 (OleksandrZhabenko)
17:24:24 × fendor quits (~fendor@178.115.131.211.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
17:25:35 snakemas1 joins (~snakemast@213.100.206.23)
17:25:48 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
17:26:41 oisdk joins (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080)
17:27:55 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
17:28:52 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025)
17:30:41 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:31:07 × Spooktober quits (~Thunderbi@freenode/staff/grumble) (Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.)
17:31:48 fendor_ is now known as fendor
17:33:07 foldr joins (~foldr@90.248.57.181)
17:34:10 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:35:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
17:35:38 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:36:18 xff0x joins (~fox@2001:1a81:52ad:5800:a0c7:cc77:f7d4:2372)
17:36:40 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:36:48 × knupfer quits (~Thunderbi@200116b82c8e3e0025e565b517e6d2da.dip.versatel-1u1.de) (Remote host closed the connection)
17:37:01 knupfer joins (~Thunderbi@200116b82c8e3e00dc9440f6f84de4f5.dip.versatel-1u1.de)
17:37:04 × taurux quits (~taurux@net-188-152-14-58.cust.vodafonedsl.it) (Ping timeout: 272 seconds)
17:37:38 taurux joins (~taurux@net-93-144-24-88.cust.vodafonedsl.it)
17:38:04 chenshen joins (~chenshen@2620:10d:c090:400::5:f7f9)
17:38:27 hackage uniqueness-periods-vector-examples 0.12.3.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.12.3.0 (OleksandrZhabenko)
17:39:05 grumboo joins (~Thunderbi@freenode/staff/grumble)
17:39:48 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
17:39:52 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:41:05 z0 joins (~z0@bl15-161-239.dsl.telepac.pt)
17:41:24 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Remote host closed the connection)
17:41:41 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:42:31 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:44:39 <z0> if we do something like `f l = go l l where go (x:xs) (y:yy:ys) = x + yy + go xs ys` is haskell keeping a single l in memory with 2 pointers behind the scenes?
17:45:14 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:45:20 <monochrom> Yes
17:45:22 × John20 quits (~John@82.46.59.122) (Ping timeout: 256 seconds)
17:45:32 × Saukk quits (~Saukk@2001:998:f1:3963:1c59:9bb5:b94c:2) (Remote host closed the connection)
17:46:44 <z0> nice. thanks
17:47:19 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:48:33 <z0> whats a good resource on reasoning about performance in thinks like this?
17:48:48 <z0> s/thinks/things
17:50:05 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
17:50:16 ensyde joins (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369)
17:50:33 <dsal> Do you mean as to entirely copying a potentially infinite list?
17:50:39 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:51:38 <dsal> er, as opposed to. I don't quite understand what else it could do.
17:52:03 <phadej> i'd rewrite that as f l = go 0 l l where go !acc (x:xs) (y:yy:ys) = go (acc + x + yy) xs ys
17:52:11 <phadej> i.e. foldr to foldl'
17:52:43 × hiroaki quits (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
17:52:58 <phadej> "whats a good resource on reasoning about performance in thinks like this?" - there's plenty of resources, e.g. https://www.well-typed.com/blog/2017/09/visualize-cbn/
17:54:14 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:54:29 __monty__ joins (~toonn@unaffiliated/toonn)
17:54:41 <gentauro> 16:02 < kuribas> gentauro: I am trying HLS with HIE, but I keep comming back to emacs
17:55:08 solonarv joins (~solonarv@adijon-655-1-70-207.w90-13.abo.wanadoo.fr)
17:55:15 <gentauro> kuribas: I thought `hls` would work with `emacs` just like `intero` did. Still not working, but not giving up (yet)
17:55:19 × ensyde quits (~ensyde@2600:1702:2e30:1a40:7dd1:8fed:5e86:6369) (Ping timeout: 272 seconds)
17:55:54 × geekosaur quits (ac3a5727@172.58.87.39) (Ping timeout: 245 seconds)
17:55:57 hackage prolude 0.0.0.2 - ITProTV's custom prelude https://hackage.haskell.org/package/prolude-0.0.0.2 (saramuse)
17:59:03 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds)
17:59:26 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:00:01 × jhf quits (~jhf@185.244.214.216) ()
18:00:27 is_null joins (~jpic@pdpc/supporter/professional/is-null)
18:03:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
18:03:51 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
18:04:10 alp joins (~alp@2a01:e0a:58b:4920:7d9f:c45b:a876:4aa8)
18:04:41 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
18:05:04 chaosmasttter joins (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de)
18:05:50 geekosaur joins (ac3a5499@172.58.84.153)
18:06:02 hiroaki joins (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de)
18:07:27 GyroW_ joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
18:07:28 × GyroW_ quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
18:07:28 GyroW_ joins (~GyroW@unaffiliated/gyrow)
18:08:02 kish joins (~oracle@unaffiliated/oracle)
18:08:32 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds)
18:11:23 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 244 seconds)
18:12:02 p-core joins (~Thunderbi@2a0e:1c80:4:1022::1004)
18:13:00 shapr hops randomly
18:13:04 <shapr> good afternoon #haskell !
18:14:35 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
18:15:15 thir joins (~thir@pd9e1b838.dip0.t-ipconnect.de)
18:15:45 pera joins (~pera@unaffiliated/pera)
18:17:24 <juri_> shapr: hio. :)
18:17:33 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
18:17:41 <shapr> howdy juri_! You still scaddin' ?
18:17:59 <shapr> I'm in the DC area for the new few years it seems, but you've left forever, right?
18:18:02 delobuch is now known as comorbid_antiflo
18:18:18 <juri_> shapr: indeed, on both counts. :)
18:18:34 <shapr> well, too bad I didn't get to meet you when we were both in the same area
18:19:40 × knupfer quits (~Thunderbi@200116b82c8e3e00dc9440f6f84de4f5.dip.versatel-1u1.de) (Quit: knupfer)
18:19:53 <juri_> watch talks, write code.. profit? :)
18:19:58 knupfer joins (~Thunderbi@200116b82c8e3e0099587a5e6444be1a.dip.versatel-1u1.de)
18:20:03 <koz_> juri_: Sounds delicious.
18:20:14 comorbid_antiflo is now known as comorbid_enflori
18:22:14 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Ping timeout: 244 seconds)
18:25:45 × carlomagno1 quits (~cararell@inet-hqmc02-o.oracle.com) (Ping timeout: 240 seconds)
18:28:12 Amras joins (~Amras@unaffiliated/amras0000)
18:28:14 × whiteline quits (~whiteline@unaffiliated/whiteline) (Remote host closed the connection)
18:28:16 × mupf quits (~micha@v22017094964653601.ultrasrv.de) (Quit: WeeChat 2.9)
18:29:01 whiteline joins (~whiteline@unaffiliated/whiteline)
18:29:11 mupf joins (~micha@v22017094964653601.ultrasrv.de)
18:29:57 × ericsagnes quits (~ericsagne@2405:6580:0:5100:f45a:395d:f712:98d3) (Ping timeout: 260 seconds)
18:32:12 × DavidEichmann quits (~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
18:32:35 × mupf quits (~micha@v22017094964653601.ultrasrv.de) (Client Quit)
18:32:51 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-ycssaquegccjnbcx)
18:33:26 mupf joins (~micha@v22017094964653601.ultrasrv.de)
18:34:03 carlomagno joins (~cararell@inet-hqmc02-o.oracle.com)
18:37:09 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 265 seconds)
18:37:45 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
18:38:07 grfn is now known as Jenbobo
18:38:28 hackage unicode-transforms 0.3.7.1 - Unicode normalization https://hackage.haskell.org/package/unicode-transforms-0.3.7.1 (Bodigrim)
18:38:33 Jenbobo is now known as grfn
18:38:46 × chaosmasttter quits (~chaosmast@p200300c4a72cce01a54348c8faec0ca9.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
18:39:01 <ezzieyguywuf> I seem to recall reading that hledger doesn't work too great at tracking/managing investments, specificially stocks. I do that a bit in beancount today but even that's sort of a pain. Do you all know of any good, solid, FOSS tools that I can use for this?
18:39:08 <ezzieyguywuf> I don't mind manually importing transactions etc.
18:39:30 <ezzieyguywuf> also, this is "vaguely haskell related" due to hledger, but if this is more appropriate in #haskell-offtopic feel free to tell me so
18:40:47 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1)
18:41:55 ericsagnes joins (~ericsagne@2405:6580:0:5100:5cf1:c22d:8d13:ca36)
18:42:42 × lowryder quits (~djlowry@web603.webfaction.com) (Read error: Connection reset by peer)
18:45:56 jathan joins (~jathan@69.61.93.38)
18:46:23 × kuribas quits (~user@ptr-25vy0i7sp90j0w6z65c.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
18:48:58 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
18:50:42 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 256 seconds)
18:51:27 × coot quits (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
18:51:31 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
18:51:38 chaosmasttter joins (~chaosmast@p200300c4a72cce01992392edfb5baa55.dip0.t-ipconnect.de)
18:52:27 s00pcan joins (~chris@107.181.165.217)
18:52:28 coot joins (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl)
18:56:51 dwfreed1 joins (~dwfreed@178.162.204.214)
18:57:37 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 258 seconds)
18:57:57 × coot quits (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
18:58:31 coot joins (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl)
18:59:57 × chaosmasttter quits (~chaosmast@p200300c4a72cce01992392edfb5baa55.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
19:02:09 roc joins (510b9feb@ip-81-11-159-235.dsl.scarlet.be)
19:02:26 × motherfsck quits (~motherfsc@unaffiliated/motherfsck) (Read error: Connection reset by peer)
19:03:01 motherfsck joins (~motherfsc@unaffiliated/motherfsck)
19:03:26 berberman_ joins (~berberman@unaffiliated/berberman)
19:04:22 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
19:10:13 <maerwald> the real question is: do you need blockchain?
19:12:37 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
19:13:58 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Ping timeout: 272 seconds)
19:15:10 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
19:16:10 × domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Quit: killed)
19:16:10 × psydruid quits (psydruidma@gateway/shell/matrix.org/x-jnwhbopqsvzftvuy) (Quit: killed)
19:16:10 × SlackIntegration quits (slackbotma@gateway/shell/matrix.org/x-rxhzofxlqowyvoex) (Quit: killed)
19:16:10 × Ericson2314 quits (ericson231@gateway/shell/matrix.org/x-jqfqhltqwawefczw) (Quit: killed)
19:16:11 × bonvoyage[m] quits (bonvoyageu@gateway/shell/matrix.org/x-gwfeippcnxqufbie) (Quit: killed)
19:16:11 × hnOsmium0001[m] quits (hnosmium00@gateway/shell/matrix.org/x-szmgbxfcnviaeywn) (Quit: killed)
19:16:11 × JoelMcCracken[m] quits (joelmccrac@gateway/shell/matrix.org/x-fgrnajlvcmfxorzc) (Quit: killed)
19:16:11 × themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-twnfzasmxscnzufy) (Quit: killed)
19:16:11 × drozdziak1 quits (drozdziak1@gateway/shell/matrix.org/x-qbmoanboxydujdwb) (Quit: killed)
19:16:13 × iinuwa quits (iinuwamatr@gateway/shell/matrix.org/x-jxlnqrgayqijmilv) (Quit: killed)
19:16:13 × jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-usgrtgvgawipzskz) (Quit: killed)
19:16:13 × alvinsj[m] quits (alvinsjmat@gateway/shell/matrix.org/x-nwfftzrznvagqvns) (Quit: killed)
19:16:13 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-hjhltkjttsndhhkz) (Quit: killed)
19:16:13 × lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-ohajfkfwbdgxlpmo) (Quit: killed)
19:16:13 × pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-gsboooajgyollaro) (Quit: killed)
19:16:13 × sureyeaah quits (shauryab98@gateway/shell/matrix.org/x-huvitbkiaeizvifg) (Quit: killed)
19:16:13 × mmynsted[m] quits (mmynstedko@gateway/shell/matrix.org/x-vezacdswknregcsw) (Quit: killed)
19:16:17 × srid quits (sridmatrix@gateway/shell/matrix.org/x-bwagjvhebtsmrixk) (Quit: killed)
19:16:17 × materialfuture[m quits (materialfu@gateway/shell/matrix.org/x-ahudgacklhknadwx) (Quit: killed)
19:16:17 × CaptainFox[m] quits (onianimatr@gateway/shell/matrix.org/x-psgxuihgrttrwsoo) (Quit: killed)
19:16:17 × mikr[m] quits (mikrdavral@gateway/shell/matrix.org/x-kwgubaqxdcmojbtm) (Quit: killed)
19:16:17 × betrion[m] quits (betrionmat@gateway/shell/matrix.org/x-jxfdancklrdizijq) (Quit: killed)
19:16:18 × sepp2k quits (sepp2kmatr@gateway/shell/matrix.org/x-uvkezxfeawylssgh) (Quit: killed)
19:16:18 × nihilazo quits (nihilazoma@gateway/shell/matrix.org/x-gmshkgiyniprfgmk) (Quit: killed)
19:16:18 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-qaoqeszlpidmiidi) (Quit: killed)
19:16:20 × mmynsted[m]1 quits (mmynstedtc@gateway/shell/matrix.org/x-otbnrbbvnxztknls) (Quit: killed)
19:16:21 × ThaEwat quits (thaewraptm@gateway/shell/matrix.org/x-wcgncleyegjgbdei) (Quit: killed)
19:16:21 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-djxhqzczqzhwogcr) (Quit: killed)
19:16:22 × GuillaumeChrel[m quits (guillaumec@gateway/shell/matrix.org/x-irgukfuwtdkplfnf) (Quit: killed)
19:16:22 × steve[m] quits (stevetrout@gateway/shell/matrix.org/x-nolzmrzxmohotgty) (Quit: killed)
19:16:24 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-ovxgmrxlhxbfutlg) (Quit: killed)
19:16:24 × ethercrow[m] quits (ethercrowm@gateway/shell/matrix.org/x-dntiwkhliuznumkc) (Quit: killed)
19:16:24 × unclechu quits (unclechuma@gateway/shell/matrix.org/x-bhndimvrkskoumgf) (Quit: killed)
19:16:25 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-pjuezldzdrfckkhi) (Quit: killed)
19:16:25 × kadoban quits (kadobanmat@gateway/shell/matrix.org/x-vbpdmawecokvypon) (Quit: killed)
19:16:26 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-oghntmrrwnjpmjbo) (Quit: killed)
19:16:26 × io_r_us[m] quits (commandlin@gateway/shell/matrix.org/x-iuazxucigypytios) (Quit: killed)
19:16:26 × gmind[m] quits (gmindmatri@gateway/shell/matrix.org/x-gmveyibovwosfovg) (Quit: killed)
19:16:27 × fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-rcbiqvrwdgnckxzs) (Quit: killed)
19:16:28 × Noughtmare[m] quits (naughtmare@gateway/shell/matrix.org/x-xbftvmnvnltaxjya) (Quit: killed)
19:16:29 × tttom[m] quits (tttommatri@gateway/shell/matrix.org/x-ubytuwosgjqchrej) (Quit: killed)
19:16:29 × theduke quits (thedukem1@gateway/shell/matrix.org/x-uxfoavbkhrpjinhc) (Quit: killed)
19:16:29 × albestro[m] quits (albestroma@gateway/shell/matrix.org/x-ceoaxwandmwefloq) (Quit: killed)
19:16:29 × alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-ibothraqnolnyjqn) (Quit: killed)
19:16:30 × jiribenes1 quits (jbjiribene@gateway/shell/matrix.org/x-hlzxlgqhzheuoshi) (Quit: killed)
19:16:30 × hsiktas[m] quits (hsiktasmat@gateway/shell/matrix.org/x-pxllgyrlikkrbict) (Quit: killed)
19:16:31 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-qjylcwexkmjwddia) (Quit: killed)
19:16:31 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-tneitzltqviyrfjn) (Quit: killed)
19:16:31 × jlv quits (jlvjustinl@gateway/shell/matrix.org/x-swiqiodpvtdrchep) (Quit: killed)
19:16:32 × ttc quits (tomtauma1@gateway/shell/matrix.org/x-dyilsezwqgixpwcl) (Quit: killed)
19:16:33 × lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-dmqlqgksqfwgdqxg) (Quit: killed)
19:16:33 × chreekat[m] quits (chreekatma@gateway/shell/matrix.org/x-gyqozthiikgblchd) (Quit: killed)
19:16:33 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-lrcpehufnviyldxo) (Quit: killed)
19:16:33 × Fernando-Basso[m quits (fernando-b@gateway/shell/matrix.org/x-rfafrfaeofybwlyc) (Quit: killed)
19:16:33 × maralorn quits (maralornma@gateway/shell/matrix.org/x-demcjapioxfxjwwc) (Quit: killed)
19:16:36 × caef^ quits (caef@ip98-184-89-2.mc.at.cox.net) (Max SendQ exceeded)
19:18:52 caef^ joins (caef@ip98-184-89-2.mc.at.cox.net)
19:18:52 × thir quits (~thir@pd9e1b838.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
19:19:06 avdb joins (~avdb@ip-83-134-68-210.dsl.scarlet.be)
19:19:49 × lortabac quits (~lortabac@51.158.65.124) (Ping timeout: 246 seconds)
19:21:09 lortabac joins (~lortabac@51.158.65.124)
19:22:53 × roc quits (510b9feb@ip-81-11-159-235.dsl.scarlet.be) (Remote host closed the connection)
19:23:39 steve[m] joins (stevetrout@gateway/shell/matrix.org/x-rtatbjmnbxiznpmg)
19:24:32 × coot quits (~coot@37.30.50.102.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
19:25:05 × esp32_prog quits (yoann@gateway/vpn/protonvpn/esp32prog/x-46565127) (Ping timeout: 240 seconds)
19:27:06 chaosmasttter joins (~chaosmast@p200300c4a72cce01992392edfb5baa55.dip0.t-ipconnect.de)
19:27:18 × avdb quits (~avdb@ip-83-134-68-210.dsl.scarlet.be) (Ping timeout: 256 seconds)
19:29:50 cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it)
19:30:55 × taurux quits (~taurux@net-93-144-24-88.cust.vodafonedsl.it) (Ping timeout: 256 seconds)
19:31:35 taurux joins (~taurux@net-109-115-33-170.cust.vodafonedsl.it)
19:31:53 <ezzieyguywuf> maerwald: I don't think so
19:32:20 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 272 seconds)
19:32:20 <ezzieyguywuf> I have a bunch of money wrapped up in different securities and funds, and I want one centralized place where I can track their performance and figure out my allocations
19:33:50 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
19:35:57 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:36:39 themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-zjmsdphtuogbzdnl)
19:36:39 alvinsj[m] joins (alvinsjmat@gateway/shell/matrix.org/x-jkdshcytuttkbfpt)
19:36:39 JoelMcCracken[m] joins (joelmccrac@gateway/shell/matrix.org/x-koqjdeyeiyqanqia)
19:36:39 srid joins (sridmatrix@gateway/shell/matrix.org/x-qzwenlzhtlhlcace)
19:36:39 psydruid joins (psydruidma@gateway/shell/matrix.org/x-oprbmexkbiobupsb)
19:36:39 iinuwa joins (iinuwamatr@gateway/shell/matrix.org/x-nfkeciehgetsazih)
19:36:39 bonvoyage[m] joins (bonvoyageu@gateway/shell/matrix.org/x-netifemzzfxlmlap)
19:36:39 jeffcasavant[m]1 joins (jeffcasava@gateway/shell/matrix.org/x-eehnfkgrainilxie)
19:36:39 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-hmsbyitwctjrefyg)
19:36:39 theduke joins (thedukem1@gateway/shell/matrix.org/x-tfitaspyhmnjubsl)
19:36:39 vaibhavsagar joins (vaibhavsag@gateway/shell/matrix.org/x-xlkytutapnujrgwb)
19:36:39 fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-sccsqjcyzbrdqsny)
19:36:39 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-lsmbcsozkdzcnpwu)
19:36:40 ThaEwat joins (thaewraptm@gateway/shell/matrix.org/x-agqptcwygxrodhxb)
19:36:40 maralorn joins (maralornma@gateway/shell/matrix.org/x-zkyzkncpuafqbgyu)
19:36:40 jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-clashmxqyivyyrpr)
19:36:40 domenkozar[m] joins (domenkozar@NixOS/user/domenkozar)
19:36:40 siraben joins (sirabenmat@gateway/shell/matrix.org/x-ltzmckarrmguosgk)
19:36:40 hnOsmium0001[m] joins (hnosmium00@gateway/shell/matrix.org/x-gyngapiijxrddvgg)
19:36:40 drozdziak1 joins (drozdziak1@gateway/shell/matrix.org/x-qsrzjrmwedxwifhe)
19:36:40 hsiktas[m] joins (hsiktasmat@gateway/shell/matrix.org/x-icdlnorsjqgkpxaw)
19:36:40 unclechu joins (unclechuma@gateway/shell/matrix.org/x-zgeyqatdetfrsgfy)
19:36:40 PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-nbsqkvyjxpcolcjf)
19:36:40 lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-ptvuhwxuhfxasuxj)
19:36:41 michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-eajfsrqdggsxtjvo)
19:36:41 kadoban joins (kadobanmat@gateway/shell/matrix.org/x-koqtjvguqdzqkcxh)
19:36:41 Ericson2314 joins (ericson231@gateway/shell/matrix.org/x-wjxgdezrhvtzaogq)
19:36:41 sureyeaah joins (shauryab98@gateway/shell/matrix.org/x-cwwiukanmlcbaqdo)
19:36:41 Noughtmare[m] joins (naughtmare@gateway/shell/matrix.org/x-pcihubjetuqwkhon)
19:36:41 chreekat[m] joins (chreekatma@gateway/shell/matrix.org/x-xbcxbptrlxxpfxsr)
19:36:41 texasmynsted[m]1 joins (mmynstedko@gateway/shell/matrix.org/x-jzvbrkpfvqeicyva)
19:36:41 Fernando-Basso[m joins (fernando-b@gateway/shell/matrix.org/x-ggwqzbckrjzoebqm)
19:36:41 gmind[m] joins (gmindmatri@gateway/shell/matrix.org/x-dtqofmafghxzbxls)
19:36:41 lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-sdymrxybgjfdnoyu)
19:36:41 io_r_us[m] joins (commandlin@gateway/shell/matrix.org/x-ooxzqxwxkykjcelk)
19:36:41 nihilazo joins (nihilazoma@gateway/shell/matrix.org/x-oybdwgyjgiaqufzl)
19:36:41 boistordu1 joins (boistordum@gateway/shell/matrix.org/x-pisxxstrdnlvnxgf)
19:36:41 SlackIntegration joins (slackbotma@gateway/shell/matrix.org/x-gsmubjcfwartpuyv)
19:36:42 pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-bitadduvtvbneaeb)
19:36:42 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-gbyrgzvhkjxxusae)
19:36:44 CaptainFox[m] joins (onianimatr@gateway/shell/matrix.org/x-drbxwvoncpbckyzk)
19:36:45 mikr[m] joins (mikrdavral@gateway/shell/matrix.org/x-hacnsmsjuxjtzoxd)
19:36:46 GuillaumeChrel[m joins (guillaumec@gateway/shell/matrix.org/x-gnseeldmgheyniaq)
19:36:46 materialfuture[m joins (materialfu@gateway/shell/matrix.org/x-oqqgzyvgqemxlxor)
19:36:46 ttc joins (tomtauma1@gateway/shell/matrix.org/x-haadxrqzgtcsrdca)
19:36:46 jiribenes1 joins (jbjiribene@gateway/shell/matrix.org/x-depxshgmerhghelp)
19:36:47 betrion[m] joins (betrionmat@gateway/shell/matrix.org/x-tvrpywqkiskftcqo)
19:36:47 jkaye[m] joins (jkayematri@gateway/shell/matrix.org/x-titsgoawtmwelkxy)
19:36:47 ethercrow[m] joins (ethercrowm@gateway/shell/matrix.org/x-mhxrudfakkaxubql)
19:36:48 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-vcivbailtuqowgfi)
19:36:48 tttom[m] joins (tttommatri@gateway/shell/matrix.org/x-soasxrnveoheosxm)
19:36:48 sepp2k joins (sepp2kmatr@gateway/shell/matrix.org/x-kjjsajpvynbjxyjt)
19:36:48 albestro[m] joins (albestroma@gateway/shell/matrix.org/x-pjjqsudezxydksrs)
19:36:48 jlv joins (jlvjustinl@gateway/shell/matrix.org/x-kssklhfqxoumhtye)
19:36:49 mmynsted[m] joins (mmynstedtc@gateway/shell/matrix.org/x-niyifdmgamjmeagm)
19:36:50 alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-fxxfrxcrsgikwrue)
19:37:11 × emmanuel` quits (~user@2604:2000:1382:ce03:4cd9:b90b:27ea:9c15) (Remote host closed the connection)
19:37:19 emmanuel` joins (~user@2604:2000:1382:ce03:4cd9:b90b:27ea:9c15)
19:37:40 × emmanuel` quits (~user@2604:2000:1382:ce03:4cd9:b90b:27ea:9c15) (Client Quit)
19:38:09 emmanuel_erc joins (~user@2604:2000:1382:ce03:4cd9:b90b:27ea:9c15)
19:38:38 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:40:59 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 260 seconds)
19:42:58 bahamas joins (~lucian@unaffiliated/bahamas)
19:50:23 is_null joins (~jpic@pdpc/supporter/professional/is-null)
19:53:00 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
19:53:42 Tario joins (~Tario@200.119.187.185)
19:56:56 × knupfer quits (~Thunderbi@200116b82c8e3e0099587a5e6444be1a.dip.versatel-1u1.de) (Quit: knupfer)
19:56:56 × ralejs quits (~ralejs@2620:10d:c093:400::5:c80) (Read error: Connection reset by peer)
19:57:03 knupfer joins (~Thunderbi@200116b82c8e3e004d528d974d6e668b.dip.versatel-1u1.de)
19:57:12 ralejs joins (~ralejs@2620:10d:c093:400::5:c80)
20:00:42 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
20:03:13 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 264 seconds)
20:03:50 × geekosaur quits (ac3a5499@172.58.84.153) (Remote host closed the connection)
20:04:12 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
20:04:30 rprije joins (~rprije@203.214.95.251)
20:04:35 kish parts (~oracle@unaffiliated/oracle) ("Leaving")
20:04:38 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
20:05:59 untseac joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
20:06:16 <untseac> hello. is it me doing something really wrong or yesod uses a archaic LTS?
20:06:37 <c_wraith> that would be surprising, as yesod is the main reason stack exists
20:06:49 <untseac> hum that I didn't know
20:07:27 hackage hwk 0.4 - Simple cli text processing with Haskell functions https://hackage.haskell.org/package/hwk-0.4 (JensPetersen)
20:07:29 <untseac> so nobody likes stack anymore?
20:07:31 <hc> true... yesod was pretty much unusable before stack :)
20:07:46 <c_wraith> And the latest stackage LTS lists yesod
20:07:47 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Read error: Connection reset by peer)
20:08:06 hc has the feeling that the growing dislike for stack is mostly political
20:08:09 <untseac> ok so maybe the templates are just old but yesod itself is not
20:08:15 <c_wraith> that's probable
20:08:23 <unclechu> untseac: i like stack when i can’t use nix
20:08:41 <hc> i was in a webinar with fp complete once and specifically (and innocently) asked for their thoughts about nixos/cabal and didn't get an answer :)
20:08:42 <c_wraith> I don't like stack because it's extra complication that doesn't provide value for me. But I can see how it would be useful for others.
20:08:46 <untseac> yeah I'm on arch and don't really want to bother with nix yet
20:08:49 <untseac> yeah I'm on arch and don't really want to bother with nix yet unclechu
20:08:56 <untseac> oops duplicate
20:09:04 <koz_> https://www.stackage.org/lts-16.18/package/yesod-1.6.1.0
20:09:19 <hc> i for one wouldn't have dared to use haskell at my company without stack and the stability promise it bringe :)
20:09:23 <koz_> 16.18 is pretty recent!
20:09:24 <c_wraith> are you using matrix? Editing messages in matrix causes its IRC bridge to resend messages.
20:09:40 <untseac> ok so it's probably just the templates
20:09:52 <koz_> untseac: Stack templates right?
20:09:57 <untseac> yeah
20:10:04 <koz_> In my experience they are completely unusable garbage in the general sense.
20:10:10 <untseac> it's on yesod webpage: https://www.yesodweb.com/page/quickstart
20:10:19 <koz_> I literally had to roll my own using cookiecutter because of how utterly useless they were.
20:10:22 <untseac> but they're using this usper old LTS
20:10:30 <koz_> Both in terms of content and documentation.
20:10:40 <untseac> which kind of made me not want to try yesod lol
20:10:48 <untseac> I was already looking into alternativs
20:10:56 <koz_> untseac: What're you trying to build?
20:11:09 <untseac> just experimenting
20:11:13 <untseac> nothing special
20:11:27 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
20:11:27 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
20:11:27 GyroW joins (~GyroW@unaffiliated/gyrow)
20:12:05 <untseac> yesod seems to be the most popular web framework in haskell right now
20:12:13 <untseac> that's why I was trying first
20:12:25 × GyroW_ quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
20:12:52 bitmagie joins (~Thunderbi@200116b80693b700305a6826a7578388.dip.versatel-1u1.de)
20:12:53 <untseac> but all main web frameworks looks okay to me to be honest
20:12:58 × bitmagie quits (~Thunderbi@200116b80693b700305a6826a7578388.dip.versatel-1u1.de) (Client Quit)
20:13:03 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
20:13:12 <davean> yesod is definately the most *marketed*
20:13:32 <koz_> davean: Interestingly enough, I had to bench yesod vs servant vs snap recently.
20:13:32 <untseac> yeah might as well start with the most marketed
20:13:42 <koz_> Yesod came out _by far_ behind the other two.
20:13:48 <davean> koz_: oh of course
20:14:01 <koz_> It also trips spurious GHC warnings with its TH.
20:14:06 <davean> Of course it does
20:14:28 <koz_> davean: You sound unsurprised.
20:14:32 <davean> Entirely
20:14:34 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Read error: Connection reset by peer)
20:14:35 <koz_> LOL
20:14:44 <davean> I couldn't believe it wasn't that way
20:14:45 <koz_> Good to know I wasn't wrong to be skeptical to my workmates.
20:14:53 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
20:15:46 <untseac> I finally have a good grasp and can handle haskell more or less easily. the most annoying part is that all these places try to teach monads and friends in a weird way when it's really simple.
20:16:03 <untseac> but that's just me ranting as usual
20:16:41 <untseac> codewars helped lol
20:17:07 <koz_> I found a lot of practice helped. Weirdly, getting my first Haskell Job For Money made me improve almost instantly.
20:17:23 <untseac> yeah practice is indeed the best way to learn haskell
20:17:30 <untseac> that's what I found
20:18:01 <untseac> usually it's the opposite, read first do later, but with haskell it's just do it
20:18:10 × hbina quits (~hbina@42.153.132.48) (Remote host closed the connection)
20:18:16 <untseac> at least worked for me
20:18:55 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
20:19:25 <untseac> which is the most technically decent web framework btw? if there's one.
20:19:37 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Ping timeout: 265 seconds)
20:19:38 <davean> Depends on what you want, theres levels of complexity
20:19:44 <untseac> fair enough
20:19:47 <davean> like servant is rather complicated but buys a lot of nice features with that
20:20:03 <davean> But you might not want to pay that overhead for some basic stuff
20:20:34 <koz_> Servant is good _if_ you work in the way they intend.
20:20:47 <koz_> If you need anything else, it's _very_ difficult to work around.
20:20:57 <untseac> oof I hate that
20:21:00 <koz_> And the typelevel stuff can give _horrific_ error messages if you're not familiar with it.
20:21:01 <cohn> anyone using HDBC to connect to a SQLite database?
20:21:28 <davean> koz_: right, though I'd disagree with the "_very_ difficult" part - you can patch your own stuff in pretty easily
20:21:33 <koz_> (I literally had pages of vomit giving me headaches before going 'oh, ScopedTypeVariables wasn't on)
20:22:05 <untseac> I come from Java world so I doubt any of these web frameworks are worse
20:22:47 mapperr joins (~mapperr@vmi389916.contaboserver.net)
20:23:52 <koz_> cohn: What sort of issue are you seeing?
20:23:52 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
20:24:56 <cohn> koz_: can't seem to install HDBC + HDBC-sqlite3 via Stack. Wondering if it's because I'm using a too-new GHC.
20:25:11 <koz_> cohn: Exact error message (in a pastebin)?
20:25:56 <cohn> koz_: yep, one sec
20:27:41 <cohn> koz_: https://pastebin.com/eWfUc67E
20:27:55 <cohn> fwiw, this is on an OS X box
20:28:31 <koz_> Yeah, I think it's an issue that HDBC-sqlite3 leans on a deprecated library.
20:28:32 <bliminse> what were you using in Java untseac ? Spring/quarkus/micronaut?
20:28:33 <davean> Oh my sqlite is old
20:28:35 <maerwald> koz_: the funny thing is... most ppl don't make actual use of servant (e.g. sharing types or generating clients) :p
20:28:58 <bliminse> if you were using smaller frameworks (i.e., not spring), you could try warp in haskell
20:29:03 <davean> maerwald: Is that true? I know dozens of places using it and doing that.
20:29:05 <koz_> But yeah, what's your resolver?
20:29:15 <dminuoso> Where in either the Haskell report and GHC manual can I find a remark, how instance contexts are not considered for instance selection?
20:29:16 <untseac> bliminse, spring
20:29:22 <bliminse> it's going to require you implementing some things that may be available in the other frameworks but it's nowhere near as bloated
20:29:24 <untseac> it's not fun
20:29:28 <maerwald> davean: I've seen a good chunk of "let's use it, because it's cooler than scotty"
20:29:32 <bliminse> ahhh, yeah :/
20:29:38 <cohn> koz_: lts-16.16
20:29:38 <davean> maerwald: huh, never seen that.
20:29:45 <bliminse> I mean I get the appeal of spring, having the kitchen sink and then some
20:30:05 <bliminse> but all the behind-the-doors magic is not something I enjoy
20:30:17 <untseac> it's enterprise over-engineering crap tbh
20:30:23 <bliminse> and that's considering at work I have to deal with the whole spring family! xD
20:30:29 <dminuoso> In particular, Im trying to understand how instance methods of classes with superclass constraints are type checked.
20:31:03 <davean> maerwald: infact, I've often seen it used *only* to produce clients
20:31:05 <untseac> yeah my main issue with spring is that it tries to solve everything with this weird complicated mechanism but it's okayish I guess
20:31:19 <koz_> I'm wondering why it has a dependency on sqlite - neither HDBC nor HDBC-sqlite seem to want it.
20:31:22 <dminuoso> davean: Id be willing to argue that servant is great even for small APIs.
20:31:48 snakemas1 joins (~snakemast@213.100.206.23)
20:31:54 <dminuoso> The complexity is mostly in your head, the actual implementation of servant/servant-server is rather simple.
20:31:54 <davean> dminuoso: I didn't mean your API size anywhere
20:31:57 <cohn> koz_: it?
20:31:58 <untseac> I just want to get rid of Java. Haskell looks like the best way to make maintainable software. At least so far.
20:31:59 <koz_> cohn: What's your stack.yaml look like?
20:32:09 <maerwald> For API layer, I don't care about typed API, I want proper structural typing, so I can create web-types easily. TypeScript is better at that
20:32:16 <davean> dminuoso: Though I really dislike some of its things, like setting HTTP headers is *brokenly bad* in servant
20:32:18 <bliminse> heh yes it's very enjoyable. well so, if you want to give a try with warp you can set something up really quickly with just a few packages:
20:32:32 <cohn> koz_: I just have these lines in there. everything else is default:
20:32:33 <cohn> extra-deps:
20:32:33 <cohn> - sqlite-0.5.5@sha256:2ffbff8fdeeb4db51550755a4a8fa73f33ac74313713a6f2608e108889d0ef13,1875
20:32:36 <cohn> - HDBC-sqlite3-2.3.3.1@sha256:5025fd94d02b9b3f0b8b8233796dd9a85a0b3dda6503c6e671e3eddbc51cb4d4,2424
20:32:40 <davean> you have to set them in 3 places, its rediculous
20:32:49 <untseac> I don't see much future in imperative languages, not with 32 cores, which we already have. That's my noobish prepective.
20:32:50 <bliminse> warp itself, warp-tls for HTTPS, and possibly wai-extra for some handlers/middleware
20:32:56 <davean> Where as *none* of most headers is what servant is supposed to represent at the type level.
20:33:00 <koz_> Did it ask you to add the sqlite-0.5.5 line when you tried 'stack build' or something?
20:33:04 <dminuoso> davean: I agree that it has some ergonomics problems, luckily if you're the one providing an API it's a non-issue. :)
20:33:28 × alp quits (~alp@2a01:e0a:58b:4920:7d9f:c45b:a876:4aa8) (Ping timeout: 244 seconds)
20:33:35 <cohn> koz_: yes.
20:33:35 <davean> dminuoso: incorrect?
20:33:44 <untseac> I do want to see a decent game engine in haskell but it seems like no one figured that out yet
20:33:46 <davean> The header things is exactly a case where it doesn't matter - its always a problem
20:33:49 × knupfer quits (~Thunderbi@200116b82c8e3e004d528d974d6e668b.dip.versatel-1u1.de) (Quit: knupfer)
20:33:54 <koz_> Can you remove that line, run 'stack build' again, and pastebin its error message?
20:33:56 <cohn> koz_: now that I think of it, I can probably get away with using sqlite-simple instead
20:33:56 knupfer joins (~Thunderbi@200116b82c8e3e00d4b0380cf8092937.dip.versatel-1u1.de)
20:33:58 <maerwald> untseac: why
20:34:06 <untseac> maerwald, why what?
20:34:07 <koz_> If you _can_, definitely do so.
20:34:11 <dminuoso> davean: What do you want to encode in headers that you can't encode in QueryParams or a ReqBody?
20:34:11 <koz_> sqlite is deprecated.
20:34:17 <maerwald> untseac: why would you want to see it
20:34:17 × knupfer quits (~Thunderbi@200116b82c8e3e00d4b0380cf8092937.dip.versatel-1u1.de) (Client Quit)
20:34:17 <cohn> koz_: lemme try that first.
20:34:21 <davean> dminuoso: You know - like cache controls?
20:34:24 <davean> HTTP semantics
20:34:26 knupfer joins (~Thunderbi@200116b82c8e3e00808f1416e66f4b20.dip.versatel-1u1.de)
20:34:32 <davean> HTTP has semantics, those semantics are controlled by headers often, they are not the client's concern and they don't represent anything on the recieve handling
20:34:55 <davean> They are decisions made about the request by the hander, based on the request, and none something the client observes
20:35:20 <davean> Which makes getting HTTP-correct requests encoded in Servant *very* difficult
20:35:47 <untseac> maerwald, because declarative seems like a good way to make games. imperative is gives too many changes to make mistakes. if everything is functional than there's a good change that it's easy to maintain. but as everybody else I don't know a good way to do it.
20:35:56 × knupfer quits (~Thunderbi@200116b82c8e3e00808f1416e66f4b20.dip.versatel-1u1.de) (Client Quit)
20:36:04 knupfer joins (~Thunderbi@200116b82c8e3e00d959907963760a34.dip.versatel-1u1.de)
20:36:06 <maerwald> I think that's a fallacy, but we'd have to see
20:36:07 <dminuoso> davean: It depends on your problem domain I guess. In mine, I can get away without any caching.
20:36:27 hackage yamlparse-applicative 0.1.0.2 - Declaritive configuration parsing with free docs https://hackage.haskell.org/package/yamlparse-applicative-0.1.0.2 (Norfair)
20:36:31 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
20:36:35 <davean> dminuoso: Right - if you're using HTTP as a dumb transport, but it isn't. Servant's design can't really handle that sanely.
20:36:42 <untseac> perhaps maerwald but no point in not trying
20:36:52 <dminuoso> davean: Im well aware.
20:36:53 <davean> dminuoso: theres a bunch of other semantic HTTP headers
20:37:08 <maerwald> I'd rather use rust for a game engine
20:37:16 × knupfer quits (~Thunderbi@200116b82c8e3e00d959907963760a34.dip.versatel-1u1.de) (Client Quit)
20:37:21 knupfer1 joins (~Thunderbi@200116b82c8e3e0065c803bf9b6001f6.dip.versatel-1u1.de)
20:37:27 <maerwald> haskell seems more like "because I want to", not because it makes terrible sense for an engine
20:37:31 × knupfer1 quits (~Thunderbi@200116b82c8e3e0065c803bf9b6001f6.dip.versatel-1u1.de) (Client Quit)
20:37:39 knupfer joins (~Thunderbi@200116b82c8e3e0045b1d251e43f77de.dip.versatel-1u1.de)
20:37:40 <untseac> so far it seems like it
20:37:58 <davean> maerwald: As an ex-cared-about-game-dev I can think of a few ways in which Haskell is good, or more really functional.
20:38:05 <davean> But its hard to get the other stuff right
20:38:17 <dminuoso> davean: If you grok HTTP well, and understand programming well enough, it's quite insane how people stuff data into an unstructured and inefficient protocol like JSON, and then stuff it into a highly semantic, inefficient and human readable protocol like HTTP...
20:38:23 <maerwald> engines care about performance and predictable memory consumption
20:38:27 <dminuoso> And I must admit, we do it as well
20:38:35 <untseac> real time is hard in haskell. I think anyone figured that out with some time.
20:38:40 <dminuoso> The main reason is just, it's fast to get communication between two agents with servant.
20:38:45 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
20:39:06 <dminuoso> (And in the above, my main beef isnt even HTTP, it's how JSON is an awful serialization format)
20:39:40 <maerwald> I could much rather imagine a DSL-style API around a C engine. But why do the low-level work in Haskell
20:39:43 <dminuoso> What happened to the art of writing a simple wire protocol ontop of TCP..
20:40:06 <untseac> that could be an option maerwald
20:40:16 <cohn> koz_: yep, sqlite-simple installed without a hitch
20:40:19 <cohn> thanks!
20:40:20 × knupfer quits (~Thunderbi@200116b82c8e3e0045b1d251e43f77de.dip.versatel-1u1.de) (Client Quit)
20:40:23 <koz_> cohn: No worries.
20:40:25 <untseac> but there are many games in Java and it's far from the fastest or with predictable memory
20:40:29 knupfer joins (~Thunderbi@200116b82c8e3e00b0c84bfaac702eb0.dip.versatel-1u1.de)
20:40:35 <davean> maerwald: its easier to talk about the data structure changes, which are pretty critical for performance, and the functional style avoids a whole bunch of (very common in games) errors around pipelining.
20:40:36 <untseac> in fact it's really bad at predictable memory
20:40:57 laserpants joins (c59d0021@197.157.0.33)
20:42:08 <untseac> the main problem from what I see in game dev is that everyone thinks imperative by default so there's a lack of interest. Even languages other than C++ took a very long time to be popular in video game development.
20:42:13 <untseac> let alone haskell
20:42:35 <untseac> only now C# and python are popular choices
20:42:47 <davean> C++ took a while too
20:42:58 <davean> C++ use to be a lot harder to write efficiently than it is now
20:43:01 <untseac> yeah it was C before that and assembly before
20:43:31 <davean> I was mostly active in the C-like-C++-but-with-custom-assembly-for-every-CPU era
20:43:36 <untseac> game development cares more about what exists, not what can be done. after all it's a business model to sell fast.
20:43:37 JordiGH joins (jordi@octave/developer/JordiGH)
20:43:47 <dminuoso> davean: At any rate, I fully understand your beef with servant if managing headers is something you actually have to do. I just noticed that myself and some others don't have that need.
20:43:50 <JordiGH> What's the syntax to define several where variables on the same line?
20:44:00 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
20:44:03 motte joins (~weechat@unaffiliated/motte)
20:44:14 <JordiGH> (Haskell's the whitespace thing is an optional the whitespace thing, right?)
20:44:21 <davean> dminuoso: of course. I just wish they would have a sane approach to HTTP given its supposed to be for HTTP ;)
20:44:32 <ski> JordiGH : `... where x = 2; f y = x + y'
20:44:32 <untseac> JordiGH, put another variable bellow
20:44:48 <untseac> or that
20:44:54 <JordiGH> ski: k thanks, let me see.
20:44:57 <laserpants> Is anyone using hdevtools and Syntastic with vim/neovim? I reinstalled my machine and probably missed some step because the checks are not working. The background service is running and hdevtools is in the PATH. Typing :SyntasticInfo in vim also says that it is active.
20:44:57 <JordiGH> untseac: Below?
20:45:11 <ski> they mean, "not on the same line"
20:45:27 <untseac> y
20:46:29 <JordiGH> Alright, this works, let me see if I can figure out how to do this... I want to write a four-point recurrence... two-point is pretty easy with zipWith and tail
20:47:05 <dminuoso> davean: To partially quote monochrom: "Programming is a dialectic class struggle between the author and the user.". On one hand you want to get easy access to headers, and on the other side of the table there's the desire to consider all parameters in a request to be parameters that belong in the declarative description of the API.
20:47:25 <dminuoso> It's a trade off either way
20:47:37 × knupfer quits (~Thunderbi@200116b82c8e3e00b0c84bfaac702eb0.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
20:47:44 × LKoen quits (~LKoen@81.255.219.130) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
20:48:23 <davean> dminuoso: Eh, thats true for some HTTP headers, but I don't think that can be considered true for the semantic ones because they should not be observable on either end
20:48:36 <davean> They are how the infastructure handles the transport
20:50:09 <ski> JordiGH : `as = a0 : a1 : a2 : a3 : [..an0..an1..an2..an3.. | an0:an1:an2:an3:_ <- tails as]' ?
20:50:15 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
20:50:20 <JordiGH> Okay, yeah, I don't have enough for this. I want to compute fib_2*fib_4 - fib_1*fib_3 where fib_1, fib_2, fib_3, and fib_4 are four consecutive fibonacci numbers.
20:51:06 <dminuoso> davean: Id say a web server is not separated from the semantics, it's part of it. For instance, it's your job to produce the correct semantic HTTP status codes.
20:51:08 <JordiGH> ski: Ohhhh, wait, I think I get it.
20:51:28 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
20:51:31 <JordiGH> And I also realise I didn't mean a recurrence. :-/
20:51:33 <davean> dminuoso: But its not even the server - its things like the caches inbetween, etc
20:51:46 <davean> Also, status codes are header-invariant
20:51:54 <JordiGH> I meant... taking four elements at a time from the fibonacci sequence.
20:52:04 <ski> > let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:_ <- tails fibs]om [fib_1*fib_3 - fib_0*fib_2 | fib_0:fib_1:fib_2:fib_3:_ <- fibs]
20:52:07 <lambdabot> <no location info>: error:
20:52:07 <lambdabot> not an expression: ‘let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:...
20:52:14 <ski> > let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:_ <- tails fibs] in [fib_1*fib_3 - fib_0*fib_2 | fib_0:fib_1:fib_2:fib_3:_ <- fibs]
20:52:17 <lambdabot> error:
20:52:17 <lambdabot> • No instance for (Num [Integer])
20:52:17 <lambdabot> arising from a use of ‘e_101010113020123’
20:52:30 <JordiGH> A use of what??
20:52:53 <ski> er, sorry
20:53:07 <ski> > let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:_ <- tails fibs] in [fib_1*fib_3 - fib_0*fib_2 | fib_0:fib_1:fib_2:fib_3:_ <- tails fibs]
20:53:09 <lambdabot> [2,1,7,14,41,103,274,713,1871,4894,12817,33551,87842,229969,602071,1576238,4...
20:53:11 <ski> > let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:_ <- tails fibs] in [fib_1*fib_3 - fib_0*fib_2 | [fib_0,fib_1,fib_2,fib_3] <- chunksOf 4 fibs]
20:53:13 <lambdabot> [2,41,1871,87842,4126649,193864607,9107509826,427859097161,20100270056687,94...
20:53:14 <JordiGH> The ghc error messages never make any sense to me, I've learned to ignore them.
20:53:25 <ski> the latter is "four at a time". the former is "sliding window of four"
20:53:51 <davean> dminuoso: specificly headers vary on the occuring path between the client and server
20:54:02 <davean> So you can't know them without knowing the path
20:54:16 <JordiGH> ski: Huh, thanks, okay... that wasn't the result I expected, though. Let me check my math...
20:54:39 <ski> JordiGH : perhaps i misinterpreted what you wanted, possibly ?
20:55:22 <ski> > tails "abcdefghijklmnop"
20:55:25 <lambdabot> ["abcdefghijklmnop","bcdefghijklmnop","cdefghijklmnop","defghijklmnop","efgh...
20:55:32 <ski> > chunksOf 5 "abcdefghijklmnop"
20:55:35 <lambdabot> ["abcde","fghij","klmno","p"]
20:55:53 <JordiGH> ski: Yeah, wait, you have the right thing, what do I have wrong, hmmm...
20:56:08 × laserpants quits (c59d0021@197.157.0.33) (Remote host closed the connection)
20:58:27 × Tario quits (~Tario@200.119.187.185) (Read error: Connection reset by peer)
20:58:51 Tario joins (~Tario@201.192.165.173)
21:00:01 × dwfreed1 quits (~dwfreed@178.162.204.214) ()
21:01:24 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
21:01:49 <JordiGH> ski: right, I meant fib_0*fib_3 - fib_1*fib_2 whoops
21:02:09 <JordiGH> > let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:_ <- tails fibs] in [fib_0*fib_3 - fib_1*fib_2 | [fib_0,fib_1,fib_2,fib_3] <- chunksOf 4 fibs]
21:02:11 <lambdabot> [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,...
21:02:16 <JordiGH> Yay that worked.
21:02:25 <JordiGH> Except chunking but close enoguh.
21:02:39 × raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Read error: Connection reset by peer)
21:02:52 <ski> ok
21:03:09 <JordiGH> > let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:_ <- tails fibs] in [fib_0*fib_3 - fib_1*fib_2 | [fib_0,fib_1,fib_2,fib_3] <- tails fibs]
21:03:15 <lambdabot> mueval-core: Time limit exceeded
21:03:23 raehik joins (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
21:03:43 × hekkaidekapus{ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
21:04:59 <JordiGH> > let fibs = 0 : 1 : [fib_n0 + fib_n1 | fib_n0:fib_n1:_ <- tails fibs] in [fib_0*fib_3 - fib_1*fib_2 | fib_0:fib_1:fib_2:fib_3:_ <- tails fibs]
21:05:04 <lambdabot> [-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,...
21:05:07 <JordiGH> w00t
21:05:19 <JordiGH> ski: thank you so much!
21:05:40 <JordiGH> But that took a while to compute, is this doing the dumb exponential recursive thing?
21:06:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:06:27 × ggole quits (~ggole@2001:8003:8119:7200:7085:2b43:4bf6:e2e3) (Quit: Leaving)
21:06:37 <ski> no
21:08:47 <JordiGH> Hm, how do I make ghci remember readline history across sessions?
21:11:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
21:11:47 <dminuoso> Doesn't ghci do this out of the box already?
21:12:01 _xor joins (~xor@74.215.46.133)
21:12:10 <JordiGH> Oh, it does, my bad, sorry.
21:14:19 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
21:14:22 kelanu joins (~kelanu@2600:1700:9750:cf20:84af:84e5:5767:cbf0)
21:14:44 <koz_> Does anyone know if snap-core's Params type handles percent encoding for you, or whether you have to do it yourself?
21:14:52 shatriff joins (~vitaliish@176.52.219.10)
21:14:58 <koz_> I _think_ the answer is 'you have to do it yourself', but I'd like to be sure.
21:15:41 <kelanu> I noticed that Google Colab said it supports the IHaskell kernel, which got me pretty excited. But I can't find any documentation for this, any ideas? I fonud a StackOverflow but it was removed.
21:15:47 thir joins (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de)
21:17:56 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
21:19:58 × thir quits (~thir@p200300f27f02580060eb7dde324e54c8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
21:21:49 CrystalNice joins (~CrystalNi@s91904426.blix.com)
21:23:47 × p-core quits (~Thunderbi@2a0e:1c80:4:1022::1004) (Ping timeout: 260 seconds)
21:27:07 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
21:27:23 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
21:27:23 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
21:27:23 GyroW joins (~GyroW@unaffiliated/gyrow)
21:28:51 kelanu_ joins (~kelanu@2600:1700:9750:cf20:84af:84e5:5767:cbf0)
21:29:02 × kelanu quits (~kelanu@2600:1700:9750:cf20:84af:84e5:5767:cbf0) (Ping timeout: 260 seconds)
21:29:10 renzhi joins (~renzhi@modemcable070.17-177-173.mc.videotron.ca)
21:30:12 jneira joins (501e64fa@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.250)
21:30:39 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
21:40:23 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
21:40:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:42:47 × cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Ping timeout: 260 seconds)
21:43:55 × sfvm quits (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine)
21:52:11 × GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
21:52:23 GyroW joins (~GyroW@d54c03e98.access.telenet.be)
21:52:23 × GyroW quits (~GyroW@d54c03e98.access.telenet.be) (Changing host)
21:52:23 GyroW joins (~GyroW@unaffiliated/gyrow)
21:55:31 × _xor quits (~xor@74.215.46.133) (Quit: brb)
21:56:07 _xor joins (~xor@74.215.46.133)
21:57:48 × oleks quits (~oleks@188.166.34.97) (Quit: leaving)
21:58:19 oleks joins (~oleks@188.166.34.97)
21:58:34 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
22:02:51 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
22:05:07 Rudd0 joins (~Rudd0@185.189.115.103)
22:05:17 polyrain joins (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434)
22:08:20 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
22:08:50 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:09:09 <dminuoso> I have the desire to write some `f :: proxy (s :: Symbol) -> T (TyFam s)`, but the ergonomics looks annoying. Is there something that lets me write `f "foo"` rather than `f (Proxy @"foo")`?
22:09:50 <dminuoso> Maybe through some extension?
22:10:59 × dhouthoo quits (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9)
22:11:20 <newhoggy> Axman6: Did you send me a message? I think can't find it anymore.
22:13:20 <dminuoso> Mmm. I think OverloadedLabels is what Im after..
22:14:55 <dolio> Oh, I wasn't aware of that.
22:15:32 × ambiso quits (~ambiso@209.182.239.205) (Quit: Ping timeout (120 seconds))
22:15:40 ambiso9 joins (~ambiso@209.182.239.205)
22:15:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
22:16:32 <dolio> So that lets you write `f ?field`?
22:16:46 <dminuoso> f #field
22:16:47 × oisdk quits (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080) (Quit: oisdk)
22:17:05 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
22:17:16 <dminuoso> not sure how to deal with spaces or special characters
22:17:24 GyroW joins (~GyroW@d54C03E98.access.telenet.be)
22:17:24 × GyroW quits (~GyroW@d54C03E98.access.telenet.be) (Changing host)
22:17:24 GyroW joins (~GyroW@unaffiliated/gyrow)
22:17:27 hackage little-rio 0.2.2 - When you need just the RIO monad https://hackage.haskell.org/package/little-rio-0.2.2 (ejconlon)
22:17:38 <dolio> Oh yeah, I was reading the 'digression'.
22:17:46 <dminuoso> Perhaps parens could be used?
22:18:01 <dminuoso> % instance IsLabel "x y" Int where fromLabel = 42
22:18:01 <yahb> dminuoso:
22:18:08 <dminuoso> % (#x y)
22:18:09 <yahb> dminuoso: ; <interactive>:114:6: error: parse error on input `)'
22:18:11 <dminuoso> Mmm
22:18:21 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 244 seconds)
22:19:42 <dminuoso> Yeah, this is going to be a tough one. At the very least I need hyphens to be there.
22:20:57 <dminuoso> Perhaps this is the point where replacing the Proxy with forall + TypeApplications is sensible
22:21:07 <dminuoso> Then I could just say `f @"foo-bar" ...`
22:21:21 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
22:21:24 snakemas1 joins (~snakemast@213.100.206.23)
22:21:27 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
22:21:53 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
22:22:18 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
22:23:22 × mdunnio quits (~mdunnio@208.59.170.5) (Remote host closed the connection)
22:25:24 is_null joins (~jpic@pdpc/supporter/professional/is-null)
22:26:01 × snakemas1 quits (~snakemast@213.100.206.23) (Ping timeout: 246 seconds)
22:26:08 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
22:26:20 conal joins (~conal@64.71.133.70)
22:27:40 nados joins (~dan@107-190-41-58.cpe.teksavvy.com)
22:30:54 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 256 seconds)
22:32:54 hekkaidekapus} is now known as hekkaidekapus
22:35:23 <hekkaidekapus> <circa 20:30 UTC> dminuoso In particular, Im trying to understand how instance methods of classes with superclass constraints are type checked.
22:35:43 <hekkaidekapus> dminuoso: I don’t have a quotation from the report/manual, but there is <https://www.microsoft.com/en-us/research/publication/type-inference-as-constraint-solving-how-ghcs-type-inference-engine-actually-works>.
22:36:08 Habib parts (~Habib@178.239.161.88) ()
22:36:25 <hekkaidekapus> I managed to dig out the slides if you are not into videos: <https://drive.google.com/file/d/1NRkP0hz-0Yo49Rto70b2nUwxjPiGD9Ci/view>.
22:37:06 <hekkaidekapus> In short, you might be interested in constraint generation and the solving after that.
22:37:09 <dminuoso> hekkaidekapus: Ah I dived into parts of that video a while ago, sadly it was cut off right in the interesting part I cared about.
22:37:31 zaquest joins (~notzaques@5.128.210.178)
22:37:57 <dminuoso> Thanks for the slides, this is really helpful for other reasons already. :)
22:38:00 <hekkaidekapus> hmm… Did not check if the video is whole, but the slides are good.
22:38:22 × nados quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
22:38:25 × renzhi quits (~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 240 seconds)
22:38:28 ensyde joins (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253)
22:38:44 <hekkaidekapus> Enjoy!
22:38:46 nados joins (~dan@107-190-41-58.cpe.teksavvy.com)
22:39:13 <dminuoso> Ill give the video a look from the beginning
22:40:52 <hekkaidekapus> Yeah, better so rewatch to refresh your mind. There is also commentary pages on the ghc/wiki, there you can dive deeper into specific parts.
22:41:16 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
22:41:24 <hekkaidekapus> (Which will eventually lead you into Notes.)
22:42:15 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
22:45:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:48:22 dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net)
22:50:55 oisdk joins (~oisdk@2001:bb6:3329:d100:7c51:293a:6844:5080)
22:51:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
22:52:25 × bliminse quits (~bliminse@host217-42-95-37.range217-42.btcentralplus.com) (Quit: leaving)
22:53:14 × chaosmasttter quits (~chaosmast@p200300c4a72cce01992392edfb5baa55.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
22:54:28 × kelanu_ quits (~kelanu@2600:1700:9750:cf20:84af:84e5:5767:cbf0) (Quit: Konversation terminated!)
22:55:25 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
22:56:23 sfvm joins (~sfvm@37.228.215.148)
23:03:50 mdunnio joins (~mdunnio@208.59.170.5)
23:06:10 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:06:27 × polyrain quits (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:07:16 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025)
23:08:36 wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:08:43 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 246 seconds)
23:08:50 × untseac quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving)
23:08:56 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
23:09:04 polyrain joins (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434)
23:10:08 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:12:11 <Axman6> newhoggy: "If you haven't seen it, you might enjoy https://liuliu.me/eyes/loading-csv-file-at-the-speed-limit-of-the-nvme-storage/"
23:12:44 <newhoggy> Thanks!
23:12:45 × ensyde quits (~ensyde@2600:1702:2e30:1a40:f09c:a012:516e:b253) (Quit: WeeChat 2.9)
23:13:47 jedws joins (~jedws@121.209.161.98)
23:14:05 × wroathe_ quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
23:14:28 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:14:35 da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com)
23:16:45 × Jeanne-Kamikaze quits (~Jeanne-Ka@68.235.43.110) (Ping timeout: 240 seconds)
23:16:45 × da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Client Quit)
23:18:38 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
23:20:10 × z0 quits (~z0@bl15-161-239.dsl.telepac.pt) (Quit: Lost terminal)
23:20:23 da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com)
23:21:29 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ)
23:21:37 × da39a3ee5e6b4b0d quits (~textual@n11211935170.netvigator.com) (Client Quit)
23:21:54 xerox_ joins (~xerox@unaffiliated/xerox)
23:24:56 × falafel quits (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc) (Remote host closed the connection)
23:25:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:25:28 falafel joins (~falafel@2605:e000:1527:d491:1ccf:5c8d:7928:e9cc)
23:25:31 × ericsagnes quits (~ericsagne@2405:6580:0:5100:5cf1:c22d:8d13:ca36) (Ping timeout: 244 seconds)
23:26:39 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
23:27:01 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
23:29:50 × dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 272 seconds)
23:30:47 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
23:31:30 <dminuoso> hekkaidekapus: Alright, the video didn't give me too many insights, and it was rather focused on the implementation of the constraint solver.
23:31:37 <dminuoso> But it was a good refresher nevertheless.
23:32:48 × nbloomf quits (~nbloomf@2600:1700:83e0:1f40:cbf:8681:88ff:8025) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:34:22 <hekkaidekapus> Right. It’s only a video after all. :)
23:34:48 <hekkaidekapus> dminuoso: Are you familiar with OutsideIn(X)?
23:34:49 × danvet_ quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 244 seconds)
23:35:05 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
23:35:17 × pera quits (~pera@unaffiliated/pera) (Quit: leaving)
23:35:34 × darjeeli1 quits (~darjeelin@122.245.210.138) (Ping timeout: 256 seconds)
23:38:14 darjeeli1 joins (~darjeelin@122.245.210.138)
23:38:28 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:38:29 <dminuoso> No, but Im looking at the paper right now
23:38:33 ericsagnes joins (~ericsagne@2405:6580:0:5100:fd7f:2256:81b3:b295)
23:41:13 <hekkaidekapus> Okay. It is substantial and will be a long step further the Zurihac talk. I am not sure the current implementation is following it closely, still, but the exposition is really thorough.
23:41:28 × m0rphism quits (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds)
23:42:08 conal joins (~conal@64.71.133.70)
23:42:50 renzhi joins (~renzhi@modemcable070.17-177-173.mc.videotron.ca)
23:43:12 m1000 joins (~Boss@2a02:8108:96bf:b068:9dab:a091:4eab:df71)
23:44:01 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds)
23:45:54 polyrain_ joins (~polyrain@2001:8003:e501:6901:39c5:19e3:cc60:4fe5)
23:47:55 × polyrain quits (~polyrain@2001:8003:e501:6901:6879:a475:4735:6434) (Ping timeout: 240 seconds)
23:48:35 macrover joins (~macrover@ip70-189-231-35.lv.lv.cox.net)
23:49:21 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
23:49:53 <Axman6> newhoggy: I'd be interested to hear if you find anything you could use in hw-dsv in there
23:51:20 <newhoggy> Yep. I had a skim and would like to look into it in more detail later.
23:51:23 m1000 parts (~Boss@2a02:8108:96bf:b068:9dab:a091:4eab:df71) ()
23:51:45 <gentauro> .NET also have number separators like -> https://twitter.com/denicmarko/status/1314198060117884928
23:51:54 <gentauro> will it ever come to Haskell for better readability?
23:52:15 <Axman6> GHC already has that
23:52:40 <gentauro> Axman6: `Use NumericUnderscores to allow underscores in integer literals` :o
23:52:44 <gentauro> I didn't knew that
23:52:48 <Axman6> yes
23:53:21 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
23:53:31 <Axman6> not sure if Ada came up with that, but it's one of the features of Ada I always liked. great for binary literals: 0b1101_0101_1100_1010
23:53:32 <gentauro> I like it !!!
23:53:56 <gentauro> Axman6: `great for binary literals: 0b1101_0101_1100_1010` exactly
23:54:01 st8less joins (~st8less@2603:a060:11fd:0:9c66:9b18:c21:60c)
23:54:08 <no-n> it's in perl and C# too
23:54:10 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
23:54:10 <gentauro> but also big numbers: 42_000_000_000
23:54:34 <Axman6> except when you confuse people by doing 42_000_000_0000 =)
23:54:39 <newhoggy> Axman6: One of the design choices I made was to load the CVS via a lazy ByteString. I suspect there is a performance penalty for doing that and the method is not easily parrallelisable. There is an option to `mmap` to increase parallelism but in this case there is the down side the process will clock up a lot of memory usage which may not be suitable for some kinds of jobs.
23:55:28 <Axman6> do you know if the chunks of the lazy bytestring are mmapped?
23:55:34 <hekkaidekapus> dminuoso: “We do not discuss overlapping instances, implicit parameters, superclasses, or functional dependencies, although our implementation deals with all of these.” — (Emphasis is mine) Hmm… The paper may not be what you want if the implementation has changed in recent years. I would love to continue the digging, alas bed is calling. See you later.
23:55:51 <gentauro> 01:54 < Axman6> except when you confuse people by doing 42_000_000_0000 =)
23:55:56 <newhoggy> The kinds of jobs I'm thinking of are those that run in typical memory constrained VMs in where virtual memory is usually turned off (like in AWS)
23:56:04 <gentauro> people doing that should loose at least a finger :)
23:56:12 <int-e> Yeah with {-# LANGUAGE BinaryLiterals, NumericUnderscores #-} you can have 0b1000_000 or maybe 0b_1000_0000
23:56:28 <Axman6> sine it is mmapped the memory usage isn't real memory usage right? the OS can page them out if needed since it's loaded read only
23:56:56 <justsomeguy> gentauro: Seems like an easy typo to make. Maybe it should be checked by the compiler.
23:57:21 <newhoggy> Swap gets turned off a lot on AWS because of the higher latency to disk of most machine types.
23:57:22 <int-e> (Hmm, the first one came out short :) )
23:57:28 <Axman6> newhoggy: I would be surprised if you can't mmap a huge file read only even if there isn't enough ram
23:58:45 <newhoggy> I haven't tested it, but you may be right in that an mmapped file will function as expected even if swap is disabled.
23:59:31 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)

All times are in UTC on 2020-10-12.