2020-12-22 00:02:08 +0100 | <Feuermagier> | monochrom, so mix xss = map average . transpose (transpose xss [0..]) ? |
2020-12-22 00:02:20 +0100 | <ski> | that's a type error |
2020-12-22 00:02:42 +0100 | <Feuermagier> | ski, mind showing me the correct one? |
2020-12-22 00:03:07 +0100 | <ski> | i guess they wanted `length that', not `maximum (map length that)' ? |
2020-12-22 00:03:32 +0100 | <monochrom> | > maximum (map length [[x,y], [a,b,c,d,e,f,g,h,i,j]]) |
2020-12-22 00:03:34 +0100 | <lambdabot> | 10 |
2020-12-22 00:03:39 +0100 | <ski> | yes |
2020-12-22 00:03:49 +0100 | <ski> | > transpose [[x,y],[a,b,c,d,e,f,g,h,i,j]] |
2020-12-22 00:03:51 +0100 | <lambdabot> | [[x,a],[y,b],[c],[d],[e],[f],[g],[h],[i],[j]] |
2020-12-22 00:03:54 +0100 | <ski> | seems `n' should be `2', here ? |
2020-12-22 00:03:58 +0100 | <Feuermagier> | ski, so in our example? |
2020-12-22 00:04:10 +0100 | <monochrom> | Oh, I see, right, n = length that. |
2020-12-22 00:04:33 +0100 | <ski> | Feuermagier : do you understand ? |
2020-12-22 00:04:43 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Quit: ChaiTRex) |
2020-12-22 00:04:44 +0100 | <Feuermagier> | no |
2020-12-22 00:04:52 +0100 | <Feuermagier> | like, i just want to fill with 0 |
2020-12-22 00:05:09 +0100 | <Feuermagier> | so i can use it on varying length |
2020-12-22 00:05:22 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-12-22 00:05:51 +0100 | <ski> | > (map (\xs -> sum xs / 2) . transpose) [[x,y],[a,b,c,d]] :: [Expr] |
2020-12-22 00:05:53 +0100 | <lambdabot> | [(0 + x + a) / 2,(0 + y + b) / 2,(0 + c) / 2,(0 + d) / 2] |
2020-12-22 00:06:02 +0100 | gioyik | (~gioyik@186.112.104.164) (Quit: WeeChat 3.0) |
2020-12-22 00:06:15 +0100 | <ski> | Feuermagier : ^ looks ok ? |
2020-12-22 00:06:21 +0100 | <Feuermagier> | yes |
2020-12-22 00:06:26 +0100 | fendor | (~fendor@77.119.131.23.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-22 00:08:15 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 272 seconds) |
2020-12-22 00:08:29 +0100 | hackage | brick 0.58 - A declarative terminal user interface library https://hackage.haskell.org/package/brick-0.58 (JonathanDaugherty) |
2020-12-22 00:09:05 +0100 | Madars | (~null@unaffiliated/madars) (Quit: WeeChat 1.9.1) |
2020-12-22 00:09:15 +0100 | <ski> | > (map (\xs -> foldl1' (+) xs / 3) . transpose) [[x,y],[a,b,c,d],[i,j,k]] :: [Expr] |
2020-12-22 00:09:17 +0100 | <lambdabot> | [(x + a + i) / 3,(y + b + j) / 3,(c + k) / 3,d / 3] |
2020-12-22 00:10:19 +0100 | <hseg> | correct me if i'm wrong, but an expression like length [(t, f * dsOccs m t) | n <- [0 .. m], (t, f) <- terms n (fromFreqs l)] < 35 will only compute the first 35 elements of the list, correct? |
2020-12-22 00:10:39 +0100 | <hseg> | even if this is buried under several layers of function calls |
2020-12-22 00:10:59 +0100 | <glguy> | hseg: that would be wrong |
2020-12-22 00:11:00 +0100 | <ski> | nope |
2020-12-22 00:11:07 +0100 | <monochrom> | > length [0..] < 3 |
2020-12-22 00:11:13 +0100 | <lambdabot> | mueval-core: Time limit exceeded |
2020-12-22 00:11:17 +0100 | <hseg> | :-( |
2020-12-22 00:11:22 +0100 | <fuzzypixelz> | can I have mutliline function composition? |
2020-12-22 00:11:23 +0100 | <glguy> | monochrom: there's no space in <3 :nod: |
2020-12-22 00:11:35 +0100 | <ski> | try `drop 34' ? |
2020-12-22 00:11:40 +0100 | <monochrom> | Oh! I'll fix it |
2020-12-22 00:11:42 +0100 | <monochrom> | > length [0..] <3 |
2020-12-22 00:11:49 +0100 | <lambdabot> | mueval-core: Time limit exceeded |
2020-12-22 00:11:55 +0100 | <glguy> | length is love |
2020-12-22 00:11:58 +0100 | <hseg> | > null (drop 34 [0..]) |
2020-12-22 00:12:00 +0100 | <lambdabot> | False |
2020-12-22 00:12:27 +0100 | <hseg> | ok, so should replace my "avoid large testcase" code with that |
2020-12-22 00:12:28 +0100 | <glguy> | hseg: in your caes of being interested in lengths < 35, : length (take 35 xs) < 35 |
2020-12-22 00:12:51 +0100 | <ski> | > genericLength [0 ..] < (35 :: Natural) |
2020-12-22 00:12:53 +0100 | <lambdabot> | False |
2020-12-22 00:12:53 +0100 | <Feuermagier> | thx. i get it now |
2020-12-22 00:12:59 +0100 | <monochrom> | You should instead code up a non-partial version of (!) and then ask whether xs!34 gives you Just or Nothing. |
2020-12-22 00:13:02 +0100 | <glguy> | (or the drop thing, etc) |
2020-12-22 00:13:23 +0100 | <monochrom> | Err nevermind, drop and null are better. |
2020-12-22 00:13:32 +0100 | <hseg> | hrm. why does genericLength work here? |
2020-12-22 00:13:52 +0100 | <ski> | because `Natural' has `<' working as you hoped |
2020-12-22 00:13:55 +0100 | <monochrom> | genericLength uses non-tail recursion, length uses tail recursion. |
2020-12-22 00:14:00 +0100 | <glguy> | because generic length is written inefficiently specifically to support this one case |
2020-12-22 00:14:02 +0100 | <monochrom> | Clearly, non-tail recursion is better. |
2020-12-22 00:14:56 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 00:15:01 +0100 | <monochrom> | genericLength (x:xs) = 1 + genericLength xs. And then, (+) for Natural is lazy in its 2nd operand. |
2020-12-22 00:15:18 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 00:15:22 +0100 | <monochrom> | (Natural is a lazy ADT that does unary representation.) |
2020-12-22 00:15:42 +0100 | <ski> | fuzzypixelz : yes |
2020-12-22 00:15:51 +0100 | <monochrom> | I would call it too-cute-to-be-clear and use drop and null instead. |
2020-12-22 00:15:51 +0100 | <ski> | Feuermagier : good |
2020-12-22 00:16:01 +0100 | <hseg> | k |
2020-12-22 00:17:18 +0100 | <hseg> | hrm. am using this sample size as a way of getting quickcheck to avoid getting bogged down on the heavy cases, but obviously this skews the data |
2020-12-22 00:17:19 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-22 00:17:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-12-22 00:18:00 +0100 | <hseg> | would much rather just set a non-fatal timeout and classify inputs by size and proportion that passed/timed out |
2020-12-22 00:18:25 +0100 | <hseg> | especially since this test is giving me ~50% discard rates |
2020-12-22 00:20:49 +0100 | <monochrom> | I don't know QuickCheck, but I would maybe surrender and handcode my own probability distribution that gives very low probabilities to large sizes. |
2020-12-22 00:20:59 +0100 | dani- | (sid341953@gateway/web/irccloud.com/x-etuikjdqhtlxnikg) (Ping timeout: 244 seconds) |
2020-12-22 00:21:15 +0100 | graingert | (sid128301@gateway/web/irccloud.com/x-bjuycxdqgmhotamy) (Ping timeout: 246 seconds) |
2020-12-22 00:21:26 +0100 | kristjansson | (sid126207@gateway/web/irccloud.com/x-zemoiiyajxcgmkny) (Ping timeout: 258 seconds) |
2020-12-22 00:21:31 +0100 | kyagrd__ | (sid102627@gateway/web/irccloud.com/x-rqbpporrihbcpahe) (Ping timeout: 268 seconds) |
2020-12-22 00:21:38 +0100 | jackdk | (sid373013@gateway/web/irccloud.com/x-arnfpemfesqxinsb) (Ping timeout: 260 seconds) |
2020-12-22 00:21:38 +0100 | hazard-pointer | (sid331723@gateway/web/irccloud.com/x-xwxkfcgpqygcxmpg) (Ping timeout: 264 seconds) |
2020-12-22 00:21:38 +0100 | rslima_____ | (sid26145@gateway/web/irccloud.com/x-ulbqzbetuoeoivoe) (Ping timeout: 264 seconds) |
2020-12-22 00:21:39 +0100 | kozowu | (uid44796@gateway/web/irccloud.com/x-ehcrldadbfrqmeyx) (Ping timeout: 260 seconds) |
2020-12-22 00:22:03 +0100 | <monochrom> | Last year I learned random generation of trees the hard and dumb way. |
2020-12-22 00:22:14 +0100 | ocharles | (sid30093@musicbrainz/user/ocharles) (Ping timeout: 264 seconds) |
2020-12-22 00:22:14 +0100 | <hseg> | oh? |
2020-12-22 00:22:35 +0100 | m-renaud | (sid333785@gateway/web/irccloud.com/x-bvdukrsbucqgcnqd) (Ping timeout: 258 seconds) |
2020-12-22 00:22:37 +0100 | <monochrom> | I went "with probability 0.5, have no children; with the other 0.5, have 2 children" |
2020-12-22 00:22:39 +0100 | agander_m | (sid407952@gateway/web/irccloud.com/x-ctyuuwytdqmcprct) (Ping timeout: 246 seconds) |
2020-12-22 00:22:45 +0100 | ghuntley | (sid16877@gateway/web/irccloud.com/x-bidlwzbzmecvbxqt) (Ping timeout: 268 seconds) |
2020-12-22 00:22:48 +0100 | typetetris | (sid275937@gateway/web/irccloud.com/x-msdsoshziggpwxpy) (Ping timeout: 260 seconds) |
2020-12-22 00:22:50 +0100 | glowcoil | (sid3405@gateway/web/irccloud.com/x-lqqmqvcnwcqvjpmg) (Ping timeout: 264 seconds) |
2020-12-22 00:22:50 +0100 | srhb | (sid400352@NixOS/user/srhb) (Ping timeout: 264 seconds) |
2020-12-22 00:22:50 +0100 | Kamuela | (sid111576@gateway/web/irccloud.com/x-bphhyywmrokmqdlb) (Ping timeout: 264 seconds) |
2020-12-22 00:23:07 +0100 | milessabin | (sid86799@gateway/web/irccloud.com/x-movwswjvobpojuzc) (Ping timeout: 260 seconds) |
2020-12-22 00:23:07 +0100 | taktoa[c] | (sid282096@gateway/web/irccloud.com/x-lvdaposrlneldkme) (Ping timeout: 260 seconds) |
2020-12-22 00:23:08 +0100 | <monochrom> | So my program took forever because it's generated a neverending tree. |
2020-12-22 00:23:23 +0100 | J_Arcane | (sid119274@gateway/web/irccloud.com/x-efprusjudjcoflyt) (Ping timeout: 260 seconds) |
2020-12-22 00:23:41 +0100 | <monochrom> | I talked about it here and someone pointed out the very obvious makes-me-bang-head-at-wall-why-didn't-I-see-it-it's-so-obvious: |
2020-12-22 00:24:13 +0100 | <monochrom> | So every node has 1 child on average. This is not going to end. |
2020-12-22 00:24:30 +0100 | <hseg> | oh. oops |
2020-12-22 00:24:49 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds) |
2020-12-22 00:25:07 +0100 | <monochrom> | The irony is I taught expected values to students, in terms of average case running time. |
2020-12-22 00:26:09 +0100 | <hseg> | heh |
2020-12-22 00:26:10 +0100 | <fuzzypixelz> | ski: but how? |
2020-12-22 00:26:21 +0100 | <hseg> | so how *do* you gen random trees? |
2020-12-22 00:26:22 +0100 | <monochrom> | Anyway, it motivated me to read a couple of papers on randomly generating trees with a target size, and recalling my knowledge of generating polynomials, combinatorics, etc. |
2020-12-22 00:27:46 +0100 | <monochrom> | OK, so you can still go: "after generated a node, when deciding whether it is leaf or internal: with probability p, it's a leaf; with probability 1-p, it's internal, has two children" recursively. |
2020-12-22 00:28:11 +0100 | <monochrom> | But just be careful with p and 1-p. There is even a formula for them if you have a desired global size in mind. |
2020-12-22 00:28:21 +0100 | <hseg> | and then you pick p so the expected tree size is correct? |
2020-12-22 00:28:26 +0100 | <monochrom> | Yeah. |
2020-12-22 00:29:30 +0100 | <monochrom> | I don't have the formula. But I can point you to the paper. Alternatively, don't worry about it, just try some sensible values, check that the expected value is reasonable. |
2020-12-22 00:30:05 +0100 | <hseg> | hrm... so E[size]=(1-p)E[size]^2 at fixed point, so you'd want 1-p=1/target ? |
2020-12-22 00:30:35 +0100 | <monochrom> | "Boltzmann samplers for the random generation of combinatorial structures" |
2020-12-22 00:30:47 +0100 | sandy-claws | (jess@freenode/staff/jess) |
2020-12-22 00:31:01 +0100 | <ski> | fuzzypixelz : just indent enough. i prefer leading following lines with `.' |
2020-12-22 00:31:33 +0100 | <hseg> | ty |
2020-12-22 00:31:37 +0100 | <monochrom> | Yeah I think that's it. |
2020-12-22 00:32:31 +0100 | <hseg> | back to my quickcheck code, just noticed i can potentially replace a case filter by correct-by-construction generation |
2020-12-22 00:33:01 +0100 | <ski> | or one can used `sized' to cut-off depth (or number of nodes) |
2020-12-22 00:33:11 +0100 | <ski> | @type sized |
2020-12-22 00:33:12 +0100 | <lambdabot> | (Int -> Gen a) -> Gen a |
2020-12-22 00:33:13 +0100 | <hseg> | except i need to convert a function :: RandomGen g => Int -> g -> (t,g) to Int -> Gen t |
2020-12-22 00:33:43 +0100 | <hseg> | and these Ints differ (the function accepts target size, I want to accept max size) |
2020-12-22 00:34:05 +0100 | <hseg> | the latter can be dealt with. how do i do the former? |
2020-12-22 00:34:23 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 00:39:25 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 00:40:10 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:7482:9511:22c:1523) |
2020-12-22 00:40:13 +0100 | fresheyeball | (~isaac@ec2-35-155-97-88.us-west-2.compute.amazonaws.com) (Ping timeout: 258 seconds) |
2020-12-22 00:40:18 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 00:42:14 +0100 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2020-12-22 00:42:40 +0100 | <hseg> | ok, can just explicitly construct it with MkGen and drop the new seed |
2020-12-22 00:43:48 +0100 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2020-12-22 00:44:14 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 00:45:28 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-090-186-057-171.090.186.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2020-12-22 00:45:45 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-090-186-057-171.090.186.pools.vodafone-ip.de) |
2020-12-22 00:46:00 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2570:8bc6:6048:3a26) (Remote host closed the connection) |
2020-12-22 00:47:02 +0100 | kam1 | (~kam1@24.231.108.143) (Read error: Connection reset by peer) |
2020-12-22 00:47:20 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 00:47:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 00:47:34 +0100 | borne | (~fritjof@200116b864861500c0a3d285e8e687f4.dip.versatel-1u1.de) |
2020-12-22 00:48:16 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 240 seconds) |
2020-12-22 00:51:17 +0100 | <__monty__> | > case Data.Map.singleton 1 of Data.Map.empty -> True; _ -> False |
2020-12-22 00:51:20 +0100 | <lambdabot> | error: |
2020-12-22 00:51:20 +0100 | <lambdabot> | Qualified name in binding position: Data.Map.empty |
2020-12-22 00:51:33 +0100 | <__monty__> | Can't pattern match on an empty Map? |
2020-12-22 00:51:59 +0100 | al3x27 | (~plovs@85.254.75.83) (Ping timeout: 260 seconds) |
2020-12-22 00:52:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-22 00:55:19 +0100 | <ski> | __monty__ : you could define a pattern synonym .. |
2020-12-22 00:55:29 +0100 | <__monty__> | internal library |
2020-12-22 00:55:46 +0100 | <__monty__> | Woops. |
2020-12-22 00:55:47 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2570:8bc6:6048:3a26) |
2020-12-22 00:56:17 +0100 | <__monty__> | ski: I should look into that. In this case I'm fine with | M.null map though. |
2020-12-22 00:56:43 +0100 | <ski> | what're you doing, in case of non-empty ? |
2020-12-22 00:57:15 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Remote host closed the connection) |
2020-12-22 00:58:01 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2020-12-22 00:59:38 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2020-12-22 01:00:14 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2570:8bc6:6048:3a26) (Remote host closed the connection) |
2020-12-22 01:00:21 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2570:8bc6:6048:3a26) |
2020-12-22 01:01:59 +0100 | <fuzzypixelz> | I I want to map elem on a list of elements and lists, how can I do that? |
2020-12-22 01:02:16 +0100 | <fuzzypixelz> | elem (1, [1, 2, 3]) doesn't work for example |
2020-12-22 01:02:29 +0100 | <fuzzypixelz> | so I can't map elem on a list of tuples |
2020-12-22 01:04:41 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Ping timeout: 268 seconds) |
2020-12-22 01:04:49 +0100 | <fuzzypixelz> | here's what I did: elem' (e, l) = elem e l |
2020-12-22 01:04:55 +0100 | <fuzzypixelz> | and just used elem1 |
2020-12-22 01:08:14 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Ping timeout: 256 seconds) |
2020-12-22 01:08:58 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 258 seconds) |
2020-12-22 01:11:42 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2570:8bc6:6048:3a26) (Remote host closed the connection) |
2020-12-22 01:12:38 +0100 | Genome | (~genome@cpc153687-nrwh14-2-0-cust19.4-4.cable.virginm.net) (Quit: Leaving) |
2020-12-22 01:13:14 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds) |
2020-12-22 01:14:06 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
2020-12-22 01:15:34 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
2020-12-22 01:15:38 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-22 01:18:22 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) |
2020-12-22 01:21:54 +0100 | Entertainment | (~entertain@104.246.132.210) (Ping timeout: 265 seconds) |
2020-12-22 01:22:53 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-12-22 01:24:45 +0100 | <hseg> | any way to optimize this? http://ix.io/2J4J ds and terms are heavy functions that i don't think i can optimize much |
2020-12-22 01:25:04 +0100 | <hseg> | (restricted by combinatorial explosion) |
2020-12-22 01:25:39 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 01:26:50 +0100 | <hseg> | especially should be able to share one (ds m) call over the entire needle call |
2020-12-22 01:28:53 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
2020-12-22 01:29:48 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2020-12-22 01:31:27 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
2020-12-22 01:31:34 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2570:8bc6:6048:3a26) |
2020-12-22 01:32:09 +0100 | <hseg> | oh wait. ds m :: [(a,Int)] is injective, so can replace the sum by a lookup |
2020-12-22 01:32:53 +0100 | <hseg> | still needs a shared ds call though |
2020-12-22 01:33:14 +0100 | hiroaki | (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2020-12-22 01:35:17 +0100 | shenyi | (uid216035@gateway/web/irccloud.com/x-uvfrbzkrqfbnyxjp) (Quit: Connection closed for inactivity) |
2020-12-22 01:35:31 +0100 | irc_user | (uid423822@gateway/web/irccloud.com/x-zpqgavcurwhmhgkg) |
2020-12-22 01:37:57 +0100 | <monochrom> | needle m l = let dsm = ds m in [(t, f * occs t dsm) | ...] |
2020-12-22 01:38:09 +0100 | <monochrom> | occs t dsm = sum . map snd $ filter ((== t) . fst) dsm |
2020-12-22 01:40:41 +0100 | <hseg> | sure, though as i realized 5m ago, can replace the sum . filter by just fromMaybe 0 . lookup |
2020-12-22 01:41:19 +0100 | <hseg> | and am not seeing *that* drastic of an improvement by floating the (ds m) call out, for some reason |
2020-12-22 01:41:57 +0100 | <hseg> | ... indeed, am doing a poor man's inner join of maps on lists |
2020-12-22 01:42:04 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 01:45:54 +0100 | <hseg> | so should rather refactor ds, terms into Map [Int] Int and replace needle by unionsWith (+) ([0..m] <&> intersectionWith (*) (ds m) . (`terms` l)) |
2020-12-22 01:46:03 +0100 | <dsal> | fuzzypixelz: the tuple is possibly confusing you. |
2020-12-22 01:46:14 +0100 | <xsperry> | fuzzypixelz, what's your input and desired output? |
2020-12-22 01:46:15 +0100 | <dsal> | It's not clear what you mean by "map elem" |
2020-12-22 01:46:25 +0100 | wonko7 | (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Ping timeout: 264 seconds) |
2020-12-22 01:46:37 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
2020-12-22 01:47:12 +0100 | <dsal> | > uncurry elem <$> [(1, [1, 2, 3]), (4, [1, 2, 3])] -- fuzzypixelz do you mean something like this? |
2020-12-22 01:47:14 +0100 | <lambdabot> | [True,False] |
2020-12-22 01:48:09 +0100 | <dsal> | :t uncurry |
2020-12-22 01:48:11 +0100 | <lambdabot> | (a -> b -> c) -> (a, b) -> c |
2020-12-22 01:49:42 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-90.cust.tzulo.com) |
2020-12-22 01:51:16 +0100 | Wamanuz | (~wamanuz@78-70-34-81-no84.tbcn.telia.com) (Ping timeout: 240 seconds) |
2020-12-22 01:52:08 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-22 01:56:01 +0100 | delYsid | (~user@unaffiliated/delysid) |
2020-12-22 01:56:34 +0100 | nitrix | nitrix-mas |
2020-12-22 01:58:23 +0100 | <delYsid> | Given two rose trees a and b where b is a subset of a, is there a simple way to impose the ordering of b onto a? |
2020-12-22 01:59:18 +0100 | <delYsid> | IOW all the nodes present in b should be put first in a, in the same order they occur in b. |
2020-12-22 01:59:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-22 02:00:55 +0100 | arybczak | (~unknown@2a02:a312:c83d:7800:bb7f:5c00:4f48:cc5c) (Quit: Konversation terminated!) |
2020-12-22 02:01:42 +0100 | MVQq | (~anja@198.254.202.72) (Quit: q) |
2020-12-22 02:02:24 +0100 | MarcelineVQ | (~anja@198.254.202.72) |
2020-12-22 02:03:10 +0100 | <fuzzypixelz> | dsal: yes that's exactly what I need, thank you |
2020-12-22 02:03:57 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-22 02:05:13 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-12-22 02:07:14 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
2020-12-22 02:10:52 +0100 | kam1 | (~kam1@24.231.108.143) (Ping timeout: 246 seconds) |
2020-12-22 02:10:59 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-exdojaqirdkfmvpz) (Quit: Connection closed for inactivity) |
2020-12-22 02:11:00 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 02:11:02 +0100 | Rudd0 | (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds) |
2020-12-22 02:11:04 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Quit: WeeChat 3.0) |
2020-12-22 02:11:37 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
2020-12-22 02:11:39 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-12-22 02:11:54 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-22 02:14:08 +0100 | iqubic | (~user@2601:602:9500:4870:55c5:a9fe:a753:58ff) (Ping timeout: 258 seconds) |
2020-12-22 02:14:20 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-duufhsmgfmkrtnrr) |
2020-12-22 02:14:26 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-22 02:15:16 +0100 | <xsperry> | <$> is just fmap btw, which is map for lists |
2020-12-22 02:15:23 +0100 | iqubic | (~user@c-67-171-38-72.hsd1.wa.comcast.net) |
2020-12-22 02:16:11 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Client Quit) |
2020-12-22 02:16:28 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-22 02:16:49 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 272 seconds) |
2020-12-22 02:16:57 +0100 | <fuzzypixelz> | xsperry: oh I see |
2020-12-22 02:17:23 +0100 | <fuzzypixelz> | my (haskell) solution for AOC day 6: https://bpa.st/4QIA |
2020-12-22 02:17:37 +0100 | <fuzzypixelz> | Any feedback is (very) appreciated |
2020-12-22 02:17:39 +0100 | <fuzzypixelz> | :P |
2020-12-22 02:18:37 +0100 | <fuzzypixelz> | uhh, I mean, please give me feedback/comments/remarks .. anything |
2020-12-22 02:21:19 +0100 | MOSCOS | (~MOSCOS@152.32.70.55) |
2020-12-22 02:24:25 +0100 | Mikagami | (~MOSCOS@122.54.107.175) (Ping timeout: 240 seconds) |
2020-12-22 02:24:51 +0100 | Mikagami | (~MOSCOS@122.54.107.175) |
2020-12-22 02:26:25 +0100 | MOSCOS | (~MOSCOS@152.32.70.55) (Ping timeout: 240 seconds) |
2020-12-22 02:28:00 +0100 | guest1222 | (~user@49.5.6.87) |
2020-12-22 02:28:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 02:28:44 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 02:29:17 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 02:30:16 +0100 | MOSCOS | (~MOSCOS@152.32.70.55) |
2020-12-22 02:30:58 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2020-12-22 02:31:52 +0100 | jumper149 | (~jumper149@ip4d1622a9.dynamic.kabel-deutschland.de) (Quit: WeeChat 2.9) |
2020-12-22 02:32:16 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 02:32:58 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2020-12-22 02:32:58 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2020-12-22 02:32:58 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) |
2020-12-22 02:33:25 +0100 | Mikagami | (~MOSCOS@122.54.107.175) (Ping timeout: 240 seconds) |
2020-12-22 02:33:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-12-22 02:33:51 +0100 | Mikagami | (~MOSCOS@122.54.107.175) |
2020-12-22 02:34:20 +0100 | fuzzypixelz_ | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2020-12-22 02:34:27 +0100 | <hseg> | hrm. is there some way of altering the key of a map for a single query? |
2020-12-22 02:35:25 +0100 | MOSCOS | (~MOSCOS@152.32.70.55) (Ping timeout: 240 seconds) |
2020-12-22 02:35:36 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 240 seconds) |
2020-12-22 02:35:39 +0100 | fuzzypixelz_ | fuzzypixelz |
2020-12-22 02:36:47 +0100 | <hseg> | otherwise, i'm forced to compute the key-dependent values before alteration, adding unnecessary strictness |
2020-12-22 02:40:05 +0100 | <hseg> | hrm. and that breaks all of my abstraction boundaries |
2020-12-22 02:40:50 +0100 | <hseg> | unfortunately, maps are not key-value pairs, so this proposed alteration is too expensive to be reasonable |
2020-12-22 02:41:04 +0100 | <ski> | > ST.Lazy.runST (do ref <- STRef.Lazy.newSTRef []; let loop n = do loop (n+1); STRef.Lazy.modifySTRef ref (n:) in do loop 0; STRef.Lazy.readSTRef ref) |
2020-12-22 02:41:10 +0100 | <lambdabot> | mueval-core: Time limit exceeded |
2020-12-22 02:41:33 +0100 | <ski> | monochrom : was one of your `ST.Lazy' examples something like that ^ ? |
2020-12-22 02:44:11 +0100 | <monochrom> | Yes. Head/left recursion works. |
2020-12-22 02:44:50 +0100 | cn8 | (~8cn@2603-8081-8f01-4e00-0c24-30c9-e128-1797.res6.spectrum.com) |
2020-12-22 02:45:01 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 02:46:25 +0100 | <hseg> | ok, converting to maps made everything *much* faster |
2020-12-22 02:46:31 +0100 | <ski> | so i wonder why that wasn't productive |
2020-12-22 02:48:04 +0100 | columbarius | (~columbari@mue-88-130-54-123.dsl.tropolys.de) (Ping timeout: 260 seconds) |
2020-12-22 02:48:08 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) |
2020-12-22 02:49:50 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 256 seconds) |
2020-12-22 02:50:08 +0100 | columbarius | (~columbari@i5E86B3C9.versanet.de) |
2020-12-22 02:50:54 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2020-12-22 02:51:02 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 02:51:21 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 02:51:46 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-22 02:52:51 +0100 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2020-12-22 02:53:26 +0100 | hseg | (~gesh@IGLD-84-228-238-87.inter.net.il) (Quit: WeeChat 3.0) |
2020-12-22 02:55:34 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds) |
2020-12-22 02:55:34 +0100 | Lord_of_Life_ | Lord_of_Life |
2020-12-22 02:58:16 +0100 | <koz_> | ski: It spent too much time procastinating on social media. :P |
2020-12-22 02:58:27 +0100 | <fuzzypixelz> | just dropping this https://bpa.st/4QIA again (my aoc day 6 solution), if you have anything to say about it please do |
2020-12-22 02:59:15 +0100 | xcmw | (~textual@2603-6011-2200-f103-c0c2-1e0a-7ed6-0dd8.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 03:01:40 +0100 | xcmw | (~textual@2603-6011-2200-f103-c0c2-1e0a-7ed6-0dd8.res6.spectrum.com) |
2020-12-22 03:01:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 03:01:52 +0100 | christo | (~chris@81.96.113.213) |
2020-12-22 03:06:13 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds) |
2020-12-22 03:06:51 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 272 seconds) |
2020-12-22 03:07:29 +0100 | hackage | yesod-form-multi 1.7.0 - Multi-input form handling for Yesod Web Framework https://hackage.haskell.org/package/yesod-form-multi-1.7.0 (Burtannia) |
2020-12-22 03:10:09 +0100 | eacameron | (uid256985@gateway/web/irccloud.com/x-vxdrpcotoqmkhsji) |
2020-12-22 03:12:32 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 03:15:35 +0100 | ADG1089_ | (~adg1089@122.163.166.13) |
2020-12-22 03:16:57 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 260 seconds) |
2020-12-22 03:19:26 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 03:19:29 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 03:19:49 +0100 | ADG1089_ | (~adg1089@122.163.166.13) (Ping timeout: 246 seconds) |
2020-12-22 03:19:51 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 03:24:22 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
2020-12-22 03:25:02 +0100 | ADG1089_ | (~adg1089@122.163.166.13) |
2020-12-22 03:25:23 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2020-12-22 03:27:34 +0100 | jmchael | (~jmchael@81.174.205.210) (Ping timeout: 256 seconds) |
2020-12-22 03:29:25 +0100 | <delYsid> | pathTree :: Tree a -> Tree (NonEmpty a) |
2020-12-22 03:29:30 +0100 | <delYsid> | pathTree = foldTree $ \a -> Node (pure a) . (fmap . fmap) (cons a) |
2020-12-22 03:29:42 +0100 | <guest1222> | is rio a good library to use? |
2020-12-22 03:29:44 +0100 | <delYsid> | Thats about the most useful function I have ever written/discovered. |
2020-12-22 03:29:46 +0100 | <guest1222> | https://hackage.haskell.org/package/rio |
2020-12-22 03:30:13 +0100 | ADG1089_ | (~adg1089@122.163.166.13) (Ping timeout: 268 seconds) |
2020-12-22 03:30:27 +0100 | <glguy> | guest1222, it's unmaintained build-depends would make it a mess to rely on |
2020-12-22 03:30:37 +0100 | <guest1222> | glguy: ... |
2020-12-22 03:32:22 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-22 03:32:58 +0100 | christo | (~chris@81.96.113.213) |
2020-12-22 03:36:02 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-12-22 03:37:19 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 246 seconds) |
2020-12-22 03:39:51 +0100 | delYsid | (~user@unaffiliated/delysid) (Remote host closed the connection) |
2020-12-22 03:44:36 +0100 | christo | (~chris@81.96.113.213) |
2020-12-22 03:45:28 +0100 | <guest1222> | glguy: what runParser is used to in parsec? |
2020-12-22 03:45:44 +0100 | <guest1222> | there's State monad in runParser? |
2020-12-22 03:49:00 +0100 | kam1 | (~kam1@24.231.108.143) (Read error: Connection reset by peer) |
2020-12-22 03:49:32 +0100 | drbean | (~drbean@TC210-63-209-143.static.apol.com.tw) |
2020-12-22 03:50:13 +0100 | olligobber | (~olligobbe@unaffiliated/olligobber) |
2020-12-22 03:51:25 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 03:51:31 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) () |
2020-12-22 03:54:21 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 272 seconds) |
2020-12-22 03:55:11 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 03:56:13 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
2020-12-22 03:57:03 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: fuzzypixelz) |
2020-12-22 03:57:19 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 03:57:24 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2020-12-22 03:58:34 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 03:59:33 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 258 seconds) |
2020-12-22 04:00:16 +0100 | drbean | (~drbean@TC210-63-209-143.static.apol.com.tw) (Ping timeout: 240 seconds) |
2020-12-22 04:00:20 +0100 | drbean_ | (~drbean@TC210-63-209-167.static.apol.com.tw) |
2020-12-22 04:00:57 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 04:01:05 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 04:01:33 +0100 | mastarija | (~mastarija@93-136-154-213.adsl.net.t-com.hr) |
2020-12-22 04:01:51 +0100 | xff0x_ | (~fox@2001:1a81:537d:6200:a74c:d71f:eb2e:2908) (Ping timeout: 258 seconds) |
2020-12-22 04:03:44 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:dcc7:7fd8:9f40:3657) |
2020-12-22 04:05:41 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 258 seconds) |
2020-12-22 04:07:50 +0100 | drbean_ | (~drbean@TC210-63-209-167.static.apol.com.tw) (Ping timeout: 268 seconds) |
2020-12-22 04:07:52 +0100 | <glguy> | guest1222, I don't understand the question |
2020-12-22 04:08:14 +0100 | <glguy> | You're asking about: runParser :: Stream s Identity t => Parsec s u a -> u -> SourceName -> s -> Either ParseError a ? |
2020-12-22 04:09:46 +0100 | jedws | (~jedws@121.209.189.201) |
2020-12-22 04:11:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 04:11:24 +0100 | drbean | (~drbean@TC210-63-209-160.static.apol.com.tw) |
2020-12-22 04:11:26 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 256 seconds) |
2020-12-22 04:11:59 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 04:12:21 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 04:12:39 +0100 | <glguy> | and parsec provides built-in support for tracking some state, along the path of a successful parse |
2020-12-22 04:12:45 +0100 | jespada | (~jespada@90.254.245.49) |
2020-12-22 04:14:21 +0100 | theDon | (~td@muedsl-82-207-238-191.citykom.de) (Read error: Connection reset by peer) |
2020-12-22 04:15:06 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-12-22 04:15:43 +0100 | <dsal> | :t map concat |
2020-12-22 04:15:44 +0100 | <lambdabot> | Foldable t => [t [a]] -> [[a]] |
2020-12-22 04:15:52 +0100 | <dsal> | :t foldMap |
2020-12-22 04:15:53 +0100 | <lambdabot> | (Foldable t, Monoid m) => (a -> m) -> t a -> m |
2020-12-22 04:16:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2020-12-22 04:16:18 +0100 | theDon | (~td@muedsl-82-207-238-252.citykom.de) |
2020-12-22 04:17:29 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
2020-12-22 04:17:49 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 04:19:16 +0100 | Wayno | (~Wayno@185.103.96.147) (Remote host closed the connection) |
2020-12-22 04:19:42 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 256 seconds) |
2020-12-22 04:20:02 +0100 | xirhtogal | (~lagothrix@unaffiliated/lagothrix) |
2020-12-22 04:20:02 +0100 | lagothrix | Guest79707 |
2020-12-22 04:20:02 +0100 | Guest79707 | (~lagothrix@unaffiliated/lagothrix) (Killed (orwell.freenode.net (Nickname regained by services))) |
2020-12-22 04:20:02 +0100 | xirhtogal | lagothrix |
2020-12-22 04:22:57 +0100 | cn8 | (~8cn@2603-8081-8f01-4e00-0c24-30c9-e128-1797.res6.spectrum.com) (Read error: Connection reset by peer) |
2020-12-22 04:25:27 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 04:26:44 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 04:27:47 +0100 | <MarcelineVQ> | :t fold . fold |
2020-12-22 04:27:49 +0100 | <lambdabot> | (Foldable t1, Foldable t2, Monoid c, Monoid (t1 c)) => t2 (t1 c) -> c |
2020-12-22 04:29:18 +0100 | drbean_ | (~drbean@TC210-63-209-212.static.apol.com.tw) |
2020-12-22 04:29:42 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-12-22 04:29:46 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Client Quit) |
2020-12-22 04:30:03 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2020-12-22 04:30:05 +0100 | drbean | (~drbean@TC210-63-209-160.static.apol.com.tw) (Ping timeout: 240 seconds) |
2020-12-22 04:32:13 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-12-22 04:37:33 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2020-12-22 04:40:00 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-duufhsmgfmkrtnrr) () |
2020-12-22 04:40:57 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 260 seconds) |
2020-12-22 04:43:52 +0100 | mastarija | (~mastarija@93-136-154-213.adsl.net.t-com.hr) (Quit: Leaving) |
2020-12-22 04:45:17 +0100 | MarcelineVQ | (~anja@198.254.202.72) (Ping timeout: 256 seconds) |
2020-12-22 04:45:45 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 04:48:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 04:48:49 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2020-12-22 04:49:20 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-12-22 04:50:04 +0100 | vs^ | (vs@ip98-184-89-2.mc.at.cox.net) |
2020-12-22 04:50:23 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 256 seconds) |
2020-12-22 04:50:36 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
2020-12-22 04:54:22 +0100 | _Cactus_ | (~cactus@2404:e801:200e:1f22:94f1:f531:bd80:25b1) |
2020-12-22 04:56:30 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 04:56:46 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 246 seconds) |
2020-12-22 04:56:52 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 04:57:04 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:2570:8bc6:6048:3a26) (Remote host closed the connection) |
2020-12-22 04:57:49 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Ping timeout: 258 seconds) |
2020-12-22 04:58:03 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-rvdkfbbedyjxkcho) (Quit: Connection closed for inactivity) |
2020-12-22 05:00:20 +0100 | rprije | (~rprije@202.168.43.92) |
2020-12-22 05:00:30 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2020-12-22 05:01:52 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
2020-12-22 05:02:28 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
2020-12-22 05:02:47 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:65a1:7ff2:d4f4:eebe) |
2020-12-22 05:05:08 +0100 | orion | (~orion@c-76-19-238-5.hsd1.ma.comcast.net) |
2020-12-22 05:05:08 +0100 | orion | (~orion@c-76-19-238-5.hsd1.ma.comcast.net) (Changing host) |
2020-12-22 05:05:08 +0100 | orion | (~orion@unaffiliated/orion) |
2020-12-22 05:05:10 +0100 | MarcelineVQ | (~anja@198.254.202.72) |
2020-12-22 05:07:02 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds) |
2020-12-22 05:10:18 +0100 | coot | (~coot@37.30.50.187.nat.umts.dynamic.t-mobile.pl) |
2020-12-22 05:11:38 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection) |
2020-12-22 05:11:56 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2020-12-22 05:13:12 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 05:13:22 +0100 | xcmw | (~textual@2603-6011-2200-f103-c0c2-1e0a-7ed6-0dd8.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 05:14:36 +0100 | irc_user | (uid423822@gateway/web/irccloud.com/x-zpqgavcurwhmhgkg) (Quit: Connection closed for inactivity) |
2020-12-22 05:15:01 +0100 | flukiluke1 | (~flukiluke@217.146.82.202) |
2020-12-22 05:15:05 +0100 | zv | (~zv@unaffiliated/zv) (Ping timeout: 240 seconds) |
2020-12-22 05:16:28 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Remote host closed the connection) |
2020-12-22 05:16:34 +0100 | Vulfe_ | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 05:17:48 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-12-22 05:18:44 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
2020-12-22 05:19:51 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) |
2020-12-22 05:22:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-12-22 05:22:32 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-12-22 05:24:38 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2020-12-22 05:25:01 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 05:25:11 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
2020-12-22 05:25:29 +0100 | jmchael | (~jmchael@81.174.205.210) |
2020-12-22 05:25:42 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2020-12-22 05:26:15 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
2020-12-22 05:27:30 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 05:30:03 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-12-22 05:32:56 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds) |
2020-12-22 05:34:48 +0100 | iqubic | (~user@c-67-171-38-72.hsd1.wa.comcast.net) (Remote host closed the connection) |
2020-12-22 05:37:04 +0100 | iqubic | (~user@2601:602:9500:4870:e949:f050:eec9:86cb) |
2020-12-22 05:41:30 +0100 | hackage | HaskellNet 0.5.3 - Client support for POP3, SMTP, and IMAP https://hackage.haskell.org/package/HaskellNet-0.5.3 (AlexanderVershilov) |
2020-12-22 05:43:36 +0100 | jedws | (~jedws@121.209.189.201) |
2020-12-22 05:49:23 +0100 | coot | (~coot@37.30.50.187.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-22 05:49:23 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2020-12-22 05:49:25 +0100 | orion | (~orion@unaffiliated/orion) (Ping timeout: 264 seconds) |
2020-12-22 05:53:17 +0100 | jmchael | (~jmchael@81.174.205.210) (Ping timeout: 268 seconds) |
2020-12-22 05:54:10 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 05:54:25 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds) |
2020-12-22 05:57:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 05:58:46 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 258 seconds) |
2020-12-22 06:01:05 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 06:01:19 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2020-12-22 06:01:25 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2020-12-22 06:02:22 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-12-22 06:02:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-12-22 06:06:12 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 06:06:14 +0100 | MarcelineVQ | (~anja@198.254.202.72) (Ping timeout: 268 seconds) |
2020-12-22 06:09:29 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 06:10:30 +0100 | Vulfe_ | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Remote host closed the connection) |
2020-12-22 06:12:01 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
2020-12-22 06:12:34 +0100 | Kronic | (~Kronic___@84.203.96.46) (Read error: Connection reset by peer) |
2020-12-22 06:12:59 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-12-22 06:13:32 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-22 06:20:15 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 06:21:18 +0100 | DTZUZU_ | (~DTZUZU@207.81.171.116) |
2020-12-22 06:21:49 +0100 | ADG1089__ | (~aditya@122.163.166.13) |
2020-12-22 06:22:11 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 06:22:29 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
2020-12-22 06:22:36 +0100 | <iqubic> | Is there a way to short circuit a Do block? I have a Do block using State GameState Int, for a custom type GameState. I want to first check if GameState has a given property, and if so, I want to do none of the remaining computations and just return of a set value. |
2020-12-22 06:23:55 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) |
2020-12-22 06:24:47 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 260 seconds) |
2020-12-22 06:25:42 +0100 | <monochrom> | Just use a conditional. |
2020-12-22 06:25:46 +0100 | <iqubic> | How so? |
2020-12-22 06:26:01 +0100 | <monochrom> | You know if-then-else? You know case-of? |
2020-12-22 06:26:14 +0100 | DTZUZU_ | (~DTZUZU@207.81.171.116) (Ping timeout: 260 seconds) |
2020-12-22 06:26:33 +0100 | <iqubic> | I do. |
2020-12-22 06:26:45 +0100 | <pavonia> | It depends on the used monad, e.g. Cont can do that, IIRC |
2020-12-22 06:26:55 +0100 | <iqubic> | I'm using State. |
2020-12-22 06:27:12 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
2020-12-22 06:27:47 +0100 | <pavonia> | Then use a conditional :) |
2020-12-22 06:28:20 +0100 | <iqubic> | I se. |
2020-12-22 06:32:08 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-90.cust.tzulo.com) (Quit: Leaving) |
2020-12-22 06:32:56 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
2020-12-22 06:35:02 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 06:35:13 +0100 | borne | (~fritjof@200116b864861500c0a3d285e8e687f4.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
2020-12-22 06:36:46 +0100 | borne | (~fritjof@200116b864c6f800cebf0c02893372bd.dip.versatel-1u1.de) |
2020-12-22 06:40:28 +0100 | MarcelineVQ | (~anja@198.254.202.72) |
2020-12-22 06:41:15 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 06:42:57 +0100 | al3x27 | (~plovs@85.254.75.83) |
2020-12-22 06:46:14 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 264 seconds) |
2020-12-22 06:46:22 +0100 | _Cactus_ | (~cactus@2404:e801:200e:1f22:94f1:f531:bd80:25b1) (Ping timeout: 260 seconds) |
2020-12-22 06:46:33 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 06:50:52 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 246 seconds) |
2020-12-22 06:53:42 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 06:55:09 +0100 | jathan | (~jathan@69.61.93.38) (Quit: WeeChat 2.3) |
2020-12-22 06:59:37 +0100 | Mikagami | (~MOSCOS@122.54.107.175) (Remote host closed the connection) |
2020-12-22 07:00:07 +0100 | Mikagami | (~MOSCOS@122.54.107.175) |
2020-12-22 07:02:25 +0100 | jlamothe | (~jlamothe@198.251.55.207) (Ping timeout: 240 seconds) |
2020-12-22 07:04:42 +0100 | mounty | (~mounty@2001:8000:2f59:0:6d56:fa71:1764:6b85) (Ping timeout: 260 seconds) |
2020-12-22 07:04:43 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2020-12-22 07:06:33 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 07:08:47 +0100 | <gentauro> | tdammers: hey, you still haven't got any scandinavians? https://well-typed.com/who_we_are/ |
2020-12-22 07:09:03 +0100 | <gentauro> | tdammers: is it cos they don't apply, or do you just not hire scandis? :D |
2020-12-22 07:09:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-12-22 07:09:20 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 07:09:38 +0100 | <gentauro> | tdammers: https://well-typed.com/blog/2020/12/haskell-development-job-with-well-typed/ |
2020-12-22 07:09:51 +0100 | <MarcelineVQ> | the latter for sure |
2020-12-22 07:11:27 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 260 seconds) |
2020-12-22 07:12:49 +0100 | ADG1089__ | (~aditya@122.163.166.13) (Remote host closed the connection) |
2020-12-22 07:13:10 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 07:13:19 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 07:14:07 +0100 | jedws | (~jedws@121.209.189.201) |
2020-12-22 07:14:29 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 272 seconds) |
2020-12-22 07:15:20 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) |
2020-12-22 07:16:44 +0100 | hekkaidekapus[ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
2020-12-22 07:16:57 +0100 | hekkaidekapus[ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-12-22 07:17:40 +0100 | zv | (~zv@unaffiliated/zv) |
2020-12-22 07:18:59 +0100 | <gentauro> | btw, troll spotted? https://yairchu.github.io/posts/silly-haskell-formatting |
2020-12-22 07:19:26 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection) |
2020-12-22 07:19:38 +0100 | <gentauro> | I tend to write my signtaures like this for readability (and sanity) -> https://gitlab.com/spisemisu/bornhack-demo-2019/-/blob/master/src/Main.hs#L52-59 |
2020-12-22 07:19:50 +0100 | <gentauro> | how is this "silly"? |
2020-12-22 07:20:03 +0100 | grdvnl | (~gdrvnl@cpe-76-94-36-134.socal.res.rr.com) |
2020-12-22 07:21:12 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) |
2020-12-22 07:23:45 +0100 | _Cactus_ | (~cactus@2404:e801:200e:1f22:94f1:f531:bd80:25b1) |
2020-12-22 07:25:38 +0100 | <pavonia> | gentauro: Well, he has a point there. If you want to remove/move the first parameter with "silly" formatting, you have to change two lines |
2020-12-22 07:25:47 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2020-12-22 07:27:05 +0100 | <leifm> | The way he prefers works better with proportionally-spaced fonts |
2020-12-22 07:27:53 +0100 | <MarcelineVQ> | I don't strictly adhere to one parameter to one line |
2020-12-22 07:28:18 +0100 | <MarcelineVQ> | I might have 2,3,1 even |
2020-12-22 07:29:11 +0100 | <MarcelineVQ> | Code as an artform should shun strict formatting anyway :> |
2020-12-22 07:29:24 +0100 | <MarcelineVQ> | Make it beautiful not conformant |
2020-12-22 07:30:20 +0100 | <pavonia> | Heh |
2020-12-22 07:30:42 +0100 | <gentauro> | pavonia: so compromise readability for the sake of "lazyness"? |
2020-12-22 07:31:07 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2020-12-22 07:31:20 +0100 | nfd | (~nfd9001@c-67-183-38-33.hsd1.wa.comcast.net) |
2020-12-22 07:31:50 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2020-12-22 07:32:33 +0100 | <gentauro> | also, I think it's a bit meh to dismiss all of Haskell styling tools -> «I was looking to see what formatting tools exist for Haskell, and discovered that while several tools exist, none fit my taste, and some of these tools were disqualified on the grounds of applying silly formatting.» |
2020-12-22 07:32:43 +0100 | <gentauro> | maybe he should have stayed in the C++ ecosystem |
2020-12-22 07:32:47 +0100 | <nfd> | hey folks :) trying to finish up AoC day 19 and i think i have most of a cfg parser generator (to megaparsec) handy, but i've got some hiccup somewhere here that's causing it to not consume all input (like i expected from the backtracking strat) |
2020-12-22 07:32:56 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:65a1:7ff2:d4f4:eebe) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 07:33:18 +0100 | <nfd> | https://nfd.moe/files/tmp/day19.txt think my problem's in mkParser here |
2020-12-22 07:33:18 +0100 | <gentauro> | nfd: there are `hints` on the /r/haskell ;) |
2020-12-22 07:33:29 +0100 | <nfd> | heh nice |
2020-12-22 07:33:54 +0100 | <nfd> | specifically i'm rejecting good inputs on that last `<* eof` check on the top-level |
2020-12-22 07:34:27 +0100 | <nfd> | i'll check the reddit but i don't know if i want to see how everyone else generally does it before i'm through |
2020-12-22 07:34:31 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 07:34:39 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 07:34:59 +0100 | <gentauro> | btw, I personally use `stylish-haskell`. I somehow agree with the formatting except on imports of constructors and record fields. Instead of beeing multi-line, they are always one-liners … |
2020-12-22 07:35:19 +0100 | <gentauro> | nfd: good point |
2020-12-22 07:35:45 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 240 seconds) |
2020-12-22 07:35:47 +0100 | <pavonia> | gentauro: I wouldn't say, and I also don't like the formatting suggested in the article, but it doesn't seem like trolling to me |
2020-12-22 07:37:56 +0100 | <gentauro> | pavonia: using the terms "silly" for all others (including Jasper Van der Jeugt tool) compared to "propper" (his) is trolling in my book |
2020-12-22 07:38:52 +0100 | <gentauro> | nfd: I guess it would help if you posted a "sample" of the data to parse … |
2020-12-22 07:39:58 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:dcc7:7fd8:9f40:3657) (Ping timeout: 258 seconds) |
2020-12-22 07:40:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 07:40:53 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:e33a:6fca:3b6a:86a2) |
2020-12-22 07:42:38 +0100 | nitrix-mas | nitrix |
2020-12-22 07:43:13 +0100 | EdFletcher | (~EdFletche@unaffiliated/edfletchert137) |
2020-12-22 07:43:28 +0100 | <nfd> | so i'm going through with megaparsec debug and i'm mostly seeing what i expected |
2020-12-22 07:45:15 +0100 | <nfd> | aabbbbbaabbbaaaaaabbbbbababaaaaabbaaabba is accepted early at aabbbbbaabbbaaaaaabbbbbababa in the trial input |
2020-12-22 07:45:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-12-22 07:45:31 +0100 | <nfd> | (and then caught and errored by the guard at the top-level |
2020-12-22 07:45:51 +0100 | <nfd> | gentauro: sorry, i was staring at the debug output :D |
2020-12-22 07:46:08 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 268 seconds) |
2020-12-22 07:46:55 +0100 | <nfd> | my first instinct was "well, maybe i need more eof checking in the midst of this thing" but clearly that's probably not *quite* it all of the time |
2020-12-22 07:47:30 +0100 | <nfd> | because parsers may be called in the middle of others, generally |
2020-12-22 07:48:09 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-12-22 07:49:13 +0100 | <nfd> | this problem kinda smells of Kleene |
2020-12-22 07:49:49 +0100 | xerox_ | watches Kleene checking his armpits |
2020-12-22 07:50:16 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 07:50:39 +0100 | <nfd> | though the last parser to apparently wrongly succeed was 11, which is by definition in p2. 42, 31 | 42, 11, 31 which isn't very kleeney |
2020-12-22 07:50:53 +0100 | toorevitimirp | (~tooreviti@117.182.182.252) |
2020-12-22 07:51:03 +0100 | <nfd> | so maybe i take it back |
2020-12-22 07:52:25 +0100 | <nfd> | and also not very regular |
2020-12-22 07:52:44 +0100 | nfd | has flashbacks of having to do pumping lemma problems in exams |
2020-12-22 07:53:33 +0100 | <nfd> | uptree 11 fails a whole bunch, though! strange |
2020-12-22 07:56:04 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 260 seconds) |
2020-12-22 07:56:15 +0100 | Tspoon | (tlarjoma@hilla.kapsi.fi) (Ping timeout: 256 seconds) |
2020-12-22 07:56:21 +0100 | Tspoon | (tlarjoma@hilla.kapsi.fi) |
2020-12-22 07:57:26 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-12-22 07:58:23 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2020-12-22 07:59:08 +0100 | nemron | (~nemron@2a02:810b:c7bf:fdb8:e5d9:cf51:dbc1:34c4) |
2020-12-22 08:00:29 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2020-12-22 08:00:53 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 08:01:26 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2020-12-22 08:09:49 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 264 seconds) |
2020-12-22 08:09:58 +0100 | fxg | (~fxg@unaffiliated/fxg) |
2020-12-22 08:10:23 +0100 | Turmiht | (2d38964a@45.56.150.74) |
2020-12-22 08:11:16 +0100 | <Turmiht> | Anybody here uses macOS Big Sur to write Haskell? |
2020-12-22 08:11:49 +0100 | <Turmiht> | I got a linker error yesterday and cannot figure it out |
2020-12-22 08:14:02 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 08:15:01 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 08:16:24 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-22 08:17:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 08:19:28 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2020-12-22 08:19:31 +0100 | u0_a203 | (~u0_a203@37.98.47.224) |
2020-12-22 08:19:45 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-zzifphhwbirnbmhh) (Quit: Connection closed for inactivity) |
2020-12-22 08:20:33 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Client Quit) |
2020-12-22 08:22:50 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-22 08:22:52 +0100 | u0_a203 | (~u0_a203@37.98.47.224) (Client Quit) |
2020-12-22 08:23:17 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 08:24:03 +0100 | nemron | (~nemron@2a02:810b:c7bf:fdb8:e5d9:cf51:dbc1:34c4) (Ping timeout: 258 seconds) |
2020-12-22 08:24:38 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 264 seconds) |
2020-12-22 08:24:48 +0100 | <dminuoso> | Turmiht: What error message do you get? |
2020-12-22 08:25:43 +0100 | CMCDragonkai2 | (~Thunderbi@124.19.3.250) |
2020-12-22 08:25:50 +0100 | <Turmiht> | Resolving dependencies...Build profile: -w ghc-8.8.4 -O1In order, the following will be built (use -v for more details): - distributive-0.6.2 (lib:distributive) (requires build)Starting distributive-0.6.2 (all, legacy fallback)cabal: Failed to build distributive-0.6.2. The failure occurred during theconfigure step. The exception |
2020-12-22 08:25:50 +0100 | <Turmiht> | was:dieVerbatim: user error (cabal: '/Users/turmiht/.ghcup/bin/ghc' exited with anerror:ld: warning: ignoring file/Users/turmiht/.cabal/store/ghc-8.8.4/cbl-dctst-1.0.8-9ce5b252/lib/libHScbl-dctst-1.0.8-9ce5b252.a,building for macOS-x86_64 but attempting to link with file built forunknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E |
2020-12-22 08:25:51 +0100 | <Turmiht> | 0x0A 0x2F0x20 0x20 0x20 0x20 0x20 0x20 0x20 )Undefined symbols for architecture x86_64:"_cblzmdctstzm1zi0zi8zm9ce5b252_DistributionziExtraziDoctest_defaultMainWithDoctests_closure",referenced from:_Main_main_info in Main.o_Lu2mR_srt in Main.old: symbol(s) not found for architecture x86_64clang: error: linker command failed with exit code 1 (use -v |
2020-12-22 08:25:51 +0100 | <Turmiht> | to seeinvocation)`gcc' failed in phase `Linker'. (Exit code: 1)) |
2020-12-22 08:25:57 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-12-22 08:26:44 +0100 | <Turmiht> | It seems to me that my ld fail to recognize the ar file (given the magic bytes) |
2020-12-22 08:26:52 +0100 | nemron | (~nemron@2a01:598:a906:d62d:a0e2:5e5d:3ca2:a658) |
2020-12-22 08:28:07 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2020-12-22 08:28:37 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 08:29:00 +0100 | hackage | spdx-license 0.1.0 - SPDX license templates https://hackage.haskell.org/package/spdx-license-0.1.0 (Poscat) |
2020-12-22 08:29:10 +0100 | <Turmiht> | lipo -info and object dump show contents of referenced libs is build for macho-x86-64 |
2020-12-22 08:29:26 +0100 | <dminuoso> | @where |
2020-12-22 08:29:26 +0100 | <lambdabot> | @where <key>, return element associated with key |
2020-12-22 08:29:35 +0100 | <dminuoso> | @where paste |
2020-12-22 08:29:35 +0100 | <lambdabot> | Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com |
2020-12-22 08:29:37 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-22 08:29:59 +0100 | <dminuoso> | Turmiht: Can you use that? It's just easier for me to read when whitespace is nicely preserved |
2020-12-22 08:30:09 +0100 | <Turmiht> | I'll give it a try |
2020-12-22 08:30:19 +0100 | <Turmiht> | Wait a minute plz |
2020-12-22 08:30:20 +0100 | christo | (~chris@81.96.113.213) |
2020-12-22 08:31:19 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2020-12-22 08:31:23 +0100 | <Turmiht> | https://paste.tomsmeding.com/rdCfhFsm |
2020-12-22 08:31:28 +0100 | <Turmiht> | Is it ok? |
2020-12-22 08:31:33 +0100 | <dminuoso> | Yes, cheers |
2020-12-22 08:31:44 +0100 | <dminuoso> | Mmm, still looks weird, but it's fine |
2020-12-22 08:31:59 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 08:32:13 +0100 | <Turmiht> | Well, thx |
2020-12-22 08:32:29 +0100 | solarliner | (~solarline@243.81.10.109.rev.sfr.net) |
2020-12-22 08:33:25 +0100 | <dminuoso> | Turmiht: Does the error happen with 8.10.3 as well? |
2020-12-22 08:33:42 +0100 | <Turmiht> | Yes, and 8.6.5 |
2020-12-22 08:34:18 +0100 | <Turmiht> | Wait, no |
2020-12-22 08:34:28 +0100 | ADG1089__ | (~aditya@122.163.166.13) |
2020-12-22 08:34:28 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 246 seconds) |
2020-12-22 08:34:30 +0100 | <Turmiht> | I just tried 8.10.2 which appear in ghcup list |
2020-12-22 08:34:40 +0100 | asheshambasta | (~user@ptr-e1lysaxt4bg7tmaahx1.18120a2.ip6.access.telenet.be) |
2020-12-22 08:35:09 +0100 | <Turmiht> | should I build 8.10.3 from source? |
2020-12-22 08:36:45 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9) |
2020-12-22 08:36:55 +0100 | olligobber | (~olligobbe@unaffiliated/olligobber) (Ping timeout: 246 seconds) |
2020-12-22 08:37:57 +0100 | <dminuoso> | Turmiht: What command did you use to provoke this error? |
2020-12-22 08:38:35 +0100 | <Turmiht> | `cabal install distributive` could, although I first found it when I try install Agda |
2020-12-22 08:39:07 +0100 | <dminuoso> | Just to rule some stuff out, do you have any modifications in your ~/.cabal/config ? |
2020-12-22 08:39:32 +0100 | <Turmiht> | nop, and it have tried reinstall everthing |
2020-12-22 08:39:58 +0100 | <Turmiht> | I and everything, typos |
2020-12-22 08:40:12 +0100 | shad0w_ | (~shad0w_@160.202.37.210) |
2020-12-22 08:40:20 +0100 | <dminuoso> | https://gitlab.haskell.org/ghc/ghc/-/issues/18446 |
2020-12-22 08:40:24 +0100 | <dminuoso> | Im wondering whether this is related |
2020-12-22 08:41:07 +0100 | shad0w_ | (~shad0w_@160.202.37.210) (Read error: Connection reset by peer) |
2020-12-22 08:41:30 +0100 | <dminuoso> | Turmiht: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-apple-darwin.tar.xz |
2020-12-22 08:41:34 +0100 | <dminuoso> | Try the version manually |
2020-12-22 08:41:37 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2020-12-22 08:41:50 +0100 | <dminuoso> | Just unpack it somewhere and install as regular bindist |
2020-12-22 08:41:59 +0100 | <tdammers> | gentauro: you'd think well-typed, out of all people, would have a "strictly no scandinavians" hiring policy? |
2020-12-22 08:42:11 +0100 | <Turmiht> | I'm downloading it |
2020-12-22 08:42:57 +0100 | shad0w_ | (~shad0w_@160.202.37.210) |
2020-12-22 08:43:13 +0100 | danso | (~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9) |
2020-12-22 08:43:54 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-22 08:44:30 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) |
2020-12-22 08:45:31 +0100 | shad0w_ | (~shad0w_@160.202.37.210) (Read error: Connection reset by peer) |
2020-12-22 08:47:18 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 08:50:14 +0100 | nfd | (~nfd9001@c-67-183-38-33.hsd1.wa.comcast.net) (Ping timeout: 272 seconds) |
2020-12-22 08:51:07 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2020-12-22 08:51:39 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 258 seconds) |
2020-12-22 08:53:34 +0100 | <Turmiht> | sorry to ask, how can I use a specific ghc version when using cabal? |
2020-12-22 08:54:59 +0100 | <sclv> | use the -w flag |
2020-12-22 08:55:18 +0100 | <sclv> | cabal —help and the manual are your friends |
2020-12-22 08:56:00 +0100 | <dminuoso> | sclv: — instead of -? |
2020-12-22 08:56:01 +0100 | RaderH2O | (02b03581@2.176.53.129) |
2020-12-22 08:56:03 +0100 | <dminuoso> | Does cabal eat that? |
2020-12-22 08:56:11 +0100 | <RaderH2O> | hMmMm |
2020-12-22 08:56:50 +0100 | Turmiht27 | (c6347492@198.52.116.146) |
2020-12-22 08:56:56 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-12-22 08:57:23 +0100 | Turmiht27 | (c6347492@198.52.116.146) (Remote host closed the connection) |
2020-12-22 08:58:25 +0100 | Turmiht | (2d38964a@45.56.150.74) (Ping timeout: 245 seconds) |
2020-12-22 08:59:09 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9) |
2020-12-22 09:03:56 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 240 seconds) |
2020-12-22 09:04:27 +0100 | RaderH2O | (02b03581@2.176.53.129) (Remote host closed the connection) |
2020-12-22 09:05:25 +0100 | fxg | (~fxg@unaffiliated/fxg) (Ping timeout: 240 seconds) |
2020-12-22 09:06:50 +0100 | olligobber | (~olligobbe@unaffiliated/olligobber) |
2020-12-22 09:08:02 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 09:13:27 +0100 | Turmiht | (2d389679@45.56.150.121) |
2020-12-22 09:13:34 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2020-12-22 09:14:01 +0100 | <Turmiht> | I disconnected.. have a way to get history I missed? |
2020-12-22 09:14:08 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2020-12-22 09:15:10 +0100 | <dminuoso> | Turmiht: Check the topic of the channel |
2020-12-22 09:16:11 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz) |
2020-12-22 09:16:50 +0100 | nemron | (~nemron@2a01:598:a906:d62d:a0e2:5e5d:3ca2:a658) (Ping timeout: 264 seconds) |
2020-12-22 09:16:55 +0100 | gothos_ | (~gothos@antsy.jhz.name) |
2020-12-22 09:17:17 +0100 | [exa] | (exa@unaffiliated/exa/x-5381537) (Ping timeout: 256 seconds) |
2020-12-22 09:17:17 +0100 | arw | (~arw@impulse.informatik.uni-erlangen.de) (Ping timeout: 256 seconds) |
2020-12-22 09:17:20 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 09:17:24 +0100 | [exa] | (exa@srv3.blesmrt.net) |
2020-12-22 09:17:24 +0100 | arw | (~arw@impulse.informatik.uni-erlangen.de) |
2020-12-22 09:17:48 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-12-22 09:17:51 +0100 | gothos | (~gothos@antsy.jhz.name) (Ping timeout: 256 seconds) |
2020-12-22 09:17:51 +0100 | gothos_ | gothos |
2020-12-22 09:18:02 +0100 | sw1nn | (~sw1nn@2a00:23c6:2385:3a00:55:615d:2b49:d448) (Ping timeout: 260 seconds) |
2020-12-22 09:18:14 +0100 | nemron | (~nemron@2a02:810b:c7bf:fdb8:61d2:5f6c:bc78:4d37) |
2020-12-22 09:18:37 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:e33a:6fca:3b6a:86a2) (Ping timeout: 260 seconds) |
2020-12-22 09:19:05 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:1516:de:d27a:a053) |
2020-12-22 09:19:35 +0100 | sw1nn | (~sw1nn@2a00:23c6:2385:3a00:268a:d573:fb76:8521) |
2020-12-22 09:19:50 +0100 | _Cactus_ | (~cactus@2404:e801:200e:1f22:94f1:f531:bd80:25b1) (Ping timeout: 264 seconds) |
2020-12-22 09:20:58 +0100 | solonarv | (~solonarv@adijon-656-1-25-229.w90-13.abo.wanadoo.fr) |
2020-12-22 09:22:18 +0100 | <Turmiht> | I read the log and try -w, but found nothing about -w option in cabal --help |
2020-12-22 09:22:50 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 264 seconds) |
2020-12-22 09:24:09 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2020-12-22 09:24:36 +0100 | cyphase | (~cyphase@unaffiliated/cyphase) (Ping timeout: 240 seconds) |
2020-12-22 09:25:18 +0100 | <sclv> | -w is short for with-ghc |
2020-12-22 09:26:02 +0100 | <sclv> | re earlier, autocorrect turning my double hyphens into dashes, sigh |
2020-12-22 09:27:20 +0100 | mounty | (~mounty@210.1.196.133) |
2020-12-22 09:27:22 +0100 | <Turmiht> | is it in cabal's help? I still cannot found it |
2020-12-22 09:28:00 +0100 | <Turmiht> | search pattern `with-ghc` highlight nothing |
2020-12-22 09:28:17 +0100 | <sclv> | might only be kn the help for specific subcommands |
2020-12-22 09:31:09 +0100 | <Turmiht> | build with 8.10.3 also failed |
2020-12-22 09:31:14 +0100 | <Turmiht> | sadly |
2020-12-22 09:31:45 +0100 | cyphase | (~cyphase@unaffiliated/cyphase) |
2020-12-22 09:32:33 +0100 | <Turmiht> | -w works but it's not in manual if I'm not missed it |
2020-12-22 09:32:59 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) |
2020-12-22 09:33:06 +0100 | <Turmiht> | whatever, your advise is helpful and thx |
2020-12-22 09:33:28 +0100 | hhpp | (3dded63f@61-222-214-63.HINET-IP.hinet.net) |
2020-12-22 09:34:57 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-12-22 09:35:04 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) |
2020-12-22 09:35:44 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:bdf1:c121:9afd:9d42) (Ping timeout: 258 seconds) |
2020-12-22 09:37:19 +0100 | thir | (~thir@p200300f27f164f00f068565576ce0558.dip0.t-ipconnect.de) (Client Quit) |
2020-12-22 09:38:30 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 09:39:33 +0100 | Turmiht | (2d389679@45.56.150.121) (Remote host closed the connection) |
2020-12-22 09:39:57 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2020-12-22 09:39:57 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2020-12-22 09:39:57 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2020-12-22 09:40:59 +0100 | Mikagami | (~MOSCOS@122.54.107.175) (Read error: Connection reset by peer) |
2020-12-22 09:41:25 +0100 | Mikagami | (~MOSCOS@122.54.107.175) |
2020-12-22 09:42:36 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-22 09:43:07 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 260 seconds) |
2020-12-22 09:46:22 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:7482:9511:22c:1523) (Remote host closed the connection) |
2020-12-22 09:46:46 +0100 | Turmiht | (2d389679@45.56.150.121) |
2020-12-22 09:49:24 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 09:49:59 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 09:50:20 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 09:54:21 +0100 | Turmiht | (2d389679@45.56.150.121) (Remote host closed the connection) |
2020-12-22 09:55:22 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
2020-12-22 09:57:25 +0100 | drbean_ | (~drbean@TC210-63-209-212.static.apol.com.tw) (Ping timeout: 246 seconds) |
2020-12-22 09:57:36 +0100 | CMCDragonkai2 | (~Thunderbi@124.19.3.250) (Ping timeout: 240 seconds) |
2020-12-22 10:01:27 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 10:05:24 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2020-12-22 10:05:29 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 10:08:56 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) |
2020-12-22 10:12:16 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds) |
2020-12-22 10:13:43 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2020-12-22 10:13:43 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2020-12-22 10:13:43 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) |
2020-12-22 10:15:17 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 10:15:30 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 10:20:34 +0100 | Randy | (randy@freebsd/user/randy) (Quit: Brb) |
2020-12-22 10:21:31 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 10:22:14 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 264 seconds) |
2020-12-22 10:23:09 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-12-22 10:25:07 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 260 seconds) |
2020-12-22 10:26:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2020-12-22 10:26:37 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Ping timeout: 264 seconds) |
2020-12-22 10:26:43 +0100 | zv | (~zv@unaffiliated/zv) (Ping timeout: 258 seconds) |
2020-12-22 10:28:06 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 10:31:09 +0100 | Turmiht | (2d389679@45.56.150.121) |
2020-12-22 10:32:30 +0100 | vodkaInferno | (~wormphleg@104.131.156.184) (Read error: Connection reset by peer) |
2020-12-22 10:32:36 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2020-12-22 10:32:41 +0100 | vodkaInf1rno | (~wormphleg@104.131.156.184) |
2020-12-22 10:32:42 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 260 seconds) |
2020-12-22 10:33:26 +0100 | <Turmiht> | I just removed the binutils installed from homebrew and the original problems disappeared however how it fails in building phase instead of linking. |
2020-12-22 10:34:08 +0100 | _Cactus_ | (~cactus@2404:e801:200e:1f22:94f1:f531:bd80:25b1) |
2020-12-22 10:34:10 +0100 | <Turmiht> | Seems ghc use the linux version bin utils to build lib for me earlier. |
2020-12-22 10:36:53 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 10:36:54 +0100 | <Turmiht> | just for reference if somebody meet the same error. |
2020-12-22 10:37:40 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 246 seconds) |
2020-12-22 10:37:57 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 10:41:36 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 265 seconds) |
2020-12-22 10:42:19 +0100 | zv | (~zv@unaffiliated/zv) |
2020-12-22 10:42:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 264 seconds) |
2020-12-22 10:43:16 +0100 | ADG1089__ | (~aditya@122.163.166.13) (Remote host closed the connection) |
2020-12-22 10:43:42 +0100 | ADG1089__ | (~aditya@122.163.166.13) |
2020-12-22 10:43:42 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection) |
2020-12-22 10:45:02 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) |
2020-12-22 10:45:19 +0100 | Turmiht | (2d389679@45.56.150.121) (Remote host closed the connection) |
2020-12-22 10:46:46 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 10:47:47 +0100 | hhpp | (3dded63f@61-222-214-63.HINET-IP.hinet.net) (Remote host closed the connection) |
2020-12-22 10:48:32 +0100 | toorevitimirp | (~tooreviti@117.182.182.252) (Read error: Connection reset by peer) |
2020-12-22 10:48:49 +0100 | toorevitimirp | (~tooreviti@117.182.182.252) |
2020-12-22 10:50:22 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 256 seconds) |
2020-12-22 10:50:52 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 10:51:22 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Ping timeout: 260 seconds) |
2020-12-22 10:51:33 +0100 | ulidtko|kk | (~ulidtko@194.54.80.38) |
2020-12-22 10:52:25 +0100 | guest1222 | (~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1)) |
2020-12-22 10:52:34 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 10:52:50 +0100 | kindaro | (1f08c5b4@h31-8-197-180.dyn.bashtel.ru) |
2020-12-22 10:53:01 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 10:53:03 +0100 | <kindaro> | How can I view Template Haskell splices when building with Cabal? |
2020-12-22 10:53:30 +0100 | <kindaro> | `cabal build --ghc-options '-ddump-splices -ddump-to-file'` does not seem to produce any relevant files. |
2020-12-22 10:53:45 +0100 | ulidtko|k | (~ulidtko@193.111.48.79) (Ping timeout: 240 seconds) |
2020-12-22 10:53:47 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2020-12-22 10:54:23 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-vynnkfmwforjolgj) (Quit: Connection closed for inactivity) |
2020-12-22 10:54:24 +0100 | <kindaro> | I am using Cabal 3.4. |
2020-12-22 10:54:33 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 10:54:57 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Client Quit) |
2020-12-22 10:55:04 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 10:56:00 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:1516:de:d27a:a053) (Remote host closed the connection) |
2020-12-22 10:56:17 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:a2ff:122b:9237:e1f5) |
2020-12-22 10:56:44 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 10:56:48 +0100 | scde | (~scde@5.63.35.8) |
2020-12-22 10:57:13 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 10:58:51 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 10:58:54 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2020-12-22 10:59:17 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:00:48 +0100 | scde | (~scde@5.63.35.8) (Client Quit) |
2020-12-22 11:00:56 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:01:34 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:02:21 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 11:03:08 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:03:43 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:04:23 +0100 | [exa] | (exa@srv3.blesmrt.net) (Changing host) |
2020-12-22 11:04:23 +0100 | [exa] | (exa@unaffiliated/exa/x-5381537) |
2020-12-22 11:05:17 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:05:29 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2020-12-22 11:05:42 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:07:08 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Read error: Connection reset by peer) |
2020-12-22 11:07:18 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:07:44 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-12-22 11:07:47 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:09:20 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:09:26 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
2020-12-22 11:09:29 +0100 | <gentauro> | 08:41 < tdammers> gentauro: you'd think well-typed, out of all people, would have a "strictly no scandinavians" hiring policy? |
2020-12-22 11:09:50 +0100 | <gentauro> | I just find it strange that no scandis are at your company. I mean, people here are all <3 Haskell … |
2020-12-22 11:09:51 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:10:15 +0100 | kam1 | (~kam1@24.231.108.143) (Ping timeout: 268 seconds) |
2020-12-22 11:10:21 +0100 | <gentauro> | I heard from an employee that IOHK has a single dane (or somebody living here in CPH) as an employee |
2020-12-22 11:10:35 +0100 | <gentauro> | maybe is the wage gap? |
2020-12-22 11:11:08 +0100 | <gentauro> | tdammers: nevertheless, I'm doing some promo on LinkedIn. Hopefully some of my fellow CPH and FP lovers will apply :) |
2020-12-22 11:11:45 +0100 | urdh | (~urdh@unaffiliated/urdh) (Quit: Boom!) |
2020-12-22 11:12:05 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:12:30 +0100 | <tdammers> | yes, please do. wage gap might play a role, but I don't think it's the decisive factor - after all, we do have people in other high-income areas |
2020-12-22 11:12:37 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:13:26 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2020-12-22 11:13:55 +0100 | urdh | (~urdh@unaffiliated/urdh) |
2020-12-22 11:14:15 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:14:41 +0100 | <gentauro> | tdammers: I noticed myself (found and organizer of MF#K in Denmark) where people "beg" for FP jobs. And yes, wage isn't an issue. Personally, I had to decline a Swedish (Haskell) startup-job cos the person offered me a salary that was worse than a Danish cashier … |
2020-12-22 11:14:46 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:14:56 +0100 | <gentauro> | I mean, I would <3 to work with Haskell, but with a "fair" salary ;) |
2020-12-22 11:15:06 +0100 | <tdammers> | hmhm |
2020-12-22 11:16:09 +0100 | <gentauro> | tdammers: Well-Types is an UK company right? What will happen from the new year (Brexit)? |
2020-12-22 11:16:18 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:16:50 +0100 | _Cactus_ | (~cactus@2404:e801:200e:1f22:94f1:f531:bd80:25b1) (Ping timeout: 264 seconds) |
2020-12-22 11:16:57 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:18:04 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 11:18:25 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2020-12-22 11:18:26 +0100 | <tdammers> | it is, yes |
2020-12-22 11:18:51 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2020-12-22 11:18:57 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:19:01 +0100 | <tdammers> | I'm not sure it's decided what the consequences of Brexit will be, but it won't be the end of the company |
2020-12-22 11:22:05 +0100 | <gentauro> | tdammers: I guess WT can do the same as `serokell` where if the owners of WT just apply for a virtual Estonian citizenship (I have it) they can make a company in the EU from anywhere in the world |
2020-12-22 11:22:24 +0100 | <gentauro> | but I guess the owners of WT already have that covered :) |
2020-12-22 11:22:32 +0100 | <tdammers> | yep |
2020-12-22 11:22:36 +0100 | <merijn> | eh, Brexit has already happened, this year is just the end of the grace period for the free trade agreement. And since consulting isn't a physical good I suspect the impact of Brexit is at worst "slightly increased cost" |
2020-12-22 11:22:50 +0100 | <tdammers> | we also literally have one employee in Estonia (though I believe he doesn't have citizenship) |
2020-12-22 11:23:16 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
2020-12-22 11:23:16 +0100 | <tdammers> | merijn: yeah, hence my assessment that chances to the company structure might not be necessary at all |
2020-12-22 11:23:31 +0100 | <tdammers> | after all, we already have plenty of clients outside of the EU |
2020-12-22 11:24:22 +0100 | <gentauro> | merijn: I do freelance gigs. And my `Certified Public Accountant` told me to "stay away" from anything UK related (so much paperwork that needs to be done now) |
2020-12-22 11:24:57 +0100 | glowcoil | (sid3405@gateway/web/irccloud.com/x-urkxtcqlvmxbhybw) |
2020-12-22 11:25:17 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 11:25:17 +0100 | <gentauro> | 11:23 < tdammers> after all, we already have plenty of clients outside of the EU |
2020-12-22 11:25:20 +0100 | <gentauro> | good to hear |
2020-12-22 11:25:48 +0100 | <tdammers> | the interesting bit is of course that we're a UK-based company that has both clients and employees outside the UK |
2020-12-22 11:25:49 +0100 | rslima_____ | (sid26145@gateway/web/irccloud.com/x-sxoacwwvrypgvpjy) |
2020-12-22 11:26:09 +0100 | ocharles | (sid30093@gateway/web/irccloud.com/x-xltcvhbyjparvqrq) |
2020-12-22 11:26:20 +0100 | <merijn> | gentauro: I mean, it's the exact same paperwork as working with companies in the US |
2020-12-22 11:26:23 +0100 | ocharles | Guest98308 |
2020-12-22 11:26:48 +0100 | kyagrd__ | (sid102627@gateway/web/irccloud.com/x-ypgrgcqphmltykqe) |
2020-12-22 11:26:49 +0100 | milessabin | (sid86799@gateway/web/irccloud.com/x-qdexhvophzkhmamx) |
2020-12-22 11:27:16 +0100 | <tdammers> | this is interesting already even without brexit, because while I am employed by WT directly as far as employment legalities are concerned, the fiscal situation is that WT rents my services from a Dutch payroll agency, and I am fiscally employed by the payroll agency, not WT |
2020-12-22 11:27:20 +0100 | Kamuela | (sid111576@gateway/web/irccloud.com/x-sygmzwyrzcdkakla) |
2020-12-22 11:27:24 +0100 | <gentauro> | merijn: yeah, that pretty `meh` as well. I know one of the few `Tor` employees here in Denmark. It was to much hasle to `Tor` created a danish subsidiary company in Denmark |
2020-12-22 11:28:26 +0100 | kristjansson | (sid126207@gateway/web/irccloud.com/x-kjqkrwfhxeyivisw) |
2020-12-22 11:28:31 +0100 | graingert | (sid128301@gateway/web/irccloud.com/x-pvrbspgvxauvbmrf) |
2020-12-22 11:28:33 +0100 | <merijn> | gentauro: You don't need to directly employ people anyway. An old colleague "works for" a US company, but he's basically self-employed and then his company gets contracted from the US, as there's much simpler paperwork for B2B contract |
2020-12-22 11:28:35 +0100 | <tdammers> | some other WT employees are fiscally self-employed, and send invoices to WT directly, so they get to do the international paperwork themselves - but I opted to do the payrolling thing, for all sorts of boring reasons |
2020-12-22 11:29:15 +0100 | <gentauro> | merijn: yeah, that is what Oskar Wickström (haskellatwork) does :) |
2020-12-22 11:29:38 +0100 | kuribas | (~user@ptr-25vy0i7ylwdflfexhxz.18120a2.ip6.access.telenet.be) |
2020-12-22 11:29:44 +0100 | taktoa[c] | (sid282096@gateway/web/irccloud.com/x-qzdgtblpiialqhic) |
2020-12-22 11:30:02 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 256 seconds) |
2020-12-22 11:30:15 +0100 | hazard-pointer | (sid331723@gateway/web/irccloud.com/x-nmwklpcxqbimwbcx) |
2020-12-22 11:30:35 +0100 | <kuribas> | why isn't there a IsLable instance for Proxy? |
2020-12-22 11:30:40 +0100 | dani- | (sid341953@gateway/web/irccloud.com/x-ntpllqrkvsgxojfo) |
2020-12-22 11:30:44 +0100 | <kuribas> | IsLabel |
2020-12-22 11:30:47 +0100 | <tdammers> | main reason being that Dutch gov't is on a crusade against "fake self employement", and that means that if you do it that way, you will be subjected to a lot of paperwork and scrutinity, and you may find yourself being considered "not really self-employed after all", and then you get to deal with even more bureaucratic nonsense |
2020-12-22 11:30:53 +0100 | srhb | (sid400352@NixOS/user/srhb) |
2020-12-22 11:31:03 +0100 | m-renaud | (sid333785@gateway/web/irccloud.com/x-rdlxbrqpwuslqdal) |
2020-12-22 11:31:23 +0100 | <kuribas> | Or at least some kind of Label type in base? |
2020-12-22 11:31:26 +0100 | ghuntley | (sid16877@gateway/web/irccloud.com/x-ykjkjsicixvqqmkq) |
2020-12-22 11:31:28 +0100 | <tdammers> | I mean, the intended goal is honorable - this kind of fake self-employment has been a loophole to bypass labor laws for a long while |
2020-12-22 11:31:30 +0100 | _Cactus_ | (~cactus@173.244.208.116) |
2020-12-22 11:31:56 +0100 | kozowu | (uid44796@gateway/web/irccloud.com/x-lmrzkgcwuiqfijer) |
2020-12-22 11:32:00 +0100 | <gentauro> | tdammers: so it's like in DK. If you work as a freelance as you would do as an employee (same tasks) then the Government will "fine" the hiring company |
2020-12-22 11:32:16 +0100 | <tdammers> | yes. even retroactively. |
2020-12-22 11:32:23 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) (Quit: Lost terminal) |
2020-12-22 11:32:38 +0100 | <gentauro> | the trick is to have at least "two different" companies in a fiscal year |
2020-12-22 11:32:38 +0100 | J_Arcane | (sid119274@gateway/web/irccloud.com/x-rmzbmhxqvjyslqlb) |
2020-12-22 11:32:50 +0100 | <tdammers> | the rules are bit more involved here |
2020-12-22 11:32:55 +0100 | <gentauro> | I guess |
2020-12-22 11:33:07 +0100 | <tdammers> | e.g., for certain industries (like performing arts), two is not enough |
2020-12-22 11:33:50 +0100 | <tdammers> | you also have to make a plausible argument that you are spending at least 24 hours per week directly on the job - and for musicians, this can be a problem, because the time you spend preparing for gigs and practicing your instrument skills does not count towards that |
2020-12-22 11:34:08 +0100 | <gentauro> | :o |
2020-12-22 11:34:16 +0100 | typetetris | (sid275937@gateway/web/irccloud.com/x-wukxokdildxlsinc) |
2020-12-22 11:34:19 +0100 | <tdammers> | which is absolute nonsense of course, but that's the situation |
2020-12-22 11:34:42 +0100 | <gentauro> | so artist needs to be part of a "corporate" then? |
2020-12-22 11:34:50 +0100 | <tdammers> | hmm, no |
2020-12-22 11:34:52 +0100 | <gentauro> | that will help with "creativity" |
2020-12-22 11:34:57 +0100 | nowhere_man | (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) (Remote host closed the connection) |
2020-12-22 11:35:06 +0100 | <kuribas> | tdammers: that would make the actual work versus percieved work ration for a musician 0.1% |
2020-12-22 11:35:13 +0100 | <tdammers> | some artists manage to meet the criteria, while many others instead do the payroll thing |
2020-12-22 11:35:21 +0100 | <tdammers> | kuribas: yes, just about |
2020-12-22 11:35:39 +0100 | jackdk | (sid373013@gateway/web/irccloud.com/x-xeablxzuerknfxni) |
2020-12-22 11:35:50 +0100 | agander_m | (sid407952@gateway/web/irccloud.com/x-godagyxukcquqjck) |
2020-12-22 11:36:12 +0100 | <tdammers> | kuribas: though not that extreme. when I was still a pro musician, I would work 80 hour weeks on average; about 2-3 hours of that would be performing, and another 16 hours teaching, plus maybe 1-2 hours doing paid composition / arrangement work |
2020-12-22 11:36:16 +0100 | nowhere_man | (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) |
2020-12-22 11:36:26 +0100 | <tdammers> | so about a 1:4 ratio |
2020-12-22 11:37:07 +0100 | <gentauro> | maybe they are part of the "SCAM" that they use in Spain with the "media money". It's shared based on your exposure on TV/radio. People who "sell out" and vote the "dark side" on how to distribute the "media money", gets their music played between 01:00 - 05:00 AM |
2020-12-22 11:37:30 +0100 | <gentauro> | since ther music is played the "most", they get more TV-money that "well know artist" |
2020-12-22 11:38:10 +0100 | <gentauro> | "well know artist" complain about this, but nobody cares cos they had these campaigsn where they called "everybody thiefs" for "stealing the music". Karma can be a b- … |
2020-12-22 11:38:13 +0100 | <gentauro> | :) |
2020-12-22 11:38:24 +0100 | <tdammers> | it's a shame that there's no good model for fitting professional artists into the capitalist model |
2020-12-22 11:38:26 +0100 | <kuribas> | tdammers: funny thing is, if I am doing choir accompaniment, I hardly need to practice, and get payed usually quite well. When doing "serious music", like Brahms quartets, I spend months praciticing, going to Gent every weekend with the train to rehearse, and if I get just the cost back I can be happy. |
2020-12-22 11:39:31 +0100 | <kuribas> | tdammers: tl;dr people don't care about Brahms, but they care about John Rutter :-) |
2020-12-22 11:39:32 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2020-12-22 11:39:45 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
2020-12-22 11:39:45 +0100 | <gentauro> | tdammers: I once where at this small bar with some IT-people drinking a few beers. It was only us and some "random" Swedish band playing some music in the background. Since nobody else came in, the owner didn't want to pay the band. So we all chipped up money for gas so they could go back to Sweden |
2020-12-22 11:39:52 +0100 | <tdammers> | kuribas: that's the arts for ya. when I was a pro, I'd do the stuff I love for a sandwich and gas money, but playing stupid charts stuff, or just sitting in a corner playing unobtrusive piano music was the stuff that'd rake in the money |
2020-12-22 11:39:53 +0100 | <gentauro> | musician don't have it easy … |
2020-12-22 11:39:56 +0100 | <kuribas> | or worse, Ludovico einaudi |
2020-12-22 11:40:42 +0100 | <tdammers> | I know you classical pianists hate Einaudi, but I kind of admire him for having found a thing that sells and consistently pulling off selling it over and over and over again |
2020-12-22 11:40:57 +0100 | nowhere_man | (~pierre@2a01:e0a:3c7:60d0:e88f:4e24:f6a7:f155) (Ping timeout: 260 seconds) |
2020-12-22 11:40:58 +0100 | <tdammers> | and apparently he manages to do it without grinding his soul into a mushy pulp |
2020-12-22 11:40:59 +0100 | <kuribas> | sure, he's absolutely great at marketing |
2020-12-22 11:41:23 +0100 | <gentauro> | wait a second. Is this an analogy with FP/Haskell? xD |
2020-12-22 11:41:30 +0100 | shad0w_ | (~shad0w_@160.202.37.210) |
2020-12-22 11:41:31 +0100 | <tdammers> | nooooooo... |
2020-12-22 11:41:36 +0100 | <kuribas> | yeah, this is very offtopic |
2020-12-22 11:41:53 +0100 | <kuribas> | unless you compare einaudi with php |
2020-12-22 11:42:03 +0100 | <tdammers> | nah, he's way too consistent |
2020-12-22 11:42:09 +0100 | <gentauro> | kuribas: for me it is. I would rather work with Haskell, but what brings food on the table is my .NET gigs |
2020-12-22 11:42:12 +0100 | <gentauro> | xD |
2020-12-22 11:42:15 +0100 | <kuribas> | tdammers: lol |
2020-12-22 11:42:31 +0100 | <kuribas> | gentauro: not f# I suppose |
2020-12-22 11:42:33 +0100 | <kuribas> | ? |
2020-12-22 11:42:56 +0100 | <gentauro> | in Denmark is C#, cos the person who created it was a dane. Tough market to introduce something else … |
2020-12-22 11:43:26 +0100 | <tdammers> | C# is also insanely popular across Europe due to Windows and the MS stack in general |
2020-12-22 11:43:37 +0100 | <gentauro> | kuribas: but sometimes I do F#, but people can't maintain it so I end up re-writting it to C# :( |
2020-12-22 11:43:43 +0100 | <kuribas> | gentauro: can you introduce FP concepts in your team? |
2020-12-22 11:43:52 +0100 | <tdammers> | lots of European companies have been on MS stacks forever, and many corporate IT systems started as an Excel sheet on the CEO's computer |
2020-12-22 11:43:58 +0100 | <kuribas> | .NET seem to have better support for immutability than java |
2020-12-22 11:44:12 +0100 | <tdammers> | gah, there's the I-word again |
2020-12-22 11:44:20 +0100 | solarliner | (~solarline@243.81.10.109.rev.sfr.net) (Read error: Connection reset by peer) |
2020-12-22 11:44:29 +0100 | <gentauro> | kuribas: not where I am at the moment. It's a freelance gig. If I introduce something and the team can't take over, I have to provide "free hours" until they do. So this time no FP for me ;) |
2020-12-22 11:44:36 +0100 | ADG1089__ | (~aditya@122.163.166.13) (Quit: Konversation terminated!) |
2020-12-22 11:45:32 +0100 | st8less | (~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Quit: WeeChat 2.9) |
2020-12-22 11:45:35 +0100 | <dminuoso> | https://hackage.haskell.org/package/websockets-0.12.7.2/docs/Network-WebSockets.html#t:WebSocketsD… |
2020-12-22 11:45:37 +0100 | <dminuoso> | You should only use the Text or the Text instance when you are sure that the data is UTF-8 encoded (which is the case for Text messages). |
2020-12-22 11:45:44 +0100 | <dminuoso> | Can anyone guess what they mean by this here? It sounds confused. |
2020-12-22 11:45:48 +0100 | <gentauro> | kuribas: but right now, I'm writing a tool in Haskell that generates F# code :) |
2020-12-22 11:46:08 +0100 | <kuribas> | tdammers: what's wrong with that? |
2020-12-22 11:46:08 +0100 | <gentauro> | I'm expecting to have it ready by the end of the year |
2020-12-22 11:46:31 +0100 | <tdammers> | dminuoso: I think it means "if you are not sure that the data you will receive is UTF-8 encoded, then do not use the Text instances" |
2020-12-22 11:47:21 +0100 | <tdammers> | kuribas: it misses the point. the problem isn't just mutability, and making variables immutable when you can just willy-nilly have all sorts of side effects is completely pointless |
2020-12-22 11:47:45 +0100 | <tdammers> | take, for example, clojure, which makes a pompous deal out of immutability, but completely ignores other side effects, such as disk I/O |
2020-12-22 11:47:47 +0100 | <kuribas> | tdammers: I totally agree, but at least it's a small step, no? |
2020-12-22 11:48:25 +0100 | <dminuoso> | tdammers: Given the context that's strange. |
2020-12-22 11:48:28 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 11:48:48 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 260 seconds) |
2020-12-22 11:49:20 +0100 | <tdammers> | dminuoso: the other interpretation just doesn't make sense ("when you are sure that the data is UTF-8 encoded, then do not use any other instances") |
2020-12-22 11:50:15 +0100 | <kuribas> | tdammers: IMO the biggest fuckup in clojure is using hashmaps for everything. |
2020-12-22 11:50:21 +0100 | <dminuoso> | tdammers: Mmm. The phrasing is just odd, especially the `(which is the case for Text messages)` part of it. |
2020-12-22 11:50:46 +0100 | <kuribas> | tdammers: being so lenient means that most advantages of purity go away. |
2020-12-22 11:50:59 +0100 | <gentauro> | kuribas: some F# I have seen, it's just C# (OO) but written with F# syntax |
2020-12-22 11:51:16 +0100 | <gentauro> | very few people write F# as they would write SML/ML |
2020-12-22 11:51:22 +0100 | <tdammers> | kuribas: clojure never really had a lot of advantages of purity in the first place, but hashmaps-for-everything has nothing to do with it |
2020-12-22 11:51:24 +0100 | <dminuoso> | But I think they're just trying to say `fromDataMessage @Text` will crash, unles you are getting a Text message (as per websocket specs), or an utf8 encoded binary message. |
2020-12-22 11:51:39 +0100 | <tdammers> | you can have completely pure hashmaps (though preventing HashDoS is tricky then) |
2020-12-22 11:51:50 +0100 | <kuribas> | tdammers: hashmaps for everything means it's impossible to reason about anything |
2020-12-22 11:52:10 +0100 | <kuribas> | tdammers: and the goal of immutability is reasoning |
2020-12-22 11:52:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 11:52:24 +0100 | <tdammers> | no it doesn't |
2020-12-22 11:52:39 +0100 | <tdammers> | *pure* hashmaps means they're still pure, and you can still reason about their purity |
2020-12-22 11:52:58 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Ping timeout: 258 seconds) |
2020-12-22 11:53:14 +0100 | <tdammers> | it's very vaguely similar to how you can still apply pure reasoning to IO actions, as long as you don't apply pure reasoning to the *execution* of IO actions |
2020-12-22 11:53:28 +0100 | <kuribas> | pure until something crashes because you don't have a field in the hashmap... |
2020-12-22 11:54:08 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2020-12-22 11:54:16 +0100 | <tdammers> | that's orthogonal |
2020-12-22 11:54:25 +0100 | <tdammers> | we have enough partial functions in Haskell too |
2020-12-22 11:54:39 +0100 | <kuribas> | gentauro: in that case it would be better to keep it in C# |
2020-12-22 11:54:56 +0100 | <tdammers> | > [] ! 1 |
2020-12-22 11:54:58 +0100 | <lambdabot> | error: |
2020-12-22 11:54:58 +0100 | <lambdabot> | • Couldn't match expected type ‘Array i0 e’ with actual type ‘[a0]’ |
2020-12-22 11:54:59 +0100 | <lambdabot> | • In the first argument of ‘(!)’, namely ‘[]’ |
2020-12-22 11:55:03 +0100 | <tdammers> | > [] !! 1 |
2020-12-22 11:55:05 +0100 | <kuribas> | tdammers: and I try to avoid partial functions in haskell |
2020-12-22 11:55:06 +0100 | <lambdabot> | *Exception: Prelude.!!: index too large |
2020-12-22 11:55:22 +0100 | <tdammers> | so avoid partial functions in clojure. this has nothing to do with purity |
2020-12-22 11:55:45 +0100 | hiroaki | (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
2020-12-22 11:56:14 +0100 | <kuribas> | tdammers: every function in clojure that takes a hashmap is partial. |
2020-12-22 11:56:28 +0100 | <tdammers> | that is obviously false |
2020-12-22 11:56:33 +0100 | <kuribas> | tdammers: or even worse when it isn't partial, it just returns a wrong result. |
2020-12-22 11:57:05 +0100 | <kuribas> | yeah, the "obviously false" case is worse. |
2020-12-22 11:57:15 +0100 | <kuribas> | I prefer things crashing early over wrong behaviour. |
2020-12-22 11:57:43 +0100 | <kuribas> | IMO total > partial > total doing the wrong thing |
2020-12-22 11:58:07 +0100 | <tdammers> | (get hashmap key) returns nil if the key doesn't exist |
2020-12-22 11:58:12 +0100 | <tdammers> | that is neither partial nor the wrong thing |
2020-12-22 11:58:19 +0100 | <tdammers> | what else would you want it to do? |
2020-12-22 11:58:45 +0100 | <tdammers> | it could crash, but that would make it partial, by the definition we use in Haskell |
2020-12-22 11:59:24 +0100 | <tdammers> | then again, due to the lack of a type checker, most clojure functions are in fact partial - `get`, for example, cannot be called on something that isn't a collection |
2020-12-22 11:59:51 +0100 | <tdammers> | but anyway, this has absolutely nothing to do with effects, nor mutability |
2020-12-22 11:59:54 +0100 | <kuribas> | tdammers: it's not about what I want a hashmap to do, it's about when I want to use a hashmap. |
2020-12-22 12:00:04 +0100 | <kuribas> | and I don't want to use it for everything |
2020-12-22 12:00:11 +0100 | <tdammers> | that's a completely valid complaint |
2020-12-22 12:00:13 +0100 | Tops2 | (~Tobias@dyndsl-095-033-089-034.ewe-ip-backbone.de) |
2020-12-22 12:00:23 +0100 | <tdammers> | but it has nothing to do with purity or partiality |
2020-12-22 12:00:37 +0100 | <tdammers> | your complaint is about hashmaps being too generic |
2020-12-22 12:00:37 +0100 | Mikagami | (~MOSCOS@122.54.107.175) (Remote host closed the connection) |
2020-12-22 12:00:55 +0100 | <tdammers> | about not providing any static constraints as to which values may go into which keys |
2020-12-22 12:01:03 +0100 | <kuribas> | tdammers: it can: (get 5 :a) => nil |
2020-12-22 12:01:05 +0100 | Mikagami | (~MOSCOS@122.54.107.175) |
2020-12-22 12:01:18 +0100 | <kuribas> | (get "abc" :a) => nil |
2020-12-22 12:01:22 +0100 | <tdammers> | right |
2020-12-22 12:01:48 +0100 | <tdammers> | but since clj runs on the jvm, and uses java interfaces to implement things like lookup, you can fabricate classes that will cause lookups to crash |
2020-12-22 12:02:11 +0100 | <tdammers> | granted, that's a bit of a fabricated argument |
2020-12-22 12:03:40 +0100 | cow-orker | (~foobar@pogostick.net) (Remote host closed the connection) |
2020-12-22 12:04:56 +0100 | <kuribas> | the philosophy of clojure is to be very lenient |
2020-12-22 12:05:04 +0100 | <kuribas> | it's typically the java side that crashes |
2020-12-22 12:05:16 +0100 | CindyLinz | (~cindy_utf@112.121.78.20) (Ping timeout: 240 seconds) |
2020-12-22 12:05:56 +0100 | solarion | (~solarion@fsf/member/solarion) (Ping timeout: 240 seconds) |
2020-12-22 12:05:56 +0100 | c_wraith | (~c_wraith@adjoint.us) (Ping timeout: 240 seconds) |
2020-12-22 12:05:56 +0100 | byorgey | (~byorgey@155.138.238.211) (Ping timeout: 240 seconds) |
2020-12-22 12:06:18 +0100 | byorgey | (~byorgey@155.138.238.211) |
2020-12-22 12:06:20 +0100 | CindyLinz | (~cindy_utf@112.121.78.20) |
2020-12-22 12:07:33 +0100 | solarion | (~solarion@mail.digitasaru.net) |
2020-12-22 12:09:17 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) |
2020-12-22 12:09:49 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 260 seconds) |
2020-12-22 12:10:58 +0100 | c_wraith | (~c_wraith@adjoint.us) |
2020-12-22 12:11:25 +0100 | <kuribas> | tdammers: my point is that with pattern matching and records, you can avoid a complex type system, and still get easy to understand errors. |
2020-12-22 12:11:41 +0100 | <kuribas> | tdammers: a sufficiently smart compiler could even do that at compile time. |
2020-12-22 12:11:56 +0100 | <kuribas> | SBCL is quite good in static analysis. |
2020-12-22 12:12:30 +0100 | xcmw | (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 12:12:32 +0100 | <gentauro> | 11:54 < kuribas> gentauro: in that case it would be better to keep it in C# |
2020-12-22 12:12:35 +0100 | <gentauro> | kuribas: yep |
2020-12-22 12:13:54 +0100 | <kuribas> | tdammers: I totally agree that the benifits from static pure FP doesn't come from a single feature, but several features and how you use them. |
2020-12-22 12:14:48 +0100 | <tdammers> | case in point, something more strict than hashmaps is fairly useless without static checks |
2020-12-22 12:14:53 +0100 | <tdammers> | take for example Python classes |
2020-12-22 12:15:14 +0100 | <tdammers> | you can say foo.bar, which is roughly equivalent to (get foo :bar) in clojure, or bar foo in haskell |
2020-12-22 12:15:44 +0100 | <tdammers> | in haskell, the compiler can tell you that you cannot apply bar to foo, because the foo type doesn't have a bar field |
2020-12-22 12:16:13 +0100 | <tdammers> | in clojure, you're just going to get nil, which is the interpreter telling you, at runtime, that the value you're looking at doesn't have a bar field |
2020-12-22 12:16:24 +0100 | <tdammers> | in python, you get a crash at runtime |
2020-12-22 12:16:50 +0100 | qwsd | (~tema@217.118.92.215) |
2020-12-22 12:16:58 +0100 | <tdammers> | so in both of these dynamic languages, the error doesn't get reported until runtime - Python fares no better than clojure, even though you declared the class beforehand as a "type" |
2020-12-22 12:17:54 +0100 | <gentauro> | tdammers: languages with `casting` are as bad as `dynamic-typed` langauges. |
2020-12-22 12:17:59 +0100 | <tdammers> | so why, then, would you go through the trouble of declaring classes (or having explicit record fields, or anything similar) when you can't get more useful (i.e., earlier and louder) failures out of it? |
2020-12-22 12:18:53 +0100 | Majiir | (~Majiir@pool-96-237-149-35.bstnma.fios.verizon.net) (Quit: CUT THE HARDLINES!!) |
2020-12-22 12:18:54 +0100 | <tdammers> | gentauro: not the point, really - all I'm saying here is that the benefit of more explicit record types is that you can get better static reasoning, but if the static reasoning doesn't happen and you still won't get errors until you actually run the broken code, then you're not getting much value out of it |
2020-12-22 12:19:37 +0100 | <tdammers> | clojure acknowledges this and says, OK, so we're not getting any static assertions out of this either way, so let's just use the simpler solution here |
2020-12-22 12:23:21 +0100 | Majiir | (~Majiir@pool-96-237-149-35.bstnma.fios.verizon.net) |
2020-12-22 12:25:47 +0100 | <kuribas> | tdammers: yeah, earlier and louder is better that late and/or silent |
2020-12-22 12:26:16 +0100 | <kuribas> | tdammers: but you do get earlier and louder errors, as long as you don't do nil punning. |
2020-12-22 12:26:24 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2020-12-22 12:26:51 +0100 | kindaro | (1f08c5b4@h31-8-197-180.dyn.bashtel.ru) (Remote host closed the connection) |
2020-12-22 12:26:52 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2020-12-22 12:27:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-12-22 12:28:05 +0100 | <kuribas> | tdammers: I think scheme works that way, let me test... |
2020-12-22 12:28:06 +0100 | <tdammers> | the "lateness" of errors can be classified pretty much like this: 1. while writing the code, 2. while building ("compile-time"), 3. when running test suite, 4. when starting up the application, 5. when running the offending code under the error conditions |
2020-12-22 12:28:31 +0100 | <tdammers> | anything more fine-grained than that is largely irrelevant |
2020-12-22 12:28:42 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-22 12:29:03 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 12:29:15 +0100 | <tdammers> | oh, and there is 6. after running the offending code under the error conditions |
2020-12-22 12:29:33 +0100 | <tdammers> | which is of course the worst, because now you have absolutely no idea what even triggers the error |
2020-12-22 12:30:08 +0100 | <dminuoso> | I guess memory corruption is a frequenty case of 6. |
2020-12-22 12:30:30 +0100 | <tdammers> | yeah, and it's the reason why, all else being equal, garbage collection is the lesser evil |
2020-12-22 12:30:38 +0100 | <gentauro> | tdammers: or type-system not providing anything at all :P https://youtu.be/Gv2I7qTux7g?t=549 |
2020-12-22 12:30:49 +0100 | shad0w_ | (~shad0w_@160.202.37.210) (Ping timeout: 264 seconds) |
2020-12-22 12:31:22 +0100 | <kuribas> | tdammers: 5. running the code in acceptance, 6. running the code in production |
2020-12-22 12:31:52 +0100 | <tdammers> | kuribas: that's one of those more fine-grained distinctions that don't matter much in practice |
2020-12-22 12:33:12 +0100 | drbean | (~drbean@TC210-63-209-21.static.apol.com.tw) |
2020-12-22 12:33:19 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection) |
2020-12-22 12:34:40 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 12:35:24 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 12:35:46 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 12:36:18 +0100 | <kuribas> | tdammers: in our case, we even remotely connect to the production repl :-) |
2020-12-22 12:36:25 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) () |
2020-12-22 12:36:26 +0100 | <dminuoso> | gentauro: Speaking of "langauges with `casting`", should we have a good and long talk about Haskell and it's ubiquitous realToFrac and fromIntegral functions? :> |
2020-12-22 12:36:48 +0100 | <dminuoso> | Realistically, Haskell is not a dime better than C with regards to casting of integral types. |
2020-12-22 12:37:25 +0100 | <dminuoso> | It's some worse in fact, because you're constantly annoyed to insert realToFrac and fromIntegral everywhere, which add no value to the quality of code. |
2020-12-22 12:37:34 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 12:38:42 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:a2ff:122b:9237:e1f5) (Ping timeout: 260 seconds) |
2020-12-22 12:40:18 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
2020-12-22 12:40:18 +0100 | <kuribas> | can unsafeCoerce crash a production server? |
2020-12-22 12:40:26 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-12-22 12:41:30 +0100 | xff0x_ | (~fox@2001:1a81:53b4:600:a2ff:122b:9237:e1f5) |
2020-12-22 12:42:00 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 256 seconds) |
2020-12-22 12:42:02 +0100 | <kuribas> | or will it crash a single thread? |
2020-12-22 12:42:24 +0100 | <dminuoso> | It has the capability of crashing the entire process |
2020-12-22 12:43:00 +0100 | <solonarv> | you can probably achieve a segfault using unsafeCoerce |
2020-12-22 12:44:04 +0100 | <tdammers> | s/probably/definitely/ -- been there, done that |
2020-12-22 12:44:28 +0100 | <solonarv> | I only hedged because I couldn't provide/remember a concrete example ;) |
2020-12-22 12:44:53 +0100 | <sshine> | 1 is a decent probability. |
2020-12-22 12:44:53 +0100 | <dminuoso> | % unsafeCoerce 10 :: String |
2020-12-22 12:44:54 +0100 | <yahb> | dminuoso: ; <interactive>:34:20: error:; Not in scope: type constructor or class `String'; Perhaps you meant one of these: `IsString' (imported from GHC.Exts), `Strict' (imported from Control.Lens), `Strict' (imported from Language.Haskell.TH) |
2020-12-22 12:45:01 +0100 | <dminuoso> | err |
2020-12-22 12:45:27 +0100 | <dminuoso> | % unsafeCoerce 10 :: String |
2020-12-22 12:45:27 +0100 | <yahb> | dminuoso: "" |
2020-12-22 12:45:31 +0100 | <dminuoso> | Okay what? |
2020-12-22 12:45:46 +0100 | <dminuoso> | % unsafeCoerce 10 :: IO String |
2020-12-22 12:45:47 +0100 | <yahb> | dminuoso: "[Segmentation fault] |
2020-12-22 12:45:56 +0100 | <dminuoso> | Much better. ^- kuribas |
2020-12-22 12:46:01 +0100 | <kuribas> | % unsafeCoerce (10 :: Int) :: String |
2020-12-22 12:46:02 +0100 | <yahb> | kuribas: "" |
2020-12-22 12:46:04 +0100 | <solonarv> | ADT-to-ADT is usually (always?) safe, both Integer (which the 10 defaults to) and String are ADTs |
2020-12-22 12:46:25 +0100 | <dminuoso> | solonarv: I dont think it's safe. |
2020-12-22 12:47:08 +0100 | <dminuoso> | solonarv: Also, IO is also just an ADT. |
2020-12-22 12:47:08 +0100 | <kuribas> | 10 must be compatible with String... |
2020-12-22 12:47:17 +0100 | <kuribas> | maybe some magic bit |
2020-12-22 12:47:27 +0100 | <solonarv> | no, IO is a newtype over a function. That makes it not an ADT (in terms of representation) |
2020-12-22 12:47:34 +0100 | <dminuoso> | Ah, I see what you mean |
2020-12-22 12:48:16 +0100 | <solonarv> | data Int = I# Int# ; so (10 :: Int) is represented by a tag saying "first constructor" followed by the actual value |
2020-12-22 12:49:01 +0100 | <kuribas> | tdammers: gauche scheme raises an error when accessing an unbound slot |
2020-12-22 12:49:03 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 12:49:03 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 12:49:32 +0100 | <solonarv> | data [] a = [] | a : [] a ; if you try to interpret that (10 :: Int) value as a [b] , you look at that tag, which tells you "first constructor"; the first constructor is [], which has no fields, so you don't look any further and everything "works" |
2020-12-22 12:49:44 +0100 | <dminuoso> | solonarv: Here's why your theory is wrong: |
2020-12-22 12:50:25 +0100 | <dminuoso> | % unsafeCoerce () :: NE.NonEmpty Char -- solonarv |
2020-12-22 12:50:26 +0100 | <yahb> | dminuoso: ; <interactive>:1:20: error:; Not in scope: type constructor or class `NE.NonEmpty'; No module named `NE' is imported. |
2020-12-22 12:50:35 +0100 | <dminuoso> | % import qualified Data.List.NonEmpty as NE |
2020-12-22 12:50:35 +0100 | <yahb> | dminuoso: |
2020-12-22 12:50:37 +0100 | <dminuoso> | % unsafeCoerce () :: NE.NonEmpty Char -- solonarv |
2020-12-22 12:50:37 +0100 | <yahb> | dminuoso: [Segmentation fault] |
2020-12-22 12:50:54 +0100 | <solonarv> | I don't see where this contradicts my theory |
2020-12-22 12:51:41 +0100 | <solonarv> | you try to interpret () as a NonEmpty Char, you see "first constructor", and you go on to look at the next few memory addresses where you expect that constructor's two fields; but instead there's garbage |
2020-12-22 12:51:47 +0100 | <kuribas> | how does yahb detect segmentation fault? |
2020-12-22 12:52:09 +0100 | <solonarv> | kuribas: ptrace, I think |
2020-12-22 12:52:16 +0100 | nfd | (~nfd9001@c-67-183-38-33.hsd1.wa.comcast.net) |
2020-12-22 12:52:27 +0100 | <dminuoso> | 12:46:04 solonarv | ADT-to-ADT is usually (always?) safe, both Integer (which the 10 defaults to) and String are ADTs |
2020-12-22 12:52:31 +0100 | <dminuoso> | Im just saying its not always safe |
2020-12-22 12:52:42 +0100 | <solonarv> | ah yes, then I agree |
2020-12-22 12:53:32 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Ping timeout: 258 seconds) |
2020-12-22 12:53:52 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 260 seconds) |
2020-12-22 12:55:57 +0100 | <merijn> | kuribas: You can just install a signal handler for SIGSEGV :p |
2020-12-22 12:56:25 +0100 | <kuribas> | merijn: can you resume from that? |
2020-12-22 12:56:38 +0100 | <merijn> | Sure, why not? |
2020-12-22 12:57:12 +0100 | <merijn> | For one, you process may have many threads besides the one the segfaulted |
2020-12-22 12:58:01 +0100 | <merijn> | kuribas: Only SIGKILL and SIGSTOP can't be overridden with a signal handler |
2020-12-22 12:58:08 +0100 | <kuribas> | right |
2020-12-22 12:58:09 +0100 | <nfd> | mind you, in a single-thread application, exiting your sigsegv handler will promptly replay the same effect that caused the last segfault, so |
2020-12-22 12:59:09 +0100 | <nfd> | second of all, i don't know what sane actions you can take in that handler other than "violently explode but write a little note on the way out" |
2020-12-22 12:59:24 +0100 | <dminuoso> | nfd: A lot, actually |
2020-12-22 12:59:28 +0100 | <merijn> | nfd: It Depends (TM) |
2020-12-22 12:59:41 +0100 | <dminuoso> | nfd: This trick is used to implement high performance speculative JIT exit points with. |
2020-12-22 13:00:11 +0100 | <nfd> | i mean, It Depends, but you're doing some really weird systems hacking s.t. you wouldn't need this discussion |
2020-12-22 13:00:18 +0100 | <dminuoso> | When Java HotSpot does a speculative optimization, it speculatively constant folds (quite deep), and prepends a read to a special page. When the speculative optimization is invalidated, read permissions for that page are taken back |
2020-12-22 13:00:26 +0100 | <dminuoso> | Triggering a SIGSEGV |
2020-12-22 13:00:41 +0100 | <nfd> | common application dev puts sigsegv clearly in the category of "the program is wrong" |
2020-12-22 13:00:51 +0100 | <dminuoso> | So the sigsegv handler of HotSpot then undoes the optimization, fixes the read permission, and resumes. |
2020-12-22 13:01:15 +0100 | <dminuoso> | (The benefits of this, is that it plays nicely with branch predictors in the CPU) |
2020-12-22 13:01:39 +0100 | <tdammers> | wow, our craft is absolutely terrible |
2020-12-22 13:01:40 +0100 | <dminuoso> | as opposed to flipping a bit in memory and doing a conditional jnz on it |
2020-12-22 13:02:20 +0100 | <nfd> | hotspot is a bizarre pile of beauty in horrors, and i know this quite well, as someone who has spent weeks of my life minmaxing its gc |
2020-12-22 13:02:43 +0100 | <merijn> | tdammers: tbh, I disagree with that being terrible |
2020-12-22 13:02:57 +0100 | <nfd> | it's not Terrible, it's Systems |
2020-12-22 13:03:04 +0100 | <merijn> | tdammers: That's just "using hardware features that currently don't have nicely provided interfaces" |
2020-12-22 13:03:10 +0100 | <nfd> | regrettably our code has to run on actual computers |
2020-12-22 13:03:23 +0100 | <dminuoso> | nfd: Switch jobs and become a mathematician |
2020-12-22 13:03:27 +0100 | <dminuoso> | You never have to worry about computability again. |
2020-12-22 13:03:28 +0100 | <tdammers> | merijn: the terrible part is that they don't have nicely provided interfaces to begin with |
2020-12-22 13:03:30 +0100 | <merijn> | tdammers: The fuck do I have MMU and virtual addresses for if people are going to whine when I use them >.> |
2020-12-22 13:04:02 +0100 | <merijn> | Same reason GHC programs take 1 TB according to top/linux's dumb memory measuring >.> |
2020-12-22 13:04:13 +0100 | <tdammers> | yeah, that's terrible too |
2020-12-22 13:04:34 +0100 | <nfd> | dminuoso: /me laughs in von neumann/godel/hilbert/.... |
2020-12-22 13:04:36 +0100 | <merijn> | Linux/top are terrible, GHC's implementation is totally sensible and intended use of the interface |
2020-12-22 13:04:58 +0100 | <merijn> | It's just unfortunate some users blame GHC/haskell |
2020-12-22 13:05:19 +0100 | <nfd> | linux is terrible, but what're ya gonna use |
2020-12-22 13:05:26 +0100 | <merijn> | nfd: FreeBSD :p |
2020-12-22 13:05:27 +0100 | <dminuoso> | merijn will say freebsd in 1 second |
2020-12-22 13:05:29 +0100 | <dminuoso> | Oh darn |
2020-12-22 13:05:31 +0100 | <dminuoso> | He beat me to it |
2020-12-22 13:05:32 +0100 | <nfd> | plan9? bsd? hurd? |
2020-12-22 13:05:56 +0100 | <dminuoso> | Also, Windows is an option. |
2020-12-22 13:05:58 +0100 | <merijn> | FreeBSD isn't great on the desktop, but linux sucks there too so just use macOS or Windows :p |
2020-12-22 13:06:30 +0100 | <dminuoso> | merijn: to be honest, my quality of life has drastically improved since switching to a wiling window manager. That alone is what keeps me on Linux. |
2020-12-22 13:06:52 +0100 | <merijn> | dminuoso: I used FreeBSD with tiling window manager for ages, but I don't really miss it |
2020-12-22 13:07:06 +0100 | <merijn> | dminuoso: My main mode of operation is full screen terminal running tmux anyway :p |
2020-12-22 13:07:07 +0100 | <nfd> | i went to university talking to/making buddies with the grad students and faculty who hacked on netbsd a lot, haha |
2020-12-22 13:07:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 13:07:18 +0100 | <kuribas> | dminuoso: what's a willing window manager? :-) |
2020-12-22 13:07:34 +0100 | <nfd> | reliably i would talk to them about flaws in linux and how i was sure netbsd did it better, and they would wince and say there was a bug |
2020-12-22 13:08:47 +0100 | <nfd> | like, CLOCK_MONOTONIC in linux isn't actually that MONOTONIC, and netbsd has something actually monotonic, and i said that was great, and they said "yeah but it kinda panics the kernel actually" |
2020-12-22 13:09:11 +0100 | <nfd> | tiling window manager? yeah i think i use one of those on my phone |
2020-12-22 13:09:17 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 13:10:21 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 13:10:25 +0100 | flukiluke1 | (~flukiluke@217.146.82.202) (Remote host closed the connection) |
2020-12-22 13:10:38 +0100 | <nfd> | (i actually use dwm on my phone) |
2020-12-22 13:11:01 +0100 | <nfd> | (works great) |
2020-12-22 13:12:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
2020-12-22 13:13:58 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 260 seconds) |
2020-12-22 13:14:02 +0100 | vs^ | (vs@ip98-184-89-2.mc.at.cox.net) () |
2020-12-22 13:14:09 +0100 | clog | (~nef@bespin.org) (Ping timeout: 260 seconds) |
2020-12-22 13:15:08 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 260 seconds) |
2020-12-22 13:17:29 +0100 | <gentauro> | does anybody know if the GHC binaries for windows are made with some GitLab CI/CD? If yes, link please :) |
2020-12-22 13:18:19 +0100 | rprije | (~rprije@202.168.43.92) (Ping timeout: 246 seconds) |
2020-12-22 13:22:18 +0100 | <opqdonut> | https://gitlab.haskell.org/ghc/ghc/-/wikis/continuous-integration sounds like circleci |
2020-12-22 13:22:27 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-tihixihqvmmwogqg) |
2020-12-22 13:22:59 +0100 | Tops21 | (~Tobias@dyndsl-095-033-089-034.ewe-ip-backbone.de) |
2020-12-22 13:23:41 +0100 | <opqdonut> | hmm looks like there are gitlab pipelines as well, https://gitlab.haskell.org/ghc/ghc/-/pipelines |
2020-12-22 13:23:49 +0100 | <opqdonut> | #ghc can tell you more probably... |
2020-12-22 13:24:41 +0100 | Entertainment | (~entertain@104.246.132.210) |
2020-12-22 13:25:35 +0100 | tzlil | (~tzlil@unaffiliated/tzlil) (Read error: Connection reset by peer) |
2020-12-22 13:25:40 +0100 | <gentauro> | opqdonut: that table at the bottom doesn't look right |
2020-12-22 13:25:52 +0100 | tzlil | (~tzlil@unaffiliated/tzlil) |
2020-12-22 13:25:56 +0100 | Tops2 | (~Tobias@dyndsl-095-033-089-034.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
2020-12-22 13:26:39 +0100 | <opqdonut> | yeah I have no idea what that wiki page is about, there's no circleci config in the main ghc repo (only appveyor and gitlab-ci) |
2020-12-22 13:27:25 +0100 | Entertainment | (~entertain@104.246.132.210) (Client Quit) |
2020-12-22 13:27:38 +0100 | <gentauro> | join #ghc |
2020-12-22 13:28:47 +0100 | Entertainment | (~entertain@104.246.132.210) |
2020-12-22 13:28:50 +0100 | Betelgeuse1 | (~Betelgeus@185.204.1.185) |
2020-12-22 13:29:22 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 13:29:46 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 13:30:44 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2020-12-22 13:31:26 +0100 | shad0w_ | (~shad0w_@160.202.37.172) |
2020-12-22 13:34:10 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 258 seconds) |
2020-12-22 13:43:36 +0100 | kkateq | (1f11e846@ip1f11e846.dynamic.kabel-deutschland.de) |
2020-12-22 13:43:39 +0100 | shad0w_ | (~shad0w_@160.202.37.172) (Read error: Connection reset by peer) |
2020-12-22 13:44:01 +0100 | geekosaur | (ac3a5304@172.58.83.4) |
2020-12-22 13:45:14 +0100 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2020-12-22 13:46:15 +0100 | _Cactus_ | (~cactus@173.244.208.116) (Quit: Ex-Chat) |
2020-12-22 13:49:47 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 13:49:56 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 13:50:20 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 13:51:13 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 13:51:14 +0100 | jmchael | (~jmchael@81.174.205.210) |
2020-12-22 13:53:27 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2020-12-22 13:54:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 264 seconds) |
2020-12-22 13:54:54 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Ping timeout: 268 seconds) |
2020-12-22 13:55:14 +0100 | <sshine> | https://hackage.haskell.org/package/hedgehog-1.0.4/docs/Hedgehog.html#t:Command |
2020-12-22 13:55:30 +0100 | <sshine> | Hedgehog has so many features I don't know about. |
2020-12-22 13:57:59 +0100 | hackage | api-maker 0.1.0.0 - Package to make APIs https://hackage.haskell.org/package/api-maker-0.1.0.0 (schnecki) |
2020-12-22 14:00:18 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 14:04:28 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-22 14:10:10 +0100 | ADG1089__ | (~aditya@122.163.166.13) |
2020-12-22 14:10:36 +0100 | Rudd0 | (~Rudd0@185.189.115.103) (Ping timeout: 240 seconds) |
2020-12-22 14:13:47 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 265 seconds) |
2020-12-22 14:16:10 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 14:16:33 +0100 | <siraben> | How do I convert Text.ParserCombinators.Token into a parser? |
2020-12-22 14:16:39 +0100 | <siraben> | parse decimal "" is ill-typed |
2020-12-22 14:17:17 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 14:17:26 +0100 | olligobber | (~olligobbe@unaffiliated/olligobber) (Remote host closed the connection) |
2020-12-22 14:21:09 +0100 | <pavonia> | siraben: You need to apply it to a token parser |
2020-12-22 14:21:28 +0100 | <pavonia> | see the example for makeTokenParser |
2020-12-22 14:24:09 +0100 | Guest_2 | (56b2cdc4@host86-178-205-196.range86-178.btcentralplus.com) |
2020-12-22 14:24:25 +0100 | Guest_2 | (56b2cdc4@host86-178-205-196.range86-178.btcentralplus.com) (Remote host closed the connection) |
2020-12-22 14:25:18 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) (Remote host closed the connection) |
2020-12-22 14:26:49 +0100 | kkateq | (1f11e846@ip1f11e846.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-12-22 14:28:09 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) |
2020-12-22 14:34:06 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 14:34:22 +0100 | knupfer | (~Thunderbi@200116b82c2bd800516fbdbd3eb5c414.dip.versatel-1u1.de) |
2020-12-22 14:35:17 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
2020-12-22 14:37:58 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-12-22 14:40:33 +0100 | fendor | (~fendor@77.119.131.23.wireless.dyn.drei.com) |
2020-12-22 14:40:37 +0100 | <sshine> | why aren't there any LR(k) parser combinators? why are they all LL(k)? |
2020-12-22 14:41:15 +0100 | <sshine> | siraben, Text.ParserCombinators smells like Parsec's old namespace. |
2020-12-22 14:42:13 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2020-12-22 14:42:21 +0100 | <sshine> | siraben, did you see the example at the bottom of Text.Parsec.Token? https://hackage.haskell.org/package/parsec-3.1.14.0/docs/Text-Parsec-Token.html#v:makeTokenParser |
2020-12-22 14:42:36 +0100 | ADG1089__ | (~aditya@122.163.166.13) (Remote host closed the connection) |
2020-12-22 14:43:01 +0100 | ADG1089__ | (~aditya@122.163.166.13) |
2020-12-22 14:43:49 +0100 | <merijn> | sshine: That's a...flawed question |
2020-12-22 14:44:31 +0100 | <siraben> | pavonia: sshine: I did, so looks like I need to use the empty language def |
2020-12-22 14:44:38 +0100 | <merijn> | sshine: LR(k)/LL(k) refer to the lookahead/recurssion parser generators can properly handle. But parser combinators aren't parser generators, they're more like DSLs/convenience libraries for writing recursive descent parsers |
2020-12-22 14:44:59 +0100 | <merijn> | sshine: And recursive descent parsers can handle unbounded lookahead/retry IFF you write them like that |
2020-12-22 14:45:15 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer) |
2020-12-22 14:45:29 +0100 | <merijn> | sshine: Of course, actually using that unboundedness will get you terrible performance |
2020-12-22 14:45:35 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 14:46:51 +0100 | <sshine> | merijn, I'm asking, why aren't there parser combinators that construct LR(k) parsers? I understand that parser combinators are eDSLs. I don't understand why they can't be eDSLs over LR(k) parsers. |
2020-12-22 14:47:30 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 14:47:46 +0100 | <sshine> | so basically rather than have Happy as a stand-alone program with a separate compilation step, you could have an embedded DSL. |
2020-12-22 14:47:52 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 14:48:35 +0100 | <merijn> | sshine: You'd have to redo all the analysis every time you run the program to create the parser, though |
2020-12-22 14:49:25 +0100 | drbean | (~drbean@TC210-63-209-21.static.apol.com.tw) (Ping timeout: 264 seconds) |
2020-12-22 14:49:26 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2020-12-22 14:49:47 +0100 | <sshine> | what if you did the analysis during compilation? |
2020-12-22 14:49:48 +0100 | <merijn> | By having happy indepedent you analyse the grammar once and then encode the resulting parser. If you wanna embed happy you'll end up either 1) doing the analysis in TH at compile time to only analyse once, or 2) pay the cost each time |
2020-12-22 14:50:04 +0100 | <sshine> | yes okay. |
2020-12-22 14:53:02 +0100 | <dminuoso> | sshine: Look at parsley perhaps, so libraries that do static analysis at TH time is doable |
2020-12-22 14:53:10 +0100 | <dminuoso> | https://github.com/J-mie6/ParsleyHaskell |
2020-12-22 14:53:21 +0100 | <kuribas> | is there a way to hide a phantom type parameter? |
2020-12-22 14:53:29 +0100 | <kuribas> | without an existential? |
2020-12-22 14:54:17 +0100 | borne | (~fritjof@200116b864c6f800cebf0c02893372bd.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-12-22 14:54:28 +0100 | <kuribas> | I suppose I should make a new type without the parameter then... |
2020-12-22 14:56:49 +0100 | <kuribas> | ah wait, I already have a simpler type I can use :) |
2020-12-22 14:57:45 +0100 | <kuribas> | I guess newtype + coerce would be the generic answer |
2020-12-22 14:58:14 +0100 | Kaivo | (~Kaivo@104-200-86-99.mc.derytele.com) |
2020-12-22 14:59:33 +0100 | ADG1089__ | (~aditya@122.163.166.13) (Remote host closed the connection) |
2020-12-22 14:59:38 +0100 | <dminuoso> | That's the equivalent of `undefined` as a proof for type-level programming, isnt it? :) |
2020-12-22 14:59:48 +0100 | <kuribas> | yeah |
2020-12-22 15:00:11 +0100 | <kuribas> | coerce seems to circumvent type level safety (but not value level safety) |
2020-12-22 15:02:57 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2020-12-22 15:03:16 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 240 seconds) |
2020-12-22 15:04:14 +0100 | kam1 | (~kam1@24.231.108.143) (Ping timeout: 260 seconds) |
2020-12-22 15:05:36 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 240 seconds) |
2020-12-22 15:08:47 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 15:09:13 +0100 | <dminuoso> | fsvo of "safety" |
2020-12-22 15:09:29 +0100 | hackage | hasbolt-extras 0.0.1.5 - Extras for hasbolt library https://hackage.haskell.org/package/hasbolt-extras-0.0.1.5 (ozzzzz) |
2020-12-22 15:09:29 +0100 | <dminuoso> | If the newtype guarantees some preconditions on the value, then a coerce can break "value level safety" too |
2020-12-22 15:09:32 +0100 | jlamothe | (~jlamothe@198.251.55.207) |
2020-12-22 15:09:42 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 15:10:34 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2020-12-22 15:10:34 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2020-12-22 15:10:34 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2020-12-22 15:14:13 +0100 | <merijn> | Preventing Coercible from working is pretty trivial, though |
2020-12-22 15:14:23 +0100 | <merijn> | So not really |
2020-12-22 15:14:29 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 15:14:48 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 15:14:49 +0100 | <merijn> | You can only coerce newtypes when their constructor is in scope and they're used in a role that allows it |
2020-12-22 15:15:09 +0100 | <solonarv> | coerce only works when the constructors of all newtypes involved in the coercion are in scope, and in that case you were already able to dig in and break the invariants |
2020-12-22 15:15:24 +0100 | <merijn> | solonarv: Too slow, n00b ;) |
2020-12-22 15:15:45 +0100 | Rembane | hands out swords |
2020-12-22 15:16:19 +0100 | <solonarv> | if a library exports 'newtype SortedList a = SortedList { getSortedList :: [a] }' (with the obvious-given-the-name invariant) there is no difference between 'SortedList [3,1,2]' and 'coerce [3,1,2]', really - the presence of 'coerce' doesn't allow you to do things you couldn't already do |
2020-12-22 15:18:46 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Ping timeout: 268 seconds) |
2020-12-22 15:20:17 +0100 | ulidtko|k | (~ulidtko@194.54.80.38) |
2020-12-22 15:20:37 +0100 | ulidtko|kk | (~ulidtko@194.54.80.38) (Read error: Connection reset by peer) |
2020-12-22 15:24:58 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 15:25:54 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) (Remote host closed the connection) |
2020-12-22 15:26:00 +0100 | Vulfe_ | (~vulfe@2600:1702:31b0:34e0:a017:afb:342e:7f38) |
2020-12-22 15:26:18 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-icrmchothviupllr) |
2020-12-22 15:30:13 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 15:30:36 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 15:31:09 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:e8a6:fffb:d62d:21f1) |
2020-12-22 15:32:11 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 15:32:20 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 15:35:34 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds) |
2020-12-22 15:36:12 +0100 | drewolson | (~drewolson@64.227.24.16) (Quit: The Lounge - https://thelounge.chat) |
2020-12-22 15:36:24 +0100 | drewolson | (~drewolson@64.227.24.16) |
2020-12-22 15:37:26 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 15:39:38 +0100 | geekosaur | (ac3a5304@172.58.83.4) (Remote host closed the connection) |
2020-12-22 15:41:08 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: fuzzypixelz) |
2020-12-22 15:41:49 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 246 seconds) |
2020-12-22 15:42:01 +0100 | arybczak | (~unknown@2a02:a312:c83d:7800:bb7f:5c00:4f48:cc5c) |
2020-12-22 15:42:44 +0100 | kam1 | (~kam1@24.231.108.143) (Ping timeout: 260 seconds) |
2020-12-22 15:44:52 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:e8a6:fffb:d62d:21f1) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 15:46:11 +0100 | coot | (~coot@37.30.50.187.nat.umts.dynamic.t-mobile.pl) |
2020-12-22 15:46:31 +0100 | hiroaki | (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2020-12-22 15:48:18 +0100 | <ezzieyguywuf> | hoooray, ghc 8.10 hit in gentoo today! |
2020-12-22 15:50:09 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2020-12-22 15:50:56 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 15:52:54 +0100 | fendor | doesn't know the context but happily takes a sword |
2020-12-22 15:55:32 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 15:55:46 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Ping timeout: 268 seconds) |
2020-12-22 15:57:31 +0100 | superstar64 | (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) |
2020-12-22 15:57:59 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 16:02:02 +0100 | <superstar64> | does `-XStrict` affect the prelude? |
2020-12-22 16:04:01 +0100 | <superstar64> | or does it stay lazy? |
2020-12-22 16:04:15 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2020-12-22 16:04:37 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) (Ping timeout: 260 seconds) |
2020-12-22 16:05:17 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2020-12-22 16:05:51 +0100 | <solonarv> | any extension generally only affects a module if it's enabled when compiling that module, and this is certainly true for Strict |
2020-12-22 16:07:17 +0100 | <solonarv> | it's purely a syntax extension (inserts a number of '!'s all over the modules it's enabled in, basically) |
2020-12-22 16:07:32 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) |
2020-12-22 16:07:36 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 240 seconds) |
2020-12-22 16:09:08 +0100 | hiroaki | (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
2020-12-22 16:09:51 +0100 | p3n | (~p3n@217.198.124.246) (Remote host closed the connection) |
2020-12-22 16:11:43 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 258 seconds) |
2020-12-22 16:11:44 +0100 | kostic_ | (~kostic@51.194.80.91) |
2020-12-22 16:12:34 +0100 | christo | (~chris@81.96.113.213) |
2020-12-22 16:14:30 +0100 | jespada | (~jespada@90.254.245.49) |
2020-12-22 16:18:51 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 16:19:08 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 16:22:24 +0100 | <wz1000> | Is there anything like LogicT, but with the ability to dynamically reorder/reprioritise the computation? |
2020-12-22 16:22:45 +0100 | fendor_ | (~fendor@178.165.130.57.wireless.dyn.drei.com) |
2020-12-22 16:23:14 +0100 | <wz1000> | at some point, I want to be able to set the priority of the current branch, so that it is re-scheduled after all branches with a higher priority |
2020-12-22 16:23:55 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-12-22 16:25:13 +0100 | fendor | (~fendor@77.119.131.23.wireless.dyn.drei.com) (Ping timeout: 246 seconds) |
2020-12-22 16:25:13 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
2020-12-22 16:25:17 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 16:25:28 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 16:27:29 +0100 | GRemLin | (~GRemLin@45.32.110.226) |
2020-12-22 16:28:00 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Quit: Connection closed) |
2020-12-22 16:29:36 +0100 | toorevitimirp | (~tooreviti@117.182.182.252) (Ping timeout: 240 seconds) |
2020-12-22 16:31:20 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-22 16:32:09 +0100 | al3x27 | (~plovs@85.254.75.83) (Ping timeout: 268 seconds) |
2020-12-22 16:32:51 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 16:33:49 +0100 | Forlorn | (~Forlorn@unaffiliated/forlorn) |
2020-12-22 16:33:52 +0100 | <Forlorn> | "The purpose of the state monad is to hide the passing of state between _functions." -- but doesn't that just make it as abstract and more _confusing and unreadable just like when working with OOP? And also less _explicit? |
2020-12-22 16:34:02 +0100 | hexfive | (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.) |
2020-12-22 16:34:10 +0100 | <Forlorn> | Is5 |
2020-12-22 16:35:13 +0100 | <Forlorn> | isn't it better to make things more clear and where you can easily interpret and grasp something and where certainty stands despitte all possible doubt? |
2020-12-22 16:35:26 +0100 | fendor_ | fendor |
2020-12-22 16:35:31 +0100 | <Forlorn> | despite* |
2020-12-22 16:35:52 +0100 | <merijn> | Yes, no, maybe, it depends |
2020-12-22 16:37:42 +0100 | <merijn> | There are no "one size fits all" solutions |
2020-12-22 16:38:03 +0100 | <merijn> | The State monad can both make things easier or harder, depending on what you're doing with it |
2020-12-22 16:38:09 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2020-12-22 16:38:23 +0100 | <Forlorn> | merijn, When would it make things "easier". |
2020-12-22 16:38:30 +0100 | <Forlorn> | ? |
2020-12-22 16:39:40 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-22 16:41:53 +0100 | <solonarv> | easier, because you don't have to explicitly mention the state all the time, and since you're not handling the state explicitly, you can't as easily accidentally keep working on an old state |
2020-12-22 16:42:11 +0100 | <merijn> | If there's some state that needs to be shared between a bunch of deeply nested structures or if there's no other convenient way to propagate the state |
2020-12-22 16:43:00 +0100 | <solonarv> | I've also found it very convenient combined with lens's state-y operators, for writing VMs and such |
2020-12-22 16:44:41 +0100 | <AWizzArd> | Are class MyClass a b c | a b -> c where and class MyClass a b c | b a -> c where identical? Or does the order before -> matter? |
2020-12-22 16:45:43 +0100 | <merijn> | AWizzArd: I *think* they should be identical |
2020-12-22 16:45:53 +0100 | <solonarv> | half-made-up example: interpret (Add src dest) = do Just x <- preuse (vmMem . ix sx); vmMem . ix dest += x; vmPC += 1 |
2020-12-22 16:45:55 +0100 | <merijn> | AWizzArd: Since they mean that 'a' and 'b' together uniquely determine C |
2020-12-22 16:45:56 +0100 | <AWizzArd> | I would think so too. |
2020-12-22 16:46:04 +0100 | <AWizzArd> | yeah, my interpretation |
2020-12-22 16:46:14 +0100 | <AWizzArd> | merijn: thx |
2020-12-22 16:46:44 +0100 | <solonarv> | I can imagine that the order might come into play if you are doing weird things with INCOHERENT instances, but apart from that I don t think it should matter |
2020-12-22 16:47:09 +0100 | <merijn> | At that point you've got yourself to blame ;) |
2020-12-22 16:47:35 +0100 | <solonarv> | oh for sure :D |
2020-12-22 16:47:52 +0100 | p-core | (~Thunderbi@koleje-wifi-0045.koleje.cuni.cz) |
2020-12-22 16:47:53 +0100 | <solonarv> | INCOHERENT also makes (A, B) and (B, A) not mean the same thing in constraints sometimes |
2020-12-22 16:48:23 +0100 | <adamCS> | Anyone know when the very awesome and amazing ghcup will add 8.10.3? I did something very dumb--upgraded to Big Sur on my laptop--and I think 8.10.3 will make everything work again. I tried to install by hand from the binary distribution but all the OS security stuff seems to get in the way even if I click "Allow" on everything. So I think I need to wait for ghcup... |
2020-12-22 16:49:21 +0100 | <merijn> | adamCS: There's a magical command you need to run, I think? ping carter (I think he knew?) |
2020-12-22 16:50:35 +0100 | <adamCS> | merijn: Like, there's a way to do it without waiting for it to just magically show up in the list? I assumed it was some file it pulls on startup and that one needed updating... |
2020-12-22 16:51:21 +0100 | <merijn> | adamCS: I meant fixing the bindist to work |
2020-12-22 16:51:41 +0100 | <merijn> | It has to do with notarisation, iirc |
2020-12-22 16:52:04 +0100 | <carter> | theres an xattr command |
2020-12-22 16:52:06 +0100 | <merijn> | But I'm a smart cookie, so I don't upgrade to Big Sur yet ;) |
2020-12-22 16:52:10 +0100 | <adamCS> | merijn: Oh. That'd be useful as well. |
2020-12-22 16:52:11 +0100 | <carter> | for removing foreign |
2020-12-22 16:52:17 +0100 | <adamCS> | merijn: No need to rub it in! |
2020-12-22 16:52:19 +0100 | <carter> | man xattr |
2020-12-22 16:52:24 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 16:53:41 +0100 | <carter> | xattr -c ./ghc* |
2020-12-22 16:55:00 +0100 | <adamCS> | carter: Thanks! Still gets stuck on ghc-pkg |
2020-12-22 16:55:17 +0100 | <carter> | you didnt recurisvely do it? |
2020-12-22 16:55:28 +0100 | <carter> | adamCS: you need to do the entire zip |
2020-12-22 16:55:36 +0100 | <carter> | and then unpack |
2020-12-22 16:55:53 +0100 | <adamCS> | got it. I'll try that! |
2020-12-22 16:56:16 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 16:56:48 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Ping timeout: 260 seconds) |
2020-12-22 16:56:53 +0100 | nemron | (~nemron@2a02:810b:c7bf:fdb8:61d2:5f6c:bc78:4d37) (Quit: Textual IRC Client: www.textualapp.com) |
2020-12-22 16:57:21 +0100 | Graypup_ | (Graypup@lfcode.ca) (Quit: ZNC 1.6.1 - http://znc.in) |
2020-12-22 16:59:08 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: fuzzypixelz) |
2020-12-22 16:59:14 +0100 | <adamCS> | carter, merijn: It's working. Thank you! |
2020-12-22 16:59:16 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 256 seconds) |
2020-12-22 16:59:21 +0100 | Graypup_ | (Graypup@lfcode.ca) |
2020-12-22 17:00:10 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-12-22 17:01:12 +0100 | <merijn> | \o/ |
2020-12-22 17:01:21 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2020-12-22 17:01:25 +0100 | mastarija | (~mastarija@93-138-112-136.adsl.net.t-com.hr) |
2020-12-22 17:02:01 +0100 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2020-12-22 17:03:42 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 17:03:54 +0100 | <adamCS> | and now the great rebuild of all the libraries commences... |
2020-12-22 17:04:14 +0100 | qwsd | (~tema@217.118.92.215) (Ping timeout: 272 seconds) |
2020-12-22 17:04:46 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2020-12-22 17:07:26 +0100 | dandart1 | (~Thunderbi@home.dandart.co.uk) |
2020-12-22 17:07:54 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Ping timeout: 260 seconds) |
2020-12-22 17:07:54 +0100 | dandart1 | dandart |
2020-12-22 17:09:21 +0100 | <kuribas> | :t lift |
2020-12-22 17:09:23 +0100 | <lambdabot> | (MonadTrans t, Monad m) => m a -> t m a |
2020-12-22 17:09:29 +0100 | <kuribas> | what does lift require Monad m? |
2020-12-22 17:09:37 +0100 | <kuribas> | why? |
2020-12-22 17:10:07 +0100 | <kuribas> | liftA2 doesn't... |
2020-12-22 17:10:30 +0100 | <merijn> | How are those two related? |
2020-12-22 17:10:43 +0100 | <kuribas> | ok, maybe not :) |
2020-12-22 17:11:45 +0100 | orion | (~orion@c-76-19-238-5.hsd1.nh.comcast.net) |
2020-12-22 17:11:45 +0100 | orion | (~orion@c-76-19-238-5.hsd1.nh.comcast.net) (Changing host) |
2020-12-22 17:11:45 +0100 | orion | (~orion@unaffiliated/orion) |
2020-12-22 17:11:59 +0100 | <kuribas> | lift in the lift type looks arbitrary... |
2020-12-22 17:12:47 +0100 | <kuribas> | why not put the Monad constraint in the instance? |
2020-12-22 17:13:35 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-22 17:14:05 +0100 | <orion> | In theory, if GHC is configured to output LLVM, would I be able to compile applications on and for an IBM POWER9 processor? |
2020-12-22 17:14:17 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 17:16:09 +0100 | <kuribas> | IMO ReaderT could have a Monoid instance as well |
2020-12-22 17:18:04 +0100 | Betelgeuse1 | (~Betelgeus@185.204.1.185) (Remote host closed the connection) |
2020-12-22 17:18:33 +0100 | <kuribas> | orion: it's not that easy |
2020-12-22 17:18:56 +0100 | <kuribas> | orion: ghc has a large runtime as well |
2020-12-22 17:19:09 +0100 | <orion> | The runtime is written in C though, yes? |
2020-12-22 17:19:47 +0100 | <kuribas> | I think so... |
2020-12-22 17:21:24 +0100 | bitmagie | (~Thunderbi@200116b806b59b006c2fdba00c21d3bd.dip.versatel-1u1.de) |
2020-12-22 17:21:34 +0100 | <merijn> | orion: Part of the runtime is |
2020-12-22 17:21:45 +0100 | <merijn> | orion: Also "probably not" |
2020-12-22 17:24:08 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-22 17:24:31 +0100 | al3x27 | (~plovs@85.254.75.83) |
2020-12-22 17:25:08 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 17:25:43 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2020-12-22 17:25:57 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-12-22 17:26:34 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2020-12-22 17:30:01 +0100 | kam1 | (~kam1@24.231.108.143) (Ping timeout: 265 seconds) |
2020-12-22 17:30:49 +0100 | mastarija | (~mastarija@93-138-112-136.adsl.net.t-com.hr) (Quit: Leaving) |
2020-12-22 17:32:35 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 17:32:40 +0100 | UltimateNate | (~UltimateN@s91904426.blix.com) |
2020-12-22 17:32:46 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2020-12-22 17:34:52 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-22 17:37:16 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-12-22 17:38:09 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 17:38:23 +0100 | hekkaidekapus[ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-12-22 17:39:21 +0100 | <monochrom> | "written in C" has little information. The hardest part is "written for the OS". |
2020-12-22 17:39:57 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 17:40:22 +0100 | superstar64 | (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) () |
2020-12-22 17:42:16 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 240 seconds) |
2020-12-22 17:42:19 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Ping timeout: 260 seconds) |
2020-12-22 17:43:27 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2020-12-22 17:43:28 +0100 | Kaivo | (~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 256 seconds) |
2020-12-22 17:44:02 +0100 | <orion> | merijn: Thanks. |
2020-12-22 17:47:51 +0100 | danso | (~dan@69-165-210-185.cable.teksavvy.com) |
2020-12-22 17:49:50 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-22 17:51:07 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 17:51:31 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 17:51:58 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 17:52:05 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
2020-12-22 17:52:15 +0100 | iekfkk | (~username@117.200.6.222) |
2020-12-22 17:52:17 +0100 | <iekfkk> | hi |
2020-12-22 17:52:32 +0100 | orzo | (joe@lasker.childrenofmay.org) (Ping timeout: 258 seconds) |
2020-12-22 17:52:34 +0100 | <iekfkk> | do we need OOP or structs ... as most languages have them. |
2020-12-22 17:52:42 +0100 | orzo | (joe@lasker.childrenofmay.org) |
2020-12-22 17:52:49 +0100 | duairc | (~shane@ana.rch.ist) (Ping timeout: 260 seconds) |
2020-12-22 17:53:03 +0100 | <Rembane> | iekfkk: Hi. No. |
2020-12-22 17:53:04 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2020-12-22 17:53:06 +0100 | <monochrom> | structs yes, OOP no. |
2020-12-22 17:53:07 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 17:53:23 +0100 | cantstanya | (~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds) |
2020-12-22 17:54:04 +0100 | <iekfkk> | why would haskell has structs |
2020-12-22 17:54:17 +0100 | <merijn> | Why wouldn't it? |
2020-12-22 17:54:23 +0100 | <iekfkk> | are they even needed for a purely functional approach |
2020-12-22 17:54:30 +0100 | duairc | (~shane@ana.rch.ist) |
2020-12-22 17:54:33 +0100 | <merijn> | iekfkk: Define "purely functional" |
2020-12-22 17:54:58 +0100 | <Vulfe_> | a struct is essentially the same thing as a product type |
2020-12-22 17:55:06 +0100 | <iekfkk> | i mean just using functions that accept input and return output, avoiding structs |
2020-12-22 17:55:23 +0100 | <merijn> | Vulfe_: That's not gonna be super helpful for someone asking this question :) |
2020-12-22 17:55:32 +0100 | <Vulfe_> | merijn: fair |
2020-12-22 17:55:37 +0100 | <merijn> | iekfkk: Why is that input/output not allowed to be a struct? |
2020-12-22 17:55:42 +0100 | <monochrom> | The question itself was not helpful in the first place. |
2020-12-22 17:55:51 +0100 | <iekfkk> | struct has data members and is not a function, can't functions do that functionality thereby making struct superficial |
2020-12-22 17:55:56 +0100 | <monochrom> | Or rather, based on an unhelpful premise. |
2020-12-22 17:56:01 +0100 | <iekfkk> | because i don't like struct |
2020-12-22 17:56:07 +0100 | <merijn> | iekfkk: Also, "just using functions" is not how anyone in this channel would define "purely functional" |
2020-12-22 17:56:12 +0100 | <Vulfe_> | then think about records as product types instead |
2020-12-22 17:56:16 +0100 | <monochrom> | My output is a tuple, so I need a product type. |
2020-12-22 17:56:18 +0100 | <merijn> | iekfkk: Not everything is a function in functional programming |
2020-12-22 17:56:19 +0100 | <Vulfe_> | because they are that |
2020-12-22 17:56:34 +0100 | <Vulfe_> | a product type is determined by its projection operators |
2020-12-22 17:56:37 +0100 | <merijn> | iekfkk: See also: http://conal.net/blog/posts/everything-is-a-function-in-haskell |
2020-12-22 17:56:38 +0100 | <Vulfe_> | it doesn't really get more functional than that |
2020-12-22 17:56:40 +0100 | bitmagie | (~Thunderbi@200116b806b59b006c2fdba00c21d3bd.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-12-22 17:56:59 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2020-12-22 17:57:36 +0100 | cantstanya | (~chatting@gateway/tor-sasl/cantstanya) |
2020-12-22 17:57:47 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Ping timeout: 260 seconds) |
2020-12-22 17:58:05 +0100 | <monochrom> | Sometimes I need an existential type. An existential type is most useful when it is the existential quantifier wrapping over a product type. |
2020-12-22 17:58:31 +0100 | <monochrom> | If there is no product type, then existential quantification is useless. |
2020-12-22 17:58:33 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 17:59:32 +0100 | <monochrom> | If you don't like tuples, you don't have to use them. Go on with your simplistic Int->Bool programming. |
2020-12-22 18:00:25 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-22 18:01:53 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2020-12-22 18:03:16 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
2020-12-22 18:06:49 +0100 | lyxia | (~lyxia@poisson.chat) (Ping timeout: 264 seconds) |
2020-12-22 18:08:13 +0100 | <solonarv> | iekfkk: yes, you can forgo all data types ("structs") and work with functions exclusively. But this is very inconvenient to actually accomplish practical tasks with, and adding data types to a theory isn't all that complicated, so Haskell has them (has had them from the very start, even its direct ancestors had them) |
2020-12-22 18:08:39 +0100 | <iekfkk> | no i want data types but not structs |
2020-12-22 18:08:46 +0100 | <iekfkk> | reminds me of OOP |
2020-12-22 18:08:53 +0100 | <solonarv> | please explain what you mean by "struct" |
2020-12-22 18:09:03 +0100 | <iekfkk> | in julia we have them |
2020-12-22 18:09:42 +0100 | <solonarv> | please also explain what you mean by "data type" |
2020-12-22 18:10:08 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2020-12-22 18:10:22 +0100 | lyxia | (~lyxia@poisson.chat) |
2020-12-22 18:10:23 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 18:10:24 +0100 | <travv0> | structs have nothing to do with OOP |
2020-12-22 18:10:32 +0100 | <solonarv> | from where I'm standing, "struct" is just the word C and C-family languages use for product types (i.e. a subset of data types) that have named fields |
2020-12-22 18:10:42 +0100 | <solonarv> | C isn't even object-oriented! |
2020-12-22 18:10:51 +0100 | <iekfkk> | struct Employee \n name::String address:String id:Int end \n john = Employee("john","nyc",8283) john.address john.name ... you get it that struct |
2020-12-22 18:11:01 +0100 | <merijn> | solonarv: In C++ struct is just another word for "class" (with slightly different rules for visibility) |
2020-12-22 18:11:23 +0100 | <iekfkk> | solonarv: yes fieldnames they are called in julia |
2020-12-22 18:11:48 +0100 | <solonarv> | merijn: yeah, I took a C++ class last semester :p |
2020-12-22 18:11:49 +0100 | <iekfkk> | but do we even need them in haskell? |
2020-12-22 18:12:08 +0100 | <solonarv> | "need"? no, all you *need* is lambda |
2020-12-22 18:12:16 +0100 | <solonarv> | or machine code if that's your preference |
2020-12-22 18:13:10 +0100 | <merijn> | You don't even need computers! |
2020-12-22 18:13:16 +0100 | <geekosaur> | this is a strange discussion |
2020-12-22 18:13:19 +0100 | <merijn> | Free yourself, sheople! |
2020-12-22 18:13:37 +0100 | <merijn> | geekosaur: Well, mostly a very confused one, I think :) |
2020-12-22 18:13:49 +0100 | <solonarv> | and if that's what you mean by "struct", then yes, Haskell has them - although they're called "records" here. You can't to john.name , currently, but there's a somewhat controversial GHC extension adding that syntax which I think is set to release sometime soon |
2020-12-22 18:15:22 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 18:16:20 +0100 | <Vulfe_> | if you don't like OOP then you can learn lenses and then feel superior about it |
2020-12-22 18:16:56 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Ping timeout: 240 seconds) |
2020-12-22 18:17:54 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 18:20:05 +0100 | coot | (~coot@37.30.50.187.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-22 18:20:36 +0100 | <solonarv> | if you don't like OOP then remember that 'thing.fieldName' is not what OOP is about |
2020-12-22 18:20:48 +0100 | jamm | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-12-22 18:22:43 +0100 | <glguy> | I like having choices |
2020-12-22 18:23:05 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 18:23:43 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving) |
2020-12-22 18:23:58 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2020-12-22 18:24:21 +0100 | plutoniix | (~q@ppp-27-55-88-126.revip3.asianet.co.th) |
2020-12-22 18:27:26 +0100 | <koz_> | solonarv: It's not really all that soon. RDP missed 9.0, so it's 9.2 at the earliest. |
2020-12-22 18:28:34 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
2020-12-22 18:32:44 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:8163:ba97:5d66:959b) |
2020-12-22 18:33:12 +0100 | <solonarv> | koz_: oh good, I won't have to see that blight for a few more months :p |
2020-12-22 18:33:27 +0100 | <koz_> | solonarv: A lot more months if anything. |
2020-12-22 18:35:57 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Remote host closed the connection) |
2020-12-22 18:36:14 +0100 | <solonarv> | every time I look at the various proposals and issues around records I get sad, I get the impression that the implementation is just sort of going in random directions and piling on ad-hoc features |
2020-12-22 18:37:13 +0100 | asheshambasta | (~user@ptr-e1lysaxt4bg7tmaahx1.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds) |
2020-12-22 18:40:59 +0100 | Younder | (~john@33.51-174-155.customer.lyse.net) |
2020-12-22 18:43:21 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 18:44:15 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit) |
2020-12-22 18:44:18 +0100 | jonkri | (~jonkri@pontarius/jon) |
2020-12-22 18:45:31 +0100 | <kuribas> | is a methodless typeclass a good replacement for a Type Family? |
2020-12-22 18:45:38 +0100 | <jonkri> | Hi! I'm trying to understand the Persistent answer here: <https://stackoverflow.com/questions/30062707/foreign-key-constraints-in-yesod-persistent>. Why doesn't "Foreign User authorfk author" work? I'm trying to specify a foreign key in this way, but a foreign key contraint is not being generated when Persistent migrates the database. Thanks! |
2020-12-22 18:46:20 +0100 | <kuribas> | I need: type family IsNullable where IsNullable NotNull a = a; IsNullable Nullable a = Maybe a |
2020-12-22 18:47:03 +0100 | <dolio> | That doesn't seem like a class. |
2020-12-22 18:47:25 +0100 | plutoniix | (~q@ppp-27-55-88-126.revip3.asianet.co.th) (Ping timeout: 240 seconds) |
2020-12-22 18:47:58 +0100 | <kuribas> | dolio: class FromNullable nullable a b; instance FromNullable Nullable a (Maybe a); instance FromNullable NotNull a a |
2020-12-22 18:49:02 +0100 | <kuribas> | dolio: that may need a functional dependency |
2020-12-22 18:49:23 +0100 | <kuribas> | which isn't boring haskell either I suppose |
2020-12-22 18:50:25 +0100 | kam1 | (~kam1@24.231.108.143) (Ping timeout: 240 seconds) |
2020-12-22 18:50:40 +0100 | Wamanuz | (~wamanuz@90-230-67-56-no84.tbcn.telia.com) |
2020-12-22 18:50:53 +0100 | <solonarv> | it does need a fundep, but why do you want a class? |
2020-12-22 18:51:09 +0100 | <kuribas> | so restrict to boring haskell... |
2020-12-22 18:51:13 +0100 | <solonarv> | (the fundep is 'a nullable -> b') |
2020-12-22 18:51:17 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) |
2020-12-22 18:51:40 +0100 | <dolio> | This doesn't sound like a good reason. |
2020-12-22 18:52:02 +0100 | <solonarv> | I'm not convinced that fundeps are any more boring than type families, given that you can use FDs to replicate what TFs do - *including* all of the potential type astronaut wizardry |
2020-12-22 18:52:35 +0100 | <kuribas> | good point :) |
2020-12-22 18:53:30 +0100 | <solonarv> | your question demonstrates the issue perfectly: you have a type family, but you propose encoding it as a FD instead; this doesn't make it any less (potentially) confusing! |
2020-12-22 18:53:43 +0100 | <kuribas> | that's true |
2020-12-22 18:54:24 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 18:54:37 +0100 | <dminuoso> | Strange, usually people do it the other way around.. |
2020-12-22 18:54:50 +0100 | <dminuoso> | Switch from fundems to tyfams because of better ergonomics in many cases... |
2020-12-22 18:55:26 +0100 | <dolio> | Yeah, the other thing is, the way that type families stuff works generally makes more sense than fundeps. |
2020-12-22 18:55:37 +0100 | <koz_> | Also, every time someone brings up 'boring Haskell' or anything similar, I want to punch a bear. |
2020-12-22 18:56:07 +0100 | <koz_> | Since it's at best extremely nebulous and at worst twists things into unrecognizable messes because of some kind of minimalism fetish. |
2020-12-22 18:56:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-12-22 18:56:21 +0100 | <koz_> | (wow, I'm starting to sound like monochrom) |
2020-12-22 18:56:22 +0100 | <dolio> | Like, fundeps work in a weird, "just inform inference" sort of way. They're missing behavior that an actual "functional dependency" would imply. |
2020-12-22 18:56:26 +0100 | <Younder> | koz_, Drink one instead, less damaging to you health ;) |
2020-12-22 18:56:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-12-22 18:56:43 +0100 | <koz_> | Younder: How does one _drink_ a bear? What next-level RUSSIA is this? |
2020-12-22 18:56:46 +0100 | <kuribas> | koz_: I like the boring haskell sentiment, just not religiously... |
2020-12-22 18:57:01 +0100 | Wuzzy | (~Wuzzy@p549c9519.dip0.t-ipconnect.de) |
2020-12-22 18:57:06 +0100 | <dminuoso> | And even if you do want the typeclass, chances are an associated tyfam is a bit nicer. :) |
2020-12-22 18:57:10 +0100 | <dolio> | E.G. if you have `FromNullable n a b` and `FomNullable n a c`, you cannot deduce that `b = c`. |
2020-12-22 18:58:20 +0100 | <iekfkk> | are records in the default lang without extension. why not remove them |
2020-12-22 18:58:29 +0100 | <dminuoso> | iekfkk: Why would we remove records? |
2020-12-22 18:58:32 +0100 | <iekfkk> | we dont' need those stinking records |
2020-12-22 18:58:40 +0100 | <iekfkk> | we will use functions |
2020-12-22 18:58:57 +0100 | <dminuoso> | iekfkk: There's a lot of associated benefits, from it. |
2020-12-22 18:59:06 +0100 | <iekfkk> | idk |
2020-12-22 18:59:14 +0100 | <kuribas> | koz_: if I got rid of the null checking, everything would be Maybe. Possibly but ugly. |
2020-12-22 18:59:27 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2020-12-22 18:59:29 +0100 | <dminuoso> | iekfkk: Imagine you have a sum type with 10 fields, and you want to construct it. Using record syntax, it's less likely you make a mistake. Same story with pattern matching. |
2020-12-22 18:59:29 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-22 18:59:39 +0100 | <koz_> | kuribas: Who said anything about getting rid of null checking? I wasn't objecting to that - just to 'boring Haskell'. |
2020-12-22 18:59:43 +0100 | <koz_> | But in any case, you do you. |
2020-12-22 18:59:58 +0100 | plutoniix | (~q@node-uln.pool-125-24.dynamic.totinternet.net) |
2020-12-22 19:00:30 +0100 | <koz_> | iekfkk: While we're at it, why not remove numbers too? We don't need those stinking numbers! We will use functions. |
2020-12-22 19:00:31 +0100 | <dminuoso> | iekfkk: An unrelated part, you get niceties like Generics working really well with that. Being able to derive FromJSON or ToJSON is rather comfortable. |
2020-12-22 19:00:58 +0100 | <iekfkk> | koz_: records are like classes |
2020-12-22 19:01:05 +0100 | <kuribas> | koz_: I find many haskell libraries overengineered. |
2020-12-22 19:01:18 +0100 | <iekfkk> | exactly overengineering |
2020-12-22 19:01:41 +0100 | <koz_> | kuribas: I do too. Doesn't change my mind about 'boring Haskell' or anything similar. |
2020-12-22 19:01:47 +0100 | <merijn> | This entire conversation feels rather pointless. Don't like records? Don't use them. |
2020-12-22 19:02:01 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Ping timeout: 264 seconds) |
2020-12-22 19:02:04 +0100 | <koz_> | merijn: Pointless conversations? In _my_ #haskell? Never! :P |
2020-12-22 19:02:04 +0100 | <phaazon> | ^ |
2020-12-22 19:02:09 +0100 | <phaazon> | I meant ^ merijn |
2020-12-22 19:02:24 +0100 | <merijn> | Don't like Haskell because it has records? Don't use Haskell. Problem solved. |
2020-12-22 19:02:47 +0100 | <dolio> | The important part is that 'boring haskell' isn't about what extensions you turn on. It's about how complicated the thing you write with those extensions is. |
2020-12-22 19:03:07 +0100 | <kuribas> | and avoiding those extensions unless really needed. |
2020-12-22 19:04:25 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
2020-12-22 19:04:30 +0100 | <dolio> | Trying to do something complicated by mangling it into older extensions is going to make it more complicated, not less. |
2020-12-22 19:04:32 +0100 | <iekfkk> | https://stackoverflow.com/questions/5367167/haskell-record-syntax#5520803 |
2020-12-22 19:04:51 +0100 | <merijn> | dolio: More generally, I think it's useful to think in terms of "power-to-weight" ratio of extensions and complexity rather than some weird binary zealotry |
2020-12-22 19:04:53 +0100 | <iekfkk> | if the early Haskellers had their way, we might've never had record syntax in the first place. The idea was apparently pushed onto Haskell by people who were already used to C-like syntax, and were more interested in getting C-like things into Haskell rather than doing things "the Haskell way". |
2020-12-22 19:06:00 +0100 | <merijn> | iekfkk: This line of "questioning" is neither interesting nor productive |
2020-12-22 19:06:04 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 19:06:48 +0100 | <koz_> | maerwald: Is ghcup gonna get an update due to the release of GHC 8.10.3? |
2020-12-22 19:06:51 +0100 | <merijn> | "Imagine if the foundations of English were entirely different!" <- nice thought experiment, not helpful when communicating with the British |
2020-12-22 19:08:48 +0100 | <iekfkk> | this raises serious discussion about practicality of struct to make an app and GUItk |
2020-12-22 19:09:12 +0100 | knupfer | (~Thunderbi@200116b82c2bd800516fbdbd3eb5c414.dip.versatel-1u1.de) (Ping timeout: 258 seconds) |
2020-12-22 19:09:20 +0100 | <koz_> | iekfkk: How are those things even _remotely_ related? |
2020-12-22 19:09:27 +0100 | <iekfkk> | making an app and lib that makes it guitk is all that matters to a software person |
2020-12-22 19:09:37 +0100 | koz_ | is a software person. |
2020-12-22 19:09:43 +0100 | <iekfkk> | koz_: because apps are everything |
2020-12-22 19:09:44 +0100 | <Philonous> | jonkri, I've tried the code locally, and it creates the foreign constraint just fine |
2020-12-22 19:09:48 +0100 | <koz_> | Neither of those things matters to me. |
2020-12-22 19:10:07 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-12-22 19:10:43 +0100 | <koz_> | Also, what's QualifiedDo all about? |
2020-12-22 19:10:54 +0100 | <iekfkk> | you say how is programming and gui software related, obvious what's the use of programming then if you can't make an app. Is your view different than mine? are you talking about not making an app? |
2020-12-22 19:11:03 +0100 | <iekfkk> | i just see programming as an app maker |
2020-12-22 19:12:01 +0100 | <koz_> | iekfkk: Your exact claim was, and I quote, 'this raises serious discussion about practicality of struct to make an app and GUItk'. I was inquiring how you go from 'struct' to 'making an app and GUItk'. |
2020-12-22 19:12:12 +0100 | <koz_> | Because the logical sequence there is not clear to me. |
2020-12-22 19:12:20 +0100 | <Feuermagier> | i have a treenode, that can either be a node or a leaf. how do I check the type of the object? |
2020-12-22 19:12:29 +0100 | <koz_> | Feuermagier: Pattern match? |
2020-12-22 19:12:33 +0100 | <merijn> | Feuermagier: Pattern matching |
2020-12-22 19:12:34 +0100 | <iekfkk> | because if we can make an app without struct, then the conclusion is struct is useless... that's my thinking |
2020-12-22 19:12:46 +0100 | <koz_> | iekfkk: I can make 'an app' without numbers too. |
2020-12-22 19:12:47 +0100 | <geekosaur> | ... |
2020-12-22 19:12:50 +0100 | magma | (~magma@host-79-22-138-220.retail.telecomitalia.it) |
2020-12-22 19:12:50 +0100 | <koz_> | Does that make _numbers_ useless? |
2020-12-22 19:12:52 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
2020-12-22 19:13:02 +0100 | <Feuermagier> | can i just n == Node ? |
2020-12-22 19:13:12 +0100 | <koz_> | Feuermagier: No, because that doesn't make sense. |
2020-12-22 19:13:14 +0100 | <merijn> | koz_: *points at "no feeding"-sign* |
2020-12-22 19:13:17 +0100 | <koz_> | You want pattern matching. |
2020-12-22 19:13:38 +0100 | <iekfkk> | koz_: no not effectively not even remotely using assembly as it won't be portable, even with C it's a nightmare , and then someone said like a child we can make it with machinecode !! |
2020-12-22 19:13:56 +0100 | <koz_> | How does one summon mods? I think we broke the bot. |
2020-12-22 19:14:16 +0100 | <Philonous> | jonkri, The answer given in under the stack overflow question is just wrong, persistent has supported explicit Primary and Foreign keys for a long time |
2020-12-22 19:14:17 +0100 | <iekfkk> | koz_: but structs are not as fundamental to making apps as numbers are |
2020-12-22 19:14:59 +0100 | <iekfkk> | i'd be in deep sh** if there are no numbers, as they are prerequisite |
2020-12-22 19:15:26 +0100 | <Feuermagier> | isLeaf :: Tree a -> Boolean --- isLeaf t | t == Leaf = true |
2020-12-22 19:15:34 +0100 | <Feuermagier> | like this? |
2020-12-22 19:15:36 +0100 | <geekosaur> | no |
2020-12-22 19:15:40 +0100 | <koz_> | Feuermagier: No. |
2020-12-22 19:15:46 +0100 | <jle`> | Feuermagier: have you tried pattern matching? |
2020-12-22 19:16:04 +0100 | <Feuermagier> | is pattern mathing the thing with the | ? |
2020-12-22 19:16:09 +0100 | <koz_> | Feuermagier: Nope. |
2020-12-22 19:16:12 +0100 | <jle`> | not quite, that's a guard |
2020-12-22 19:16:13 +0100 | <koz_> | Those are called guards. |
2020-12-22 19:16:18 +0100 | <jle`> | isLeaf Leaf = True |
2020-12-22 19:16:23 +0100 | <jle`> | isLeaf (Node _ _ _) = False |
2020-12-22 19:16:23 +0100 | <koz_> | jle`: Something something soda? |
2020-12-22 19:16:25 +0100 | <jonkri> | Philonous: Thank you. :) |
2020-12-22 19:16:32 +0100 | <jle`> | or however many arguments Node has |
2020-12-22 19:16:33 +0100 | <jonkri> | I'd better go back and check my code again, then. :) |
2020-12-22 19:16:46 +0100 | <Feuermagier> | oh, | seemed like something that well... matches patterns |
2020-12-22 19:16:55 +0100 | <jle`> | Feuermagier: what pattern does it match? |
2020-12-22 19:17:02 +0100 | <geekosaur> | this is a pattern of constructors |
2020-12-22 19:17:12 +0100 | <Feuermagier> | the one i write in its check function |
2020-12-22 19:17:13 +0100 | <geekosaur> | not e.g. regex |
2020-12-22 19:17:24 +0100 | <jle`> | ah, you mean the boolean |
2020-12-22 19:17:37 +0100 | <jle`> | yeah, pattern here is "how you could construct a tree" |
2020-12-22 19:17:47 +0100 | <jle`> | data Tree a = Node a (Tree a) (Tree a) | Leaf |
2020-12-22 19:17:54 +0100 | <merijn> | jle`: Pro tip, record syntax works on non-records! |
2020-12-22 19:18:03 +0100 | <jle`> | so you can either match on the `Node _ _ _` pattern, or the `Leaf` pattern |
2020-12-22 19:18:10 +0100 | <merijn> | jle`: So you can write "isLeaf Node{} = False" to match regardless of argument count |
2020-12-22 19:18:14 +0100 | <jle`> | merijn: heh, wasn't sure that would be appropriate for a newcomer D: |
2020-12-22 19:18:50 +0100 | <jle`> | Feuermagier: so your code would be like: `isLeaf (Node a b c) = ..,; isLeaf Leaf = ...` |
2020-12-22 19:19:15 +0100 | <merijn> | Or, better yet, don't have an isLeaf at all and use pattern matching insead of using isLeaf ;) |
2020-12-22 19:21:54 +0100 | <jonkri> | Philonous: Could it be that my primary key is a UUID, or that my foreign key column is a Maybe value (that is, that the foreign key column is nullable)? |
2020-12-22 19:22:20 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2020-12-22 19:23:12 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 19:23:34 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 19:24:03 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9) |
2020-12-22 19:24:34 +0100 | <jonkri> | Philonous: Here's what the code looks like: <https://pastebin.com/quFCYqqQ>. |
2020-12-22 19:25:56 +0100 | <Philonous> | jonkri, UUID is definitely not the problem, I've used them as foreign references a lot |
2020-12-22 19:26:08 +0100 | borne | (~fritjof@200116b864c6f800c0a3d285e8e687f4.dip.versatel-1u1.de) |
2020-12-22 19:26:45 +0100 | <jonkri> | Philonous: Also, I'm using migrateAll for the Persistent migration. |
2020-12-22 19:27:30 +0100 | hackage | countable-inflections 0.3.0 - Countable Text Inflections https://hackage.haskell.org/package/countable-inflections-0.3.0 (tippenein) |
2020-12-22 19:27:39 +0100 | <shapr> | migrateAny |
2020-12-22 19:27:56 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2020-12-22 19:28:09 +0100 | <Philonous> | jonkri, I'm assuming "migrateAll" is the name you've given to the migration via mkMigrate? |
2020-12-22 19:29:07 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) |
2020-12-22 19:29:15 +0100 | <merijn> | jonkri: oof, optional foreign key? Not sure persistent supports that |
2020-12-22 19:29:26 +0100 | <Philonous> | Just ran that code, it seems it does |
2020-12-22 19:29:40 +0100 | hiroaki | (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
2020-12-22 19:29:44 +0100 | <merijn> | jonkri: I would also recommend reconsidering using persistent, tbh :) |
2020-12-22 19:30:04 +0100 | <Philonous> | I think the problem might be the backend, which actually creates the migration, I just checked with sqlite |
2020-12-22 19:30:23 +0100 | <merijn> | The backend is responsible for migrations, yes |
2020-12-22 19:30:30 +0100 | <merijn> | It's also not particularly sophisticated |
2020-12-22 19:30:41 +0100 | <Philonous> | jonkri, No, come to think of it, I've used optional foreign keys in the past, can't be the problem either |
2020-12-22 19:30:43 +0100 | <merijn> | Certainly don't expect to be able to arbitrary migrations |
2020-12-22 19:31:06 +0100 | <Philonous> | Yeah, I've moved to manual migrations because I don't trust it |
2020-12-22 19:31:24 +0100 | Guest98308 | (sid30093@gateway/web/irccloud.com/x-xltcvhbyjparvqrq) (Changing host) |
2020-12-22 19:31:25 +0100 | Guest98308 | (sid30093@musicbrainz/user/ocharles) |
2020-12-22 19:31:33 +0100 | Guest98308 | ocharles |
2020-12-22 19:31:36 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2020-12-22 19:31:39 +0100 | <Philonous> | Much better to have them in source control, you can always see what's going on instead of hoping that persistent guesses the right migration |
2020-12-22 19:32:03 +0100 | <merijn> | Philonous: I use semi-manual migrations piggy backing on persistent, but that's like 3.2k LOC right there just for migrations |
2020-12-22 19:32:30 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Remote host closed the connection) |
2020-12-22 19:32:32 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 19:32:38 +0100 | <merijn> | jonkri: Which database are you using? |
2020-12-22 19:32:49 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds) |
2020-12-22 19:33:00 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) |
2020-12-22 19:33:23 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
2020-12-22 19:34:04 +0100 | <jonkri> | I'm using https://hackage.haskell.org/package/esqueleto-3.4.0.1/docs/Database-Esqueleto.html#v:runMigration. migrateAll is defined through Esqueleto somehow. |
2020-12-22 19:34:13 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 272 seconds) |
2020-12-22 19:34:22 +0100 | <jonkri> | merijn: I'm using PostgreSQL. |
2020-12-22 19:34:24 +0100 | <merijn> | ah, I don't use esqueleto, just persistent |
2020-12-22 19:34:31 +0100 | christo | (~chris@81.96.113.213) |
2020-12-22 19:34:43 +0100 | <merijn> | jonkri: Well, at least you got that going for you! |
2020-12-22 19:35:07 +0100 | <merijn> | jonkri: hmm, this migration is adding a foreign key to an existing database? |
2020-12-22 19:35:10 +0100 | <Philonous> | I'm pretty sure that's just a re-export from persistent |
2020-12-22 19:35:20 +0100 | <jonkri> | I have a feeling I'm doing something extremely silly here, and is totally wasting your time...! |
2020-12-22 19:35:57 +0100 | <Philonous> | "migrateAll" is defined by "mkMigration", it's the string parameter you pass to it |
2020-12-22 19:36:10 +0100 | <Philonous> | mkMigrate, I mean |
2020-12-22 19:36:15 +0100 | <jonkri> | The foreign key should be visible through \d in psql, right? |
2020-12-22 19:36:22 +0100 | <Philonous> | Yes |
2020-12-22 19:36:39 +0100 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) (Ping timeout: 260 seconds) |
2020-12-22 19:37:30 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-12-22 19:37:50 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) |
2020-12-22 19:38:53 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 19:39:19 +0100 | <jonkri> | I'm realizing now that the version I'm using of Persistent is very old. 2.7.3.1. That's almost 3 years. |
2020-12-22 19:39:28 +0100 | <jonkri> | I should upgrade it and see if that solves the problem. |
2020-12-22 19:39:47 +0100 | <Philonous> | Can't hurt, but it should still work |
2020-12-22 19:40:02 +0100 | <merijn> | eh... |
2020-12-22 19:40:18 +0100 | <merijn> | I know at least 2 major updates to foreign key stuff in persistent in the past 2 years, so... |
2020-12-22 19:40:35 +0100 | <Philonous> | Oh ok then |
2020-12-22 19:40:37 +0100 | <merijn> | I wouldn't be so sure if he's using a 3 year old version and you are not :p |
2020-12-22 19:40:45 +0100 | Wamanuz | (~wamanuz@90-230-67-56-no84.tbcn.telia.com) (Remote host closed the connection) |
2020-12-22 19:41:05 +0100 | <jonkri> | merijn: Interesting! Why did you think I should reconsider Persistent, by the way? Was that just for the migrations, or in general? |
2020-12-22 19:41:10 +0100 | Wamanuz | (~wamanuz@90-230-67-56-no84.tbcn.telia.com) |
2020-12-22 19:42:34 +0100 | <merijn> | jonkri: In general. It seems like such a nice and convenient way to write your schema. No messing with SQL and setup, yay! But I've basically built my own entire migration and query logic on top of it because it didn't expose all the details I needed (not to mention a number of PRs to persistent) |
2020-12-22 19:42:42 +0100 | hiroaki | (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) |
2020-12-22 19:42:56 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 240 seconds) |
2020-12-22 19:43:22 +0100 | <merijn> | jonkri: And having looked at the current API design I find it *incredibly* hard to use properly, there's a number of exposed functions/features that can leak resources and using them without leaking is non-obvious |
2020-12-22 19:44:46 +0100 | <jonkri> | merijn: I see! Thanks for the info. :) |
2020-12-22 19:45:04 +0100 | <solonarv> | koz_: QualifiedDo is "like RebindableSyntax, but only for that one 'do' block" - I haven't looked into it in great detail but it seems like a very nice extension to me |
2020-12-22 19:45:24 +0100 | <merijn> | jonkri: I'd probably use sqlite-simple and postgres-simple directly in the future |
2020-12-22 19:45:43 +0100 | <merijn> | jonkri: But I've got too much code to be willing to rewrite it now >.> |
2020-12-22 19:45:47 +0100 | <Philonous> | Also no joins, unless you use esqueleto, which is pretty good for what it does, but then you're writing SQL in Haskell, and it's not such a great fit. So sometimes you need to drop down to SQL anyway |
2020-12-22 19:46:03 +0100 | <merijn> | Also, SQL is just pretty good |
2020-12-22 19:46:03 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) (Ping timeout: 240 seconds) |
2020-12-22 19:46:09 +0100 | <kuribas> | jonkri, merijn I may find some time this holiday to port my library to hdbc |
2020-12-22 19:46:29 +0100 | <merijn> | The sooner you embrace the love of SQL, the better! :p |
2020-12-22 19:46:34 +0100 | <kuribas> | the typed layer looks a bit like esqueleto, but cleaner :) |
2020-12-22 19:46:44 +0100 | <kuribas> | merijn: my library is just SQL btw |
2020-12-22 19:46:45 +0100 | knupfer | (~Thunderbi@i5E86B42D.versanet.de) |
2020-12-22 19:46:49 +0100 | <kuribas> | a thin layer above it |
2020-12-22 19:47:00 +0100 | <merijn> | kuribas: Eh, hdbc (I've heard) has pretty abysmal performance :) |
2020-12-22 19:47:10 +0100 | <kuribas> | merijn: ah :( |
2020-12-22 19:47:15 +0100 | <kuribas> | what should I use then? |
2020-12-22 19:47:26 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2020-12-22 19:47:32 +0100 | <Philonous> | I've been fiddling about with code that automatically batches requests a la Haxl, but directly on top of persistent, so less futzing about. |
2020-12-22 19:48:07 +0100 | <merijn> | kuribas: In the sense of a general backend? I don't think one really exists? |
2020-12-22 19:48:13 +0100 | <Philonous> | Which means in common cases you can avoid n+1 queries without having to write custom joins |
2020-12-22 19:48:41 +0100 | <kuribas> | merijn: I have currently mysql, which according to these channels only our company uses :) |
2020-12-22 19:48:54 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Ping timeout: 272 seconds) |
2020-12-22 19:49:03 +0100 | <kuribas> | Philonous: for generic SQL? |
2020-12-22 19:49:36 +0100 | <Philonous> | Anything that esqueleto can target, at this point |
2020-12-22 19:49:44 +0100 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
2020-12-22 19:50:33 +0100 | <kuribas> | open source? |
2020-12-22 19:50:37 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Ping timeout: 264 seconds) |
2020-12-22 19:51:05 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) |
2020-12-22 19:51:06 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2020-12-22 19:52:55 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 19:53:13 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2020-12-22 19:53:49 +0100 | <kuribas> | Philonous: I am writing a graphql server based on SQL rewriting |
2020-12-22 19:54:18 +0100 | <kuribas> | at least, a graphql server library that would support it. |
2020-12-22 19:54:36 +0100 | <Philonous> | It's not realeased anywhere, there's a few problems I need to look into more. |
2020-12-22 19:54:53 +0100 | <kuribas> | as the graphql seems to follow a less flexible imperative model, and morpheus is all TH magick. |
2020-12-22 19:55:35 +0100 | AlexanderEliseev | (b0c3cefe@176.195.206.254) |
2020-12-22 19:57:12 +0100 | AlexanderEliseev | (b0c3cefe@176.195.206.254) (Remote host closed the connection) |
2020-12-22 19:57:21 +0100 | <kuribas> | merijn: maybe better, I document my library better, post it on reddit, and hope someone else ports it to postgresql :-) |
2020-12-22 20:00:00 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 20:00:59 +0100 | hackage | tasty-silver 3.2.1 - A fancy test runner, including support for golden tests. https://hackage.haskell.org/package/tasty-silver-3.2.1 (PhilippHausmann) |
2020-12-22 20:01:27 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 20:01:38 +0100 | Mikagami | (~MOSCOS@122.54.107.175) (Remote host closed the connection) |
2020-12-22 20:02:04 +0100 | Mikagami | (~MOSCOS@122.54.107.175) |
2020-12-22 20:02:58 +0100 | EdFletcher | (~EdFletche@unaffiliated/edfletchert137) ("Leaving") |
2020-12-22 20:03:03 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) |
2020-12-22 20:03:25 +0100 | geekosaur | (42d52137@66.213.33.55) (Ping timeout: 245 seconds) |
2020-12-22 20:03:33 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-12-22 20:04:01 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds) |
2020-12-22 20:06:49 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
2020-12-22 20:09:05 +0100 | alx741 | (~alx741@186.178.110.239) (Quit: alx741) |
2020-12-22 20:09:23 +0100 | alx741 | (~alx741@186.178.110.239) |
2020-12-22 20:14:47 +0100 | ADG1089__ | (~aditya@223.235.77.1) |
2020-12-22 20:15:13 +0100 | Cthalupa | (~cthulhu@47.186.47.75) (Ping timeout: 264 seconds) |
2020-12-22 20:15:41 +0100 | bisickcor | (~username@117.200.10.75) |
2020-12-22 20:15:42 +0100 | Cthalupa | (~cthulhu@47.186.47.75) |
2020-12-22 20:15:59 +0100 | hackage | graphula 2.0.0.2 - A declarative library for describing dependencies between data https://hackage.haskell.org/package/graphula-2.0.0.2 (PatrickBrisbin) |
2020-12-22 20:17:08 +0100 | jathan | (~jathan@69.61.93.38) |
2020-12-22 20:18:16 +0100 | iekfkk | (~username@117.200.6.222) (Ping timeout: 240 seconds) |
2020-12-22 20:21:18 +0100 | joehillen | (joehillen@unaffiliated/joehillen) () |
2020-12-22 20:21:39 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-22 20:22:48 +0100 | pipi | (cab83936@202.184.57.54) |
2020-12-22 20:24:03 +0100 | pipi | (cab83936@202.184.57.54) (Remote host closed the connection) |
2020-12-22 20:24:21 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2020-12-22 20:25:52 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2020-12-22 20:30:08 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Quit: WeeChat 2.7.1) |
2020-12-22 20:31:21 +0100 | Merfont | (~Kaiepi@47.54.252.148) |
2020-12-22 20:31:24 +0100 | <dsal> | Is there an annotation I can use to tell GHC that a pattern, while incomplete, is still correct/total/ |
2020-12-22 20:31:26 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer) |
2020-12-22 20:32:52 +0100 | <dsal> | Currently sledging in a `{-# OPTIONS_GHC -Wno-incomplete-patterns #-}`, but it'd be nice to be more local. |
2020-12-22 20:35:01 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 272 seconds) |
2020-12-22 20:35:13 +0100 | <xerox_> | dsal: I have had the same question |
2020-12-22 20:36:05 +0100 | <dsal> | Surely it must exist. I'd rather litter my code with annotations that it's correct than add pattern captures and cases for things that are impossible and I have to respond with error or something anyway. |
2020-12-22 20:36:30 +0100 | <merijn> | dsal: Something more local would be "foo _ = error "can't happen"" |
2020-12-22 20:37:10 +0100 | <xerox_> | that's exactly the line you feel worst about adding :D |
2020-12-22 20:37:23 +0100 | <dsal> | Yeah, I have one of those. I guess satisfying the compiler and providing a better error message when impossible happens at the same time is probably fine. |
2020-12-22 20:40:30 +0100 | hackage | cherry-core-alpha 0.2.0.0 - The core library for Cherry Haskell. https://hackage.haskell.org/package/cherry-core-alpha-0.2.0.0 (terezasokol) |
2020-12-22 20:40:55 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
2020-12-22 20:42:10 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 20:42:27 +0100 | <geekosaur> | not the most self-descriptive of packages |
2020-12-22 20:43:15 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Quit: Connection closed) |
2020-12-22 20:44:00 +0100 | <dsal> | cherry core sounds like the pits |
2020-12-22 20:44:44 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2020-12-22 20:47:03 +0100 | <cohn> | xD |
2020-12-22 20:47:24 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
2020-12-22 20:47:25 +0100 | texasmyn_ | (~texasmyns@23.82.14.34) |
2020-12-22 20:48:05 +0100 | knupfer | (~Thunderbi@i5E86B42D.versanet.de) (Ping timeout: 240 seconds) |
2020-12-22 20:48:10 +0100 | xiinotulp | (~q@node-uov.pool-125-24.dynamic.totinternet.net) |
2020-12-22 20:49:37 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) |
2020-12-22 20:50:18 +0100 | texasmynsted | (~texasmyns@185.232.22.12) (Ping timeout: 256 seconds) |
2020-12-22 20:51:27 +0100 | plutoniix | (~q@node-uln.pool-125-24.dynamic.totinternet.net) (Ping timeout: 256 seconds) |
2020-12-22 20:52:52 +0100 | StoneToad | (~StoneToad@104-192-232-50.ppp.storm.ca) (Ping timeout: 272 seconds) |
2020-12-22 20:52:52 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 20:53:27 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2020-12-22 20:53:30 +0100 | StoneToad | (~StoneToad@104-192-232-50.ppp.storm.ca) |
2020-12-22 20:53:51 +0100 | <Philonous> | dsal, COMPLETE pragmas work for that |
2020-12-22 20:54:38 +0100 | <dsal> | Philonous: Yeah, that's what I was looking for. I was searching for "total" and similar. |
2020-12-22 20:54:39 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) (Ping timeout: 272 seconds) |
2020-12-22 20:54:58 +0100 | ADG1089__ | (~aditya@223.235.77.1) (Remote host closed the connection) |
2020-12-22 20:55:09 +0100 | <Philonous> | It's not necessarily what you want, though, since it's sort of "global" |
2020-12-22 20:55:22 +0100 | ADG1089__ | (~aditya@223.235.77.1) |
2020-12-22 20:55:41 +0100 | <Philonous> | But if there's a specific set of constructors or pattern synonyms that you want considered complete it's what you're looking for |
2020-12-22 20:56:29 +0100 | <dsal> | Yeah, it looks like most options are worse than just "error with a good reason this was impossible |
2020-12-22 20:56:30 +0100 | <dsal> | " |
2020-12-22 20:57:23 +0100 | ADG1089__ | (~aditya@223.235.77.1) (Remote host closed the connection) |
2020-12-22 20:57:45 +0100 | ADG1089__ | (~aditya@223.235.77.1) |
2020-12-22 20:58:02 +0100 | <Philonous> | I think {-# COMPLETE" #-} is mostly useful for pattern synonyms since they are opaque to the pattern match checker, but maybe some clever use could get you there |
2020-12-22 20:58:27 +0100 | cyphase | (~cyphase@unaffiliated/cyphase) (Ping timeout: 272 seconds) |
2020-12-22 20:59:18 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 256 seconds) |
2020-12-22 21:00:56 +0100 | ADG1089__ | (~aditya@223.235.77.1) (Remote host closed the connection) |
2020-12-22 21:01:18 +0100 | ADG1089__ | (~aditya@223.235.77.1) |
2020-12-22 21:02:36 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Ping timeout: 240 seconds) |
2020-12-22 21:03:21 +0100 | <fuzzypixelz> | when I'm writing haskell I often end up with functions like: |
2020-12-22 21:03:28 +0100 | <fuzzypixelz> | > f =map (bimap unwords (unwords . take 2) . splitAt 1 . words) . splitOn "," . unwords . drop 4 . words |
2020-12-22 21:03:30 +0100 | <lambdabot> | <hint>:1:3: error: <hint>:1:3: error: parse error on input ‘=’ |
2020-12-22 21:04:11 +0100 | <fuzzypixelz> | > map (bimap unwords (unwords . take 2) . splitAt 1 . words) . splitOn "," . unwords . drop 4 . words |
2020-12-22 21:04:13 +0100 | <lambdabot> | <[Char] -> [([Char],[Char])]> |
2020-12-22 21:04:31 +0100 | <fuzzypixelz> | Then I have no idea how to simplify them |
2020-12-22 21:04:55 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 21:05:16 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2020-12-22 21:05:52 +0100 | nineonine | (~nineonine@50.216.62.2) |
2020-12-22 21:06:02 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) (Ping timeout: 264 seconds) |
2020-12-22 21:06:54 +0100 | <hololeap> | fuzzypixelz: maybe focus on making the code more readable/intelligable rather than making it as few lines as possible |
2020-12-22 21:08:10 +0100 | <solonarv> | split it up: dropNWords n = unwords . drop n . words; firstThreeWords xs = case words xs of (x:y:z:_) -> (x, y ++ z) ; f = map firstThreeWords . splitOn "," . dropNWords 4 |
2020-12-22 21:08:24 +0100 | <hololeap> | also, it kind of looks like you might benefit from using a parser library |
2020-12-22 21:08:35 +0100 | <solonarv> | (probably add a sensible failure case to firstThreeWords, and choose better names) |
2020-12-22 21:08:52 +0100 | <solonarv> | but this is also about the level of complexity where I'd jump ship to a parser combinator library |
2020-12-22 21:09:02 +0100 | jneira | (5127ad83@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.131) |
2020-12-22 21:09:21 +0100 | <fuzzypixelz> | huh, this is AOC day 7 |
2020-12-22 21:09:35 +0100 | <fuzzypixelz> | an example of a parser library please? |
2020-12-22 21:09:40 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Remote host closed the connection) |
2020-12-22 21:09:42 +0100 | <hololeap> | parsec |
2020-12-22 21:09:44 +0100 | <solonarv> | I use parser combinators to parse all the AoC inputs |
2020-12-22 21:09:49 +0100 | <solonarv> | megaparsec is my go-to |
2020-12-22 21:09:57 +0100 | <hololeap> | not sure what's available for AoC |
2020-12-22 21:10:11 +0100 | <merijn> | hololeap: Whatever you install locally... |
2020-12-22 21:10:18 +0100 | <solonarv> | whatever you want, your code runs on your own machine (not on the AoC servers) |
2020-12-22 21:10:22 +0100 | <fuzzypixelz> | hololeap: yes you can do whatever |
2020-12-22 21:10:25 +0100 | <hololeap> | oh, didn't know that |
2020-12-22 21:10:53 +0100 | <hololeap> | then yeah, megaparsec is what i would choose as well |
2020-12-22 21:11:02 +0100 | <fuzzypixelz> | thanks for reminding me (informing me) that parser libraries exit |
2020-12-22 21:11:17 +0100 | <fuzzypixelz> | um parsec vs megaparsec? |
2020-12-22 21:11:19 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 21:11:22 +0100 | <Feuermagier> | I have an operation that might return "Nothing" - I need to perform further functions if I get a "Just", otherwise I need to abort and return "Nothing". How do I elegantly chain functions where any might fail and return "Nothing"? |
2020-12-22 21:11:36 +0100 | xcmw | (~textual@2603-6011-2200-f103-b803-6e7f-4f6f-d00a.res6.spectrum.com) |
2020-12-22 21:11:38 +0100 | <shapr> | I need "how to convert your attoparsec code to megaparsec" tutorial. |
2020-12-22 21:11:55 +0100 | <shapr> | Feuermagier: what about the maybe monad? |
2020-12-22 21:12:31 +0100 | <Feuermagier> | shapr, haven't heard about those. will look it up. |
2020-12-22 21:13:11 +0100 | <xerox_> | :t asum |
2020-12-22 21:13:12 +0100 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
2020-12-22 21:13:36 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Ping timeout: 240 seconds) |
2020-12-22 21:13:48 +0100 | evanjs- | (~evanjs@075-129-098-007.res.spectrum.com) |
2020-12-22 21:15:22 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) |
2020-12-22 21:16:21 +0100 | <solonarv> | % :t (>>=) @Maybe -- Feuermagier , sound like a useful type? |
2020-12-22 21:16:22 +0100 | <yahb> | solonarv: Maybe a -> (a -> Maybe b) -> Maybe b |
2020-12-22 21:17:26 +0100 | <hololeap> | fuzzypixelz: https://github.com/mrkkrp/megaparsec#comparison-with-other-solutions |
2020-12-22 21:18:07 +0100 | <shapr> | yeah, I just need to port over all my existing code so I know what to use in place of say, decimal |
2020-12-22 21:19:22 +0100 | <hololeap> | shapr: Text.Megaparsec.Char.Lexer.decimal ? |
2020-12-22 21:20:02 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2020-12-22 21:20:42 +0100 | <hololeap> | or i guess you would probably want Text.Megaparsec.Byte.Lexer.decimal if you're working with ByteStrings |
2020-12-22 21:20:52 +0100 | ADG1089__ | (~aditya@223.235.77.1) (Remote host closed the connection) |
2020-12-22 21:21:19 +0100 | ADG1089__ | (~aditya@223.235.77.1) |
2020-12-22 21:22:19 +0100 | wonko7 | (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) |
2020-12-22 21:22:57 +0100 | coot | (~coot@37.30.50.187.nat.umts.dynamic.t-mobile.pl) |
2020-12-22 21:23:41 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 21:24:09 +0100 | <shapr> | hololeap: I dunno, last year I tried to get started with megaparsec and switched back to attoparsec for reasons I've forgotton :-( |
2020-12-22 21:24:29 +0100 | <shapr> | Attoparsec is not error friendly, that's for sure. |
2020-12-22 21:24:36 +0100 | <hololeap> | if you're dealing with incremental input, attoparsec is really the only choice |
2020-12-22 21:25:12 +0100 | <shapr> | haven't done that yet, I started using attoparsec before megaparsec was a thing |
2020-12-22 21:25:42 +0100 | Merfont | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2020-12-22 21:26:04 +0100 | Merfont | (~Kaiepi@47.54.252.148) |
2020-12-22 21:26:18 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-12-22 21:26:20 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit) |
2020-12-22 21:26:39 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 21:26:46 +0100 | lep-delete | (~lep@94.31.81.93) (Read error: Connection reset by peer) |
2020-12-22 21:27:02 +0100 | lep-delete | (~lep@94.31.81.93) |
2020-12-22 21:27:08 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-12-22 21:27:11 +0100 | lep-delete | test |
2020-12-22 21:27:15 +0100 | <hololeap> | megaparsec is pretty easy to learn. the semantics are very similar to attoparsec, with a few exceptions (attoparsec always backtracks on failure; with megaparsec, you sometimes have to use the `try` combinator) |
2020-12-22 21:27:41 +0100 | test | Guest31393 |
2020-12-22 21:27:49 +0100 | Guest31393 | lep-delete |
2020-12-22 21:28:42 +0100 | <hololeap> | i actually don't understand why megaparsec doesn't backtrack on failure like attoparsec does. it seems more natural to me to automatically backtrack |
2020-12-22 21:28:57 +0100 | <geekosaur> | because worst case it's unbounded |
2020-12-22 21:29:01 +0100 | <merijn> | hololeap: Because it's far less efficient |
2020-12-22 21:29:28 +0100 | <merijn> | Also, makes it much harder to sensible error reporting |
2020-12-22 21:29:41 +0100 | <merijn> | You wanna commit as hard as possible as fast as possible for best errors |
2020-12-22 21:29:52 +0100 | Janni | (~jan@134.3.46.18) |
2020-12-22 21:30:07 +0100 | <hololeap> | hm, ok |
2020-12-22 21:30:10 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) |
2020-12-22 21:30:26 +0100 | <glguy> | attoparsec only backtracks up to <|>, but its <|> is still biased, it won't backtrack on success |
2020-12-22 21:30:47 +0100 | Janni | (~jan@134.3.46.18) (Client Quit) |
2020-12-22 21:30:55 +0100 | <merijn> | See also ezyang's post on "try a or b considered harmful": http://blog.ezyang.com/2014/05/parsec-try-a-or-b-considered-harmful/ |
2020-12-22 21:31:01 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2020-12-22 21:31:14 +0100 | <merijn> | glguy: Yes, but if the top part of your parser is a bunch of alternatives it means it can backtrack all the way back to the start |
2020-12-22 21:31:16 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 256 seconds) |
2020-12-22 21:31:28 +0100 | <glguy> | attoparsec's <|> means you have to structure your parser differently when you want to commit earlier |
2020-12-22 21:31:50 +0100 | <glguy> | merijn: yeah, but it's wrong/misleading to just say "it always backtracks" |
2020-12-22 21:32:12 +0100 | <glguy> | it just don't have the input consumption commits optimization |
2020-12-22 21:32:15 +0100 | <merijn> | glguy: to be fair, no one said that :p |
2020-12-22 21:32:21 +0100 | <glguy> | people say it all the time, to be fair |
2020-12-22 21:32:31 +0100 | <merijn> | glguy: hololeap said "it always backtracks on failure" :) |
2020-12-22 21:32:46 +0100 | <glguy> | I'm not picking on hololeap |
2020-12-22 21:33:26 +0100 | shapr | picks on lambdabot |
2020-12-22 21:34:46 +0100 | <glguy> | oh well, sounds like I wasn't adding anything; back to work |
2020-12-22 21:35:06 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Quit: Konversation terminated!) |
2020-12-22 21:35:18 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2020-12-22 21:36:12 +0100 | <sm[m]> | I for one am happy to see regular discussion of the finer points of parsing in Haskell |
2020-12-22 21:37:33 +0100 | glguy | wonders what portion of parser combinator questions in december here are due to aoc |
2020-12-22 21:37:54 +0100 | iekfkk | (~username@117.200.13.21) |
2020-12-22 21:37:58 +0100 | <sm[m]> | a sign it's becoming more mainstream and easier to get productive with |
2020-12-22 21:38:13 +0100 | <sm[m]> | glguy I'm guessing all of them :) |
2020-12-22 21:38:14 +0100 | <merijn> | glguy: ~95%? :p |
2020-12-22 21:38:41 +0100 | <dminuoso> | sm[m]: The parsing discussions only happen in december, though. |
2020-12-22 21:39:00 +0100 | <dminuoso> | In January, we're back to talking about adjunctions and homotopy type theory. |
2020-12-22 21:39:02 +0100 | <glguy> | The rest of the year we're using happy :nod: |
2020-12-22 21:39:06 +0100 | <dminuoso> | heh |
2020-12-22 21:39:41 +0100 | <glguy> | I'm using happy to generate ReadP parsers to parse my inputs so I can use all the things |
2020-12-22 21:40:45 +0100 | bisickcor | (~username@117.200.10.75) (Ping timeout: 240 seconds) |
2020-12-22 21:45:38 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 264 seconds) |
2020-12-22 21:50:29 +0100 | fxg | (~fxg@unaffiliated/fxg) |
2020-12-22 21:51:11 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) |
2020-12-22 21:52:30 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 21:54:30 +0100 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) |
2020-12-22 21:54:58 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2020-12-22 21:54:58 +0100 | emmanuel_erc | (~user@2603-7000-9600-01c9-0000-0000-0000-0adc.res6.spectrum.com) |
2020-12-22 21:55:41 +0100 | rprije | (~rprije@202.168.43.92) |
2020-12-22 21:56:30 +0100 | hackage | hspec-expectations-json 1.0.0.2 - Hspec expectations for JSON Values https://hackage.haskell.org/package/hspec-expectations-json-1.0.0.2 (PatrickBrisbin) |
2020-12-22 21:57:38 +0100 | <shapr> | great hspec tations |
2020-12-22 21:57:51 +0100 | coot | (~coot@37.30.50.187.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-12-22 21:57:56 +0100 | Merfont | (~Kaiepi@47.54.252.148) (Read error: No route to host) |
2020-12-22 21:58:01 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2020-12-22 21:58:17 +0100 | Merfont | (~Kaiepi@47.54.252.148) |
2020-12-22 21:58:22 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) (Ping timeout: 260 seconds) |
2020-12-22 21:58:25 +0100 | fxg | (~fxg@unaffiliated/fxg) (Ping timeout: 246 seconds) |
2020-12-22 21:58:49 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
2020-12-22 21:59:11 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-12-22 22:00:00 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 22:00:10 +0100 | mounty | (~mounty@210.1.196.133) (Ping timeout: 256 seconds) |
2020-12-22 22:00:35 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) |
2020-12-22 22:02:03 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2020-12-22 22:02:12 +0100 | <monochrom> | heh |
2020-12-22 22:03:01 +0100 | <hololeap> | merijn: thanks for the blog post, it's very informative |
2020-12-22 22:03:14 +0100 | cyphase | (~cyphase@unaffiliated/cyphase) |
2020-12-22 22:04:09 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-12-22 22:05:59 +0100 | hackage | ejdb2-binding 0.3.0.1 - Binding to EJDB2 C library, an embedded JSON noSQL database https://hackage.haskell.org/package/ejdb2-binding-0.3.0.1 (buro) |
2020-12-22 22:08:03 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) (Ping timeout: 240 seconds) |
2020-12-22 22:09:29 +0100 | xcmw | (~textual@2603-6011-2200-f103-b803-6e7f-4f6f-d00a.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 22:10:01 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving) |
2020-12-22 22:10:51 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-12-22 22:14:27 +0100 | xcmw | (~textual@2603-6011-2200-f103-b803-6e7f-4f6f-d00a.res6.spectrum.com) |
2020-12-22 22:15:44 +0100 | Deide | (~Deide@217.155.19.23) |
2020-12-22 22:15:55 +0100 | geekosaur | (42d52137@66.213.33.55) (Ping timeout: 245 seconds) |
2020-12-22 22:16:01 +0100 | xcmw | (~textual@2603-6011-2200-f103-b803-6e7f-4f6f-d00a.res6.spectrum.com) (Client Quit) |
2020-12-22 22:18:19 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2020-12-22 22:18:44 +0100 | DavidEichmann | (~david@62.110.198.146.dyn.plus.net) (Quit: Leaving) |
2020-12-22 22:19:03 +0100 | dominik | (~weechat@2001:a61:3412:1a01:9665:9cff:fe4d:b4d0) |
2020-12-22 22:22:17 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: fuzzypixelz) |
2020-12-22 22:23:22 +0100 | fuzzypixelz | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2020-12-22 22:23:36 +0100 | lisq | (~quassel@lis.moe) (Quit: lisq) |
2020-12-22 22:23:46 +0100 | lisq | (~quassel@lis.moe) |
2020-12-22 22:24:23 +0100 | <kritzefitz> | I recently spent days trying to improve performance in a concurrent application. Today I realized that I have a section in my code that sequentially checks various STM variables and loops if none of them have interesting content. I replaced that section with one proper STM action that checks all the variables and retries if nothing interesting happened and suddenly the performance problem is gone. Now I feel kinda stupid. |
2020-12-22 22:26:21 +0100 | texasmynsted | (~texasmyns@99.96.221.112) |
2020-12-22 22:27:27 +0100 | <dminuoso> | merijn: eitherP is also a nice primitive in attoparsec. :) |
2020-12-22 22:27:31 +0100 | lisq | (~quassel@lis.moe) (Client Quit) |
2020-12-22 22:27:41 +0100 | lisq | (~quassel@lis.moe) |
2020-12-22 22:28:04 +0100 | <dminuoso> | But, I guess it's just a take on <|> |
2020-12-22 22:28:35 +0100 | <dminuoso> | Guess what Im really saying is, this should be selective :p |
2020-12-22 22:30:51 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-22 22:32:44 +0100 | <shapr> | kritzefitz: is it on github? |
2020-12-22 22:33:37 +0100 | <shapr> | or gitlab, or sr.ht or .. |
2020-12-22 22:34:13 +0100 | <kritzefitz> | shapr, not yet. But I was planning to put it onto Gitlab anyway, so if you like to take a look, I can just upload it now. |
2020-12-22 22:34:22 +0100 | <shapr> | yay! |
2020-12-22 22:34:30 +0100 | shapr | hoards more Haskell repos |
2020-12-22 22:34:45 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 268 seconds) |
2020-12-22 22:36:39 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 22:38:03 +0100 | sm[m] | thinks shapr is actually a dragon |
2020-12-22 22:38:18 +0100 | <shapr> | when it comes to Haskell source, sure |
2020-12-22 22:39:57 +0100 | N3RGY | (~N3RGY@2600:1700:65aa:90b0:6446:3ba0:c322:ad4c) |
2020-12-22 22:41:07 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-kgydrswmdfhxhpyo) |
2020-12-22 22:41:32 +0100 | <kritzefitz> | shapr: https://gitlab.com/Kritzefitz/reflex-gi-gtk |
2020-12-22 22:41:41 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 272 seconds) |
2020-12-22 22:42:42 +0100 | <kritzefitz> | shapr, I'm still getting the API and implementation into shape, so don't expect too much in terms of documentation. |
2020-12-22 22:42:42 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 22:42:44 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 22:42:49 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-22 22:43:54 +0100 | dominik | (~weechat@2001:a61:3412:1a01:9665:9cff:fe4d:b4d0) (Quit: WeeChat 2.8) |
2020-12-22 22:46:56 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 240 seconds) |
2020-12-22 22:47:19 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 258 seconds) |
2020-12-22 22:47:39 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Read error: Connection reset by peer) |
2020-12-22 22:48:11 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Quit: Connection closed) |
2020-12-22 22:48:33 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) |
2020-12-22 22:50:34 +0100 | geekosaur | (42d52137@66.213.33.55) (Remote host closed the connection) |
2020-12-22 22:50:47 +0100 | <int-e> | shapr: so what happens when somebody comes and take a byte? |
2020-12-22 22:51:37 +0100 | Lycurgus | (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Ping timeout: 246 seconds) |
2020-12-22 22:51:57 +0100 | jathan | (~jathan@69.61.93.38) (Quit: WeeChat 2.3) |
2020-12-22 22:53:24 +0100 | cosimone | (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
2020-12-22 22:54:11 +0100 | jathan | (~jathan@69.61.93.38) |
2020-12-22 22:55:58 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) (Remote host closed the connection) |
2020-12-22 22:56:19 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) |
2020-12-22 22:57:08 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) (Client Quit) |
2020-12-22 22:57:14 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) |
2020-12-22 22:59:16 +0100 | fendor | (~fendor@178.165.130.57.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-22 22:59:46 +0100 | knupfer | (~Thunderbi@200116b82c2bd8009cf6cefffeb16eb0.dip.versatel-1u1.de) |
2020-12-22 23:00:04 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-12-22 23:00:27 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 23:00:45 +0100 | knupfer | (~Thunderbi@200116b82c2bd8009cf6cefffeb16eb0.dip.versatel-1u1.de) (Remote host closed the connection) |
2020-12-22 23:00:52 +0100 | fendor | (~fendor@178.165.130.57.wireless.dyn.drei.com) |
2020-12-22 23:00:55 +0100 | knupfer | (~Thunderbi@200116b82c2bd800c8b0c6ced9ba4619.dip.versatel-1u1.de) |
2020-12-22 23:01:44 +0100 | mounty | (~mounty@2001:8000:2f59:0:dc99:8f7f:11be:dca1) |
2020-12-22 23:02:16 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) (Remote host closed the connection) |
2020-12-22 23:02:18 +0100 | Franciman | (~francesco@host-82-49-79-73.retail.telecomitalia.it) |
2020-12-22 23:02:37 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) |
2020-12-22 23:02:42 +0100 | knupfer | (~Thunderbi@200116b82c2bd800c8b0c6ced9ba4619.dip.versatel-1u1.de) (Client Quit) |
2020-12-22 23:02:51 +0100 | knupfer | (~Thunderbi@200116b82c2bd800c8b0c6ced9ba4619.dip.versatel-1u1.de) |
2020-12-22 23:03:03 +0100 | knupfer | (~Thunderbi@200116b82c2bd800c8b0c6ced9ba4619.dip.versatel-1u1.de) (Client Quit) |
2020-12-22 23:03:12 +0100 | knupfer | (~Thunderbi@200116b82c2bd80058d8cab548bcb510.dip.versatel-1u1.de) |
2020-12-22 23:03:42 +0100 | arybczak | (~unknown@2a02:a312:c83d:7800:bb7f:5c00:4f48:cc5c) (Quit: Konversation terminated!) |
2020-12-22 23:06:45 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2020-12-22 23:06:45 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
2020-12-22 23:06:45 +0100 | neiluj | (~jco@unaffiliated/neiluj) |
2020-12-22 23:09:29 +0100 | pavonia | (~user@unaffiliated/siracusa) |
2020-12-22 23:10:21 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2020-12-22 23:10:24 +0100 | kam1 | (~kam1@24.231.108.143) |
2020-12-22 23:10:29 +0100 | ADG1089__ | (~aditya@223.235.77.1) (Remote host closed the connection) |
2020-12-22 23:11:36 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2020-12-22 23:13:47 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2020-12-22 23:17:00 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2020-12-22 23:17:23 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 23:18:01 +0100 | knupfer | (~Thunderbi@200116b82c2bd80058d8cab548bcb510.dip.versatel-1u1.de) (Quit: knupfer) |
2020-12-22 23:18:10 +0100 | knupfer | (~Thunderbi@i5E86B42D.versanet.de) |
2020-12-22 23:21:56 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2020-12-22 23:23:03 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2020-12-22 23:23:19 +0100 | son0p | (~son0p@181.136.122.143) |
2020-12-22 23:23:28 +0100 | mimi_vx | (~mimi@2a01:490:16:1026:81e9:63f1:91e1:9716) (Ping timeout: 268 seconds) |
2020-12-22 23:23:46 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2020-12-22 23:25:45 +0100 | leungbk | (~user@2603-8000-f144-2028-88ca-9c13-d300-2ffb.res6.spectrum.com) |
2020-12-22 23:29:18 +0100 | <ezzieyguywuf> | is it possible to `./setup clean` a single module in the build plan? |
2020-12-22 23:29:23 +0100 | N3RGY | (~N3RGY@2600:1700:65aa:90b0:6446:3ba0:c322:ad4c) (Remote host closed the connection) |
2020-12-22 23:29:42 +0100 | <merijn> | build plans are about packages, not modules, so...no? |
2020-12-22 23:29:46 +0100 | texasmyn_ | (~texasmyns@23.82.14.34) (Ping timeout: 246 seconds) |
2020-12-22 23:30:06 +0100 | kostic_ | (~kostic@51.194.80.91) (Ping timeout: 256 seconds) |
2020-12-22 23:30:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2020-12-22 23:30:30 +0100 | <ezzieyguywuf> | thought that might be the case |
2020-12-22 23:30:55 +0100 | <ezzieyguywuf> | anyone here familiar with elm? trying to figure out if I can compile/install it without an internet connection |
2020-12-22 23:31:26 +0100 | <ezzieyguywuf> | but the Develop.StaticFiles.Build module requires a connection to download ~/.elm from the interwebs or w/e |
2020-12-22 23:36:11 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov) |
2020-12-22 23:36:27 +0100 | hololeap | is very curious what would run elm that doesn't have an internet connection |
2020-12-22 23:37:21 +0100 | <ezzieyguywuf> | hololeap: I'm trying to *install* elm, not run it... |
2020-12-22 23:37:29 +0100 | <ezzieyguywuf> | i.e. trying to package it |
2020-12-22 23:39:03 +0100 | N3RGY | (~N3RGY@2600:1700:65aa:90b0:6446:3ba0:c322:ad4c) |
2020-12-22 23:39:33 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2020-12-22 23:40:15 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2020-12-22 23:40:30 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-12-22 23:40:52 +0100 | <hololeap> | so you have an air-gapped machine that you copied the elm source to? (not being critical just curious) |
2020-12-22 23:41:49 +0100 | <ezzieyguywuf> | hololeap: the packaging system I'm using implements a "network sandbox" during installation for security purposes |
2020-12-22 23:41:50 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-tihixihqvmmwogqg) (Quit: Connection closed for inactivity) |
2020-12-22 23:41:50 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-12-22 23:42:10 +0100 | <ezzieyguywuf> | it uses the network to download the released tarball and then expects the entire installation to work without need of the network |
2020-12-22 23:42:16 +0100 | <ezzieyguywuf> | I think it's a reasonable restriction |
2020-12-22 23:42:31 +0100 | <hololeap> | ok, so portage with the network sandbox feature turned on, amirite? |
2020-12-22 23:42:56 +0100 | Tario | (~Tario@201.192.165.173) |
2020-12-22 23:43:37 +0100 | <ezzieyguywuf> | hololeap: yes you are rite |
2020-12-22 23:45:03 +0100 | dandart | (~Thunderbi@2a00:23c7:f5a6:d001:21e9:329e:6e0c:5ce) (Ping timeout: 268 seconds) |
2020-12-22 23:45:13 +0100 | Melanie | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 264 seconds) |
2020-12-22 23:45:58 +0100 | N3RGY | (~N3RGY@2600:1700:65aa:90b0:6446:3ba0:c322:ad4c) (Ping timeout: 258 seconds) |
2020-12-22 23:48:30 +0100 | <fuzzypixelz> | earlier someone suggested I use a parser when I sowed a really complecated function |
2020-12-22 23:48:40 +0100 | <fuzzypixelz> | for example, for aoc day 7 |
2020-12-22 23:48:53 +0100 | <fuzzypixelz> | I need to "parse" a string like "light red bags contain 1 bright white bag, 2 muted yellow bags." |
2020-12-22 23:49:41 +0100 | <hololeap> | ezzieyguywuf: the best course of action is probably to submit a bug/PR for that package on the gentoo-haskell repo. i think it's generally considered bad practice for a package to want to break the network sandbox. |
2020-12-22 23:49:53 +0100 | <fuzzypixelz> | here I might need to save the type of bag in the beginning, the bags it can contain and their numbers |
2020-12-22 23:50:06 +0100 | <fuzzypixelz> | how can a library like parsec help here? |
2020-12-22 23:51:29 +0100 | <glguy> | fuzzypixelz: https://github.com/glguy/advent2020/blob/2fd663d49a622cf74661b52d89a0f6ea5c78a8fd/execs/Day07.hs#L… |
2020-12-22 23:51:39 +0100 | <glguy> | That's how I used megaparsec to parse that |
2020-12-22 23:51:42 +0100 | <ezzieyguywuf> | hololeap: I'm working on fixing it in gentoo-haskell |
2020-12-22 23:52:21 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-12-22 23:54:01 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:8163:ba97:5d66:959b) (Quit: Leaving) |
2020-12-22 23:54:19 +0100 | <ezzieyguywuf> | hololeap: that's why I'm asking if there's a way to tweak the elm installation to not require the network |
2020-12-22 23:55:03 +0100 | fendor | (~fendor@178.165.130.57.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-12-22 23:56:01 +0100 | kam1 | (~kam1@24.231.108.143) (Ping timeout: 246 seconds) |
2020-12-22 23:56:21 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:e906:26f8:b4d1:f41d) |
2020-12-22 23:56:37 +0100 | knupfer | (~Thunderbi@i5E86B42D.versanet.de) (Ping timeout: 264 seconds) |
2020-12-22 23:58:06 +0100 | lordyod2 | (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) |
2020-12-22 23:58:37 +0100 | lordyod | (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
2020-12-22 23:58:37 +0100 | lordyod2 | lordyod |