2021-12-01 00:00:02 +0100 | <monochrom> | It looks like eager. |
2021-12-01 00:00:12 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 00:01:28 +0100 | __monty__ | (~toonn@user/toonn) (Ping timeout: 264 seconds) |
2021-12-01 00:01:51 +0100 | jstolarek | (~jstolarek@137.220.120.162) (Ping timeout: 256 seconds) |
2021-12-01 00:02:57 +0100 | __monty__ | (~toonn@user/toonn) |
2021-12-01 00:03:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-12-01 00:03:23 +0100 | <Axman6> | maerwald: we'll get around to it one day, I'm sure |
2021-12-01 00:03:48 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-12-01 00:04:05 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-12-01 00:04:59 +0100 | <monochrom> | When it is really demanded, yes. >:) |
2021-12-01 00:06:00 +0100 | <geekosaur> | that will be a sad day |
2021-12-01 00:06:19 +0100 | <geekosaur> | when haskell abandons its core principle |
2021-12-01 00:06:34 +0100 | <maerwald> | SPJ said the next Haskell might be strict |
2021-12-01 00:06:58 +0100 | <monochrom> | No worries geekosaur, I (and I think Axman6) were doing meta-punning on laziness! Can't you see? >:) |
2021-12-01 00:08:25 +0100 | <maerwald> | I think laziness is a failed experiment. It only really serves compiler optimizations, but creates more headache for the users and is a poor streaming hack |
2021-12-01 00:09:47 +0100 | <monochrom> | No, I think it's successful. "f bottom = bottom" sucks. |
2021-12-01 00:10:17 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-12-01 00:10:56 +0100 | <monochrom> | if-then-else not being a function sucks. |
2021-12-01 00:11:35 +0100 | <monochrom> | I do not think of laziness as the only solution to streaming. I only admit that I do benefit from it, but only when it's appropriate. |
2021-12-01 00:11:51 +0100 | <dibblego> | can't write map in terms of foldr with scala, that sucks |
2021-12-01 00:11:52 +0100 | <jackdk> | At least we have Data.Bool.bool |
2021-12-01 00:12:10 +0100 | <jackdk> | and take n . sort |
2021-12-01 00:12:29 +0100 | ChanServ | -o dibblego |
2021-12-01 00:12:46 +0100 | <monochrom> | But as said, my reason for preferring laziness is because it enables "f True x y = x; f False x y = y". |
2021-12-01 00:13:14 +0100 | <monochrom> | I tried to do that in Python. It was disappointing. |
2021-12-01 00:13:20 +0100 | <dibblego> | map f = foldr ((:) . f) [] -- I like laziness because it enables this |
2021-12-01 00:13:29 +0100 | <monochrom> | I then tried to do that in Scheme. It was also disappointing. |
2021-12-01 00:13:32 +0100 | <maerwald> | you can have laziness in strict languages |
2021-12-01 00:13:39 +0100 | <maerwald> | but the language is strict |
2021-12-01 00:13:50 +0100 | <dibblego> | with so much effort that it is not worth it, yes |
2021-12-01 00:13:53 +0100 | <janus> | monochrom: you tried refactoring through a if-then-else? or you tried writing lazy python by putting everything in lambdas? |
2021-12-01 00:14:19 +0100 | <dibblego> | I have also tried this with python, but the failure was obviously imminent |
2021-12-01 00:14:36 +0100 | <monochrom> | I tried the simple-minded "def f(b, x, y): if b return x else return y" |
2021-12-01 00:14:44 +0100 | <dibblego> | dead |
2021-12-01 00:15:14 +0100 | <monochrom> | Well, that reminded me that I needed to do "def f(b, x, y): if b return x() else return y()". Well, that sucks. |
2021-12-01 00:15:18 +0100 | <dibblego> | def f(b, x, y): if b return x() else return y() # but ya can do laziness in a strict language! |
2021-12-01 00:15:32 +0100 | <hpc> | yeah, and then you have to be able to say "function of zero arguments" with a straight face |
2021-12-01 00:15:37 +0100 | <monochrom> | Also, it's not the same. You lose memoization. |
2021-12-01 00:15:42 +0100 | <janus> | i wonder with this question how people can have such different perspectives... is it because monochrom encounters a lot more infinite loops than maerwald? surely the problem domain must have something to do with it |
2021-12-01 00:16:00 +0100 | <monochrom> | Or put it theoretically, call-by-name is not call-by-need. |
2021-12-01 00:16:23 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:b590:8966:cd38:8f41) (Quit: gone to sleep. ZZZzzz…) |
2021-12-01 00:16:23 +0100 | <hpc> | i think it comes from just how you think about the definitions of things |
2021-12-01 00:16:35 +0100 | <hpc> | that definition of f leans heavily on equational reasoning |
2021-12-01 00:16:44 +0100 | <janus> | i mean, why does it matter how to reason about bottom if bottom never occurs? it could tip the scale if you have more bottoms than the next person |
2021-12-01 00:17:03 +0100 | <kennyd> | @src and |
2021-12-01 00:17:03 +0100 | <lambdabot> | and = foldr (&&) True |
2021-12-01 00:17:04 +0100 | <geekosaur> | but bottom does occur in strict languages |
2021-12-01 00:17:06 +0100 | <maerwald> | janus: when you've experienced complicated laziness issues in production that cost the business a lot of money and engineering time, you realize that for many thing, you don't actually want it. High-performance libraries already depend on hacks and whatnot, not on naive laziness |
2021-12-01 00:17:23 +0100 | <geekosaur> | it just means hangs or crashes |
2021-12-01 00:17:28 +0100 | <kennyd> | @src any |
2021-12-01 00:17:28 +0100 | <lambdabot> | any p = or . map p |
2021-12-01 00:17:32 +0100 | <maerwald> | every library I looked at that uses laziness to implement streaming sucks |
2021-12-01 00:17:36 +0100 | <maerwald> | (e.g. tar) |
2021-12-01 00:17:51 +0100 | <maerwald> | so you don't even want it for that |
2021-12-01 00:17:59 +0100 | <monochrom> | Only with a total language are you really free of bottom. |
2021-12-01 00:18:07 +0100 | <maerwald> | for networking, even the maintainers of said packages say they don't want laziness in their code |
2021-12-01 00:18:40 +0100 | <monochrom> | The rest, it depends on whether you focus on operational or denotational semantics. |
2021-12-01 00:18:51 +0100 | <maerwald> | the only pro argument I constantly hear is that you get neat optimizations tricks |
2021-12-01 00:18:52 +0100 | <kennyd> | for `any p = or . map p', all functions involved need to be lazy |
2021-12-01 00:18:57 +0100 | <kennyd> | +to work |
2021-12-01 00:19:05 +0100 | <dibblego> | you saw compositional arguments earlier |
2021-12-01 00:19:05 +0100 | <janus> | geekosaur: hangs or crashes are the worst though ;) i think request timeout is tested less than just normal failures like permission denied |
2021-12-01 00:19:09 +0100 | <maerwald> | but if you implement a high performance library you may do these tricks yourself anyway |
2021-12-01 00:19:21 +0100 | <monochrom> | If you focus on operational semantics, then, by the time your control flow is inside your function, you are assured that all parameters are non-bottoms, yes. |
2021-12-01 00:19:51 +0100 | <monochrom> | But if you focuse on denotational semantics, then "f bottom = bottom" is still there, it's a true statement. |
2021-12-01 00:21:52 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 264 seconds) |
2021-12-01 00:21:52 +0100 | <maerwald> | and... have you ever used a library where the performance characteristics depends heavily on laziness or inlining? Those properties constantly break |
2021-12-01 00:22:40 +0100 | <dibblego> | yes, no they don't |
2021-12-01 00:23:01 +0100 | <dibblego> | > take 2 (map (+1) [1..]) |
2021-12-01 00:23:02 +0100 | <lambdabot> | [2,3] |
2021-12-01 00:23:06 +0100 | <dibblego> | still works, phew |
2021-12-01 00:23:18 +0100 | gawen | (~gawen@user/gawen) (Quit: cya) |
2021-12-01 00:23:24 +0100 | <maerwald> | erm |
2021-12-01 00:23:30 +0100 | <maerwald> | I'm not talking about silly repl examples :p |
2021-12-01 00:23:39 +0100 | <int-e> | inlining and rewrite rules are everywhere |
2021-12-01 00:23:50 +0100 | <maerwald> | yep and they constantly break |
2021-12-01 00:23:56 +0100 | <maerwald> | see streamly |
2021-12-01 00:24:01 +0100 | <dibblego> | oh, you mean poorly designed libraries that focus on operational semantics while trying to exploit laziness? No, I haven't used those libraries, since I don't bother picking them up to begin with. |
2021-12-01 00:24:17 +0100 | <maerwald> | aha |
2021-12-01 00:24:39 +0100 | <maerwald> | well, lens/optics also play that game |
2021-12-01 00:24:44 +0100 | <maerwald> | you don't use those? |
2021-12-01 00:24:50 +0100 | <dibblego> | of course I do, and no they don't |
2021-12-01 00:25:10 +0100 | <maerwald> | absolutely... they're affected by small GHC changes |
2021-12-01 00:25:37 +0100 | <maerwald> | or a PR unknowingly breaking laziness |
2021-12-01 00:25:38 +0100 | <monochrom> | Food for thought: tibbe is a battle-tested Haskeller, and his style guide recommends: lazy functions, eager data. |
2021-12-01 00:25:40 +0100 | <int-e> | lists, bytestring, vector ... everything with fusion. it's just constant factors but those matter |
2021-12-01 00:25:47 +0100 | <dibblego> | I worked on data-lens before lens existed, and now I use mostly lens — please show me where it broke in all those years |
2021-12-01 00:25:48 +0100 | <maerwald> | except those are smart guys understanding GHC |
2021-12-01 00:25:57 +0100 | <maerwald> | but don't tell me that's easy or common |
2021-12-01 00:26:28 +0100 | <int-e> | these things are battle-tested and relatively robust but it does hurt when they fail |
2021-12-01 00:26:41 +0100 | <maerwald> | dibblego: it's constantly fixed up, that's what I said |
2021-12-01 00:26:55 +0100 | <monochrom> | It would have said "turn on StrictData, but don't turn on Strict" if it were written after those extensions were introduced. |
2021-12-01 00:27:04 +0100 | <dibblego> | perhaps I don't know what this means, "those properties constantly break" |
2021-12-01 00:27:21 +0100 | <maerwald> | I'm not going to pull out all the issues now :) |
2021-12-01 00:27:32 +0100 | <dibblego> | then I won't know what "properties" |
2021-12-01 00:27:35 +0100 | <monochrom> | And indeed that's also the advice from other front-line Haskellers. |
2021-12-01 00:27:53 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-12-01 00:28:26 +0100 | geekosaur | does not see the page-long list of updates that would corroborate |
2021-12-01 00:28:33 +0100 | <maerwald> | Haskell is a performance debugging nightmare |
2021-12-01 00:28:39 +0100 | gawen | (~gawen@user/gawen) |
2021-12-01 00:28:50 +0100 | <jackdk> | there's a warning in the haddocks for either (^?) or preview that says if you see space leaks, try `firstOf` instead because the First monoid is lazy |
2021-12-01 00:28:52 +0100 | <maerwald> | and laziness is one of the reasons |
2021-12-01 00:29:14 +0100 | <dibblego> | when I think of properties breaking, I think of e.g. this: |
2021-12-01 00:29:20 +0100 | <dibblego> | scala> def map[A, B](f: A => B, x: Stream[A]): Stream[B] = x.foldRight(Stream.empty[B])((a, b) => Stream.cons(f(a), b)) |
2021-12-01 00:29:26 +0100 | <dibblego> | scala> streamMap((_: Int) + 1, Stream.continually(1)).take(5) |
2021-12-01 00:29:26 +0100 | <dibblego> | java.lang.StackOverflowError |
2021-12-01 00:29:28 +0100 | <maerwald> | the last memory leak I found in cardano a week ago |
2021-12-01 00:29:54 +0100 | <maerwald> | after 2hours I stopped searching and just filed a bug |
2021-12-01 00:29:57 +0100 | <dibblego> | s/map/streamMap |
2021-12-01 00:30:23 +0100 | <monochrom> | OK I'm going to be elitist. I'm going to agree up to this much: Eagerness is a better idea, for programmers below let's say the 50th percentile. |
2021-12-01 00:30:33 +0100 | <dibblego> | I will support this notion. |
2021-12-01 00:31:07 +0100 | <kennyd> | <maerwald> Haskell is a performance debugging nightmare <- why do trollish statements like this get tolerate? it is not the first time I've heard something similar from the same person either |
2021-12-01 00:31:09 +0100 | <hpc> | banning recursion is also a better idea for that same group |
2021-12-01 00:31:25 +0100 | <dsal> | Only allow them to use fix |
2021-12-01 00:31:26 +0100 | <monochrom> | :) |
2021-12-01 00:32:01 +0100 | <maerwald> | kennyd: that's my production experience |
2021-12-01 00:32:04 +0100 | <monochrom> | Laziness is a power tool and is also harder to use. I am aware of the cost and benefit, and I chose it. |
2021-12-01 00:32:09 +0100 | <yushyin> | kennyd: it is always the same discussions with always the same participants in here |
2021-12-01 00:32:24 +0100 | <kennyd> | maerwal, I don't care, you are using loaded language for trolling and attention |
2021-12-01 00:32:28 +0100 | <maerwald> | monochrom: have you worked on a large scale Haskell codebase that needs to meet certain performance criteria? |
2021-12-01 00:32:36 +0100 | <monochrom> | No. |
2021-12-01 00:32:50 +0100 | <maerwald> | kennyd: loaded language? :D |
2021-12-01 00:32:50 +0100 | <monochrom> | But tibbe has. |
2021-12-01 00:32:56 +0100 | <maerwald> | monochrom: yeah, me too |
2021-12-01 00:33:13 +0100 | <maerwald> | and even after hiring expensive Haskell consultants they couldn't figure it out :D |
2021-12-01 00:33:43 +0100 | <monochrom> | What I have experience is in observing students in the lower 50th percentile vs students in the upper 50th percentile. |
2021-12-01 00:33:45 +0100 | <dibblego> | I have done this. Yes, figuring it out after the code is written (poorly) is one of the most difficult situations. It can be done though. |
2021-12-01 00:33:46 +0100 | <maerwald> | so I don't think this has much to do with elitism |
2021-12-01 00:33:55 +0100 | <maerwald> | GHC is a moving target |
2021-12-01 00:33:59 +0100 | <maerwald> | laziness is a moving target |
2021-12-01 00:34:13 +0100 | <maerwald> | you need to invest a lot of manpower in it |
2021-12-01 00:34:25 +0100 | <maerwald> | facebook does, cardano does (but they struggle too) |
2021-12-01 00:34:28 +0100 | cosimone | (~user@93-47-231-3.ip115.fastwebnet.it) (Ping timeout: 264 seconds) |
2021-12-01 00:34:34 +0100 | <dibblego> | I would like to see all the manpower in my code because of laziness |
2021-12-01 00:34:44 +0100 | <monochrom> | Laziness, recursion, non-operational reasoning of code... a lot of nice things are out of reach for the lower ones, yes, can't be helped. |
2021-12-01 00:34:49 +0100 | <dibblego> | as the example above illustrates, quite the opposite is true |
2021-12-01 00:34:57 +0100 | <hpc> | facebook is a bad example, they've written their own php implementation from scratch multiple times |
2021-12-01 00:35:07 +0100 | <hpc> | if you want to argue "lots of manpower" |
2021-12-01 00:35:55 +0100 | <janus> | hpc: how does a php implementation disprove that they have a lot of manpower? |
2021-12-01 00:36:14 +0100 | <maerwald> | there's a reason standard chartered uses Mu, which is strict |
2021-12-01 00:36:26 +0100 | <hpc> | janus: if haskell requires such a wasteful amount of expert-written code, so does the most popular language in the world |
2021-12-01 00:36:43 +0100 | <hpc> | and somehow the web hasn't collapsed |
2021-12-01 00:36:49 +0100 | <monochrom> | I think hpc means: Having re-implemented PHP multiple times disproves that the immense manpower was spent majorly on fighting laziness. |
2021-12-01 00:37:30 +0100 | <maerwald> | monochrom: then you haven't read Simon Mars last post on the GHC/base breaking discussion, where he explained how new GHC versions break their performance characteristics |
2021-12-01 00:37:30 +0100 | <monochrom> | If anything, it was spent on fixing PHP, no? >:) |
2021-12-01 00:39:51 +0100 | sproso | (~sproso@d137-186-73-215.abhsia.telus.net) (Quit: Client closed) |
2021-12-01 00:39:55 +0100 | <janus> | maerwald: where can i find that ? i tried googling for it, couldn't see it |
2021-12-01 00:40:53 +0100 | <maerwald> | https://github.com/haskell/core-libraries-committee/issues/12#issuecomment-971794515 |
2021-12-01 00:41:23 +0100 | sus | (zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net) |
2021-12-01 00:41:50 +0100 | <janus> | thanks |
2021-12-01 00:41:53 +0100 | <maerwald> | https://github.com/composewell/streamly/issues/1061 is also a good read |
2021-12-01 00:42:21 +0100 | <maerwald> | you can also search the cardano issue tracker for performance issues :p |
2021-12-01 00:42:46 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 00:42:51 +0100 | <yushyin> | :p:p |
2021-12-01 00:42:51 +0100 | dagit | (~dagit@2001:558:6025:38:6476:a063:d05a:44da) |
2021-12-01 00:42:55 +0100 | max22- | (~maxime@2a01cb088335980070cf7b273a01dbc1.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-12-01 00:43:04 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 00:43:11 +0100 | <hpc> | one person-year on a typical software team is a month or two, and they forked the core tools |
2021-12-01 00:43:19 +0100 | <hpc> | from my experience that's not bad at all |
2021-12-01 00:43:20 +0100 | <concrete-houses> | postgresql is harder to program than I had thought |
2021-12-01 00:43:23 +0100 | <concrete-houses> | sql too |
2021-12-01 00:43:26 +0100 | <concrete-houses> | its hell |
2021-12-01 00:43:30 +0100 | <maerwald> | or https://github.com/yesodweb/wai/pull/752#issuecomment-501531386 |
2021-12-01 00:43:43 +0100 | <concrete-houses> | but how do you save data in haskell? |
2021-12-01 00:44:13 +0100 | <concrete-houses> | maybe forth is the answer |
2021-12-01 00:44:38 +0100 | <sm> | a much higher proportion of haskell issues are performance issues. In part because there are fewer of the other kind |
2021-12-01 00:45:19 +0100 | <dsal> | concrete-houses: postgresql has been in development for decades. I'd expect if it were easy it would've been finished in the 90s. :) |
2021-12-01 00:45:34 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-01 00:46:02 +0100 | jeetelongname | (~jeet@eduroam-public-46.nat.port.ac.uk) |
2021-12-01 00:46:29 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds) |
2021-12-01 00:46:55 +0100 | <maerwald> | or in optics: https://github.com/well-typed/optics/pull/277 |
2021-12-01 00:47:01 +0100 | <maerwald> | I can do this all day |
2021-12-01 00:47:07 +0100 | <sm> | positive view: you freed up a bunch of time by avoiding uncontrolled effects and unclear semantics, now you can afford to spend more time chasing performance |
2021-12-01 00:47:25 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-12-01 00:47:45 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-01 00:47:57 +0100 | <maerwald> | so... if you really claim laziness doesn't affect your performance code... you have never written performant code. Yes, StrictData is neat (I enable it a lot), but not enough |
2021-12-01 00:48:36 +0100 | <hpc> | maerwald: now do python |
2021-12-01 00:48:42 +0100 | <maerwald> | I do |
2021-12-01 00:48:50 +0100 | <hpc> | find all the garbage collection and GIL bugs :P |
2021-12-01 00:49:11 +0100 | <maerwald> | I know a couple of folks who write high-performance python code... it's a dark art too |
2021-12-01 00:49:24 +0100 | <hpc> | or javascript, find all the useless roundtrips in popular frameworks |
2021-12-01 00:50:11 +0100 | <janus> | concrete-houses: using bitcoin you can store data with their forth-based scripting language ;) (joking!) |
2021-12-01 00:50:18 +0100 | <hpc> | and then find all the other stupid problems like having a hundred copies of the is-false package in node_modules |
2021-12-01 00:51:29 +0100 | <maerwald> | I found writing high performance code in Go much easier, because the language is so dumb |
2021-12-01 00:51:34 +0100 | <maerwald> | and that's a good thing for that goal |
2021-12-01 00:51:35 +0100 | <janus> | concrete-houses: i almost think you're joking but the debate is in a way also typical of #haskell i think, because it is about leaving the pure world and things get ugly. thinking of acid-state which burned some people in here. almost seems like your question could open that wound |
2021-12-01 00:52:27 +0100 | <EvanR> | what's wrong with acid-state |
2021-12-01 00:52:43 +0100 | <hpc> | EvanR: data in an acid-state database needs to fit entirely in memory |
2021-12-01 00:52:48 +0100 | <EvanR> | concrete-houses, I'm thinking of taking sqlite out for a spin |
2021-12-01 00:53:08 +0100 | <maerwald> | ixset-typed |
2021-12-01 00:53:19 +0100 | <maerwald> | btw... another performance nightmare ;p |
2021-12-01 00:53:22 +0100 | <EvanR> | hpc, ok that's understood. What's the problem? xD |
2021-12-01 00:53:30 +0100 | <maerwald> | but it's actually neat |
2021-12-01 00:53:37 +0100 | <maerwald> | @hackage ixset-typed |
2021-12-01 00:53:37 +0100 | <lambdabot> | https://hackage.haskell.org/package/ixset-typed |
2021-12-01 00:53:59 +0100 | <janus> | it's like that perfect moment where i can't decide whether a question is a troll or if i am just in #haskell :D |
2021-12-01 00:54:20 +0100 | <hpc> | how can haskell be real if our eyes aren't real |
2021-12-01 00:54:31 +0100 | <EvanR> | real eyes realize real lies |
2021-12-01 00:55:43 +0100 | <EvanR> | so is it that acid-state has no API for knowing if you're getting close to your limit or something |
2021-12-01 00:55:52 +0100 | <EvanR> | unlike e.g. the bounds on Int |
2021-12-01 00:56:20 +0100 | hiruji | (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-01 00:56:34 +0100 | <hpc> | more that it doesn't really make that clear on its own |
2021-12-01 00:56:44 +0100 | <hpc> | and people writing about it made it sound like it could replace postgres |
2021-12-01 00:56:55 +0100 | <hpc> | it was an expectation thing |
2021-12-01 00:57:17 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-12-01 00:57:20 +0100 | <EvanR> | that's like the number zero thing I learned about acid-state |
2021-12-01 00:57:36 +0100 | <hpc> | ah |
2021-12-01 00:57:56 +0100 | <EvanR> | it seems like the defining characteristic, because I don't believe "acid" usually xD |
2021-12-01 00:59:15 +0100 | <EvanR> | when acid state was written I don't think people had like 16G of memory |
2021-12-01 00:59:47 +0100 | <EvanR> | oh yeah, and GHC uses like 3x your live data for gc maintenance |
2021-12-01 00:59:53 +0100 | jinsun | (~quassel@user/jinsun) |
2021-12-01 01:00:02 +0100 | zopsi_ | (zopsi@2600:3c00::f03c:91ff:fe14:551f) (Quit: Oops) |
2021-12-01 01:00:03 +0100 | jinsun | (~quassel@user/jinsun) (*.net *.split) |
2021-12-01 01:00:03 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (*.net *.split) |
2021-12-01 01:00:03 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (*.net *.split) |
2021-12-01 01:00:04 +0100 | FragByte | (~christian@user/fragbyte) (*.net *.split) |
2021-12-01 01:00:04 +0100 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split) |
2021-12-01 01:00:04 +0100 | Logio | (em@kapsi.fi) (*.net *.split) |
2021-12-01 01:00:04 +0100 | glider | (~glider@user/glider) (*.net *.split) |
2021-12-01 01:00:04 +0100 | lukec | (9dfd4d094e@2604:bf00:561:2000::10e) (*.net *.split) |
2021-12-01 01:00:04 +0100 | jkoshy | (99b9359beb@2604:bf00:561:2000::10f) (*.net *.split) |
2021-12-01 01:00:04 +0100 | sm2n | (ae95cb1267@user/sm2n) (*.net *.split) |
2021-12-01 01:00:04 +0100 | acidsys | (~LSD@2.lsd.systems) (*.net *.split) |
2021-12-01 01:00:04 +0100 | sander | (~sander@user/sander) (*.net *.split) |
2021-12-01 01:00:04 +0100 | vjoki | (~vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split) |
2021-12-01 01:00:04 +0100 | arahael | (~arahael@27-32-144-20.tpgi.com.au) (*.net *.split) |
2021-12-01 01:00:04 +0100 | evanrelf | (3addc196af@2604:bf00:561:2000::f0) (*.net *.split) |
2021-12-01 01:00:04 +0100 | zmt00 | (~zmt00@user/zmt00) (*.net *.split) |
2021-12-01 01:00:04 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (*.net *.split) |
2021-12-01 01:00:04 +0100 | Profpatsch | (~Profpatsc@static.88-198-193-255.clients.your-server.de) (*.net *.split) |
2021-12-01 01:00:04 +0100 | sweater | (~sweater@206.81.18.26) (*.net *.split) |
2021-12-01 01:00:04 +0100 | carbolymer | (~carbolyme@dropacid.net) (*.net *.split) |
2021-12-01 01:00:04 +0100 | shanemikel | (~shanemike@desk.roadwar.net) (*.net *.split) |
2021-12-01 01:00:04 +0100 | remexre | (~remexre@user/remexre) (*.net *.split) |
2021-12-01 01:00:04 +0100 | teddyc | (theodorc@cassarossa.samfundet.no) (*.net *.split) |
2021-12-01 01:00:04 +0100 | dyniec | (~dyniec@mail.dybiec.info) (*.net *.split) |
2021-12-01 01:00:04 +0100 | rembo10 | (~rembo10@remulis.com) (*.net *.split) |
2021-12-01 01:00:04 +0100 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) (*.net *.split) |
2021-12-01 01:00:04 +0100 | cocreature | (~moritz@2a03:b0c0:3:d0::c8:f001) (*.net *.split) |
2021-12-01 01:00:04 +0100 | xacktm | (xacktm@user/xacktm) (*.net *.split) |
2021-12-01 01:00:11 +0100 | lukec | (9dfd4d094e@2604:bf00:561:2000::10e) |
2021-12-01 01:00:13 +0100 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) |
2021-12-01 01:00:16 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-12-01 01:00:19 +0100 | dyniec | (~dyniec@mail.dybiec.info) |
2021-12-01 01:00:20 +0100 | Alex_test | (~al_test@178.34.160.14) |
2021-12-01 01:00:20 +0100 | evanrelf | (3addc196af@2604:bf00:561:2000::f0) |
2021-12-01 01:00:21 +0100 | AlexZenon | (~alzenon@178.34.160.14) |
2021-12-01 01:00:22 +0100 | teddyc | (theodorc@cassarossa.samfundet.no) |
2021-12-01 01:00:23 +0100 | sm2n | (ae95cb1267@user/sm2n) |
2021-12-01 01:00:23 +0100 | jkoshy | (99b9359beb@2604:bf00:561:2000::10f) |
2021-12-01 01:00:26 +0100 | nickdaly | (45ce440a48@2604:bf00:561:2000::e2) |
2021-12-01 01:00:28 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-12-01 01:00:28 +0100 | Logio | (em@kapsi.fi) |
2021-12-01 01:00:28 +0100 | FragByte | (~christian@p579d2134.dip0.t-ipconnect.de) |
2021-12-01 01:00:31 +0100 | caubert | (~caubert@136.244.111.235) |
2021-12-01 01:00:35 +0100 | ehamberg_ | (sid18208@id-18208.hampstead.irccloud.com) |
2021-12-01 01:00:36 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-12-01 01:00:38 +0100 | FragByte | (~christian@p579d2134.dip0.t-ipconnect.de) (Changing host) |
2021-12-01 01:00:38 +0100 | FragByte | (~christian@user/fragbyte) |
2021-12-01 01:00:41 +0100 | Profpatsch | (~Profpatsc@static.88-198-193-255.clients.your-server.de) |
2021-12-01 01:00:42 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-12-01 01:00:47 +0100 | Teacup | (~teacup@user/teacup) |
2021-12-01 01:01:01 +0100 | zopsi | (~zopsi@irc.dir.ac) |
2021-12-01 01:01:14 +0100 | natechan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-12-01 01:01:19 +0100 | rembo10 | (~rembo10@remulis.com) |
2021-12-01 01:01:57 +0100 | yaroot | (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) |
2021-12-01 01:02:06 +0100 | dwt_ | (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) |
2021-12-01 01:02:09 +0100 | filwisher | (2e6936c793@2604:bf00:561:2000::170) |
2021-12-01 01:02:11 +0100 | sander | (~sander@user/sander) |
2021-12-01 01:02:14 +0100 | shanemikel | (~shanemike@desk.roadwar.net) |
2021-12-01 01:02:15 +0100 | heath | (~heath@user/heath) |
2021-12-01 01:02:18 +0100 | jinsun | (~quassel@user/jinsun) |
2021-12-01 01:02:18 +0100 | dolio | (~dolio@130.44.130.54) |
2021-12-01 01:02:25 +0100 | carbolymer | (~carbolyme@dropacid.net) |
2021-12-01 01:02:27 +0100 | xacktm | (xacktm@user/xacktm) |
2021-12-01 01:02:29 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-01 01:02:34 +0100 | acidsys | (~LSD@2.lsd.systems) |
2021-12-01 01:02:35 +0100 | oats | (~thomas@user/oats) |
2021-12-01 01:02:35 +0100 | vjoki | (~vjoki@2a00:d880:3:1::fea1:9ae) |
2021-12-01 01:02:42 +0100 | haskl | (~haskl@user/haskl) |
2021-12-01 01:02:42 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 01:02:55 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-01 01:03:05 +0100 | <davean> | EvanR: Also, like acid-state has NOT built in recovery |
2021-12-01 01:03:05 +0100 | lbseale_ | (~ep1ctetus@user/ep1ctetus) (Quit: Leaving) |
2021-12-01 01:03:14 +0100 | <EvanR> | eh? |
2021-12-01 01:03:16 +0100 | sweater | (~sweater@206.81.18.26) |
2021-12-01 01:03:16 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Remote host closed the connection) |
2021-12-01 01:03:17 +0100 | remexre | (~remexre@user/remexre) |
2021-12-01 01:03:18 +0100 | <davean> | either it comes up because everything went well or you get all the peices |
2021-12-01 01:03:27 +0100 | cocreature | (~moritz@2a03:b0c0:3:d0::c8:f001) |
2021-12-01 01:03:31 +0100 | <EvanR> | that part I did not know |
2021-12-01 01:03:33 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-01 01:04:11 +0100 | jeetelongname | (~jeet@eduroam-public-46.nat.port.ac.uk) (Ping timeout: 256 seconds) |
2021-12-01 01:04:11 +0100 | noctux | (~noctux@user/noctux) (Ping timeout: 256 seconds) |
2021-12-01 01:04:12 +0100 | <EvanR> | even my shitty append-only log for my MUD server could recover |
2021-12-01 01:04:15 +0100 | glider | (~glider@user/glider) |
2021-12-01 01:04:29 +0100 | noctux | (~noctux@user/noctux) |
2021-12-01 01:05:09 +0100 | <davean> | I mean acid state is an operational append log with rollup |
2021-12-01 01:05:11 +0100 | jackhill | (~jackhill@kalessin.dragonsnail.net) |
2021-12-01 01:05:16 +0100 | Patternmaster | (~georg@li1192-118.members.linode.com) |
2021-12-01 01:05:22 +0100 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
2021-12-01 01:05:24 +0100 | ystael | (~ystael@user/ystael) |
2021-12-01 01:06:08 +0100 | emf | (~emf@2620:10d:c090:400::5:d28b) |
2021-12-01 01:06:55 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-12-01 01:07:01 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-12-01 01:07:14 +0100 | jeetelongname | (~jeet@148.197.248.46) |
2021-12-01 01:07:57 +0100 | Profpatsch | (~Profpatsc@static.88-198-193-255.clients.your-server.de) (Quit: WeeChat 3.3) |
2021-12-01 01:08:11 +0100 | Profpatsch | (~Profpatsc@static.88-198-193-255.clients.your-server.de) |
2021-12-01 01:08:32 +0100 | sheb | (~sheb@31.223.228.71) (Ping timeout: 240 seconds) |
2021-12-01 01:10:50 +0100 | <concrete-houses> | acid state!! happstack.com!! I am beginning to think that centralized databases are a huge mistake and bs of usury bankers |
2021-12-01 01:11:13 +0100 | <maerwald> | right... you should enjoy blockchain |
2021-12-01 01:11:23 +0100 | <maerwald> | it's pretty simple... look |
2021-12-01 01:11:46 +0100 | <concrete-houses> | I am stunned how ahrd sql adn psotgresql are to use |
2021-12-01 01:11:59 +0100 | <concrete-houses> | how poor the docs are |
2021-12-01 01:12:09 +0100 | <concrete-houses> | endless manusl |
2021-12-01 01:12:12 +0100 | <concrete-houses> | no howto to do x y |
2021-12-01 01:12:20 +0100 | <concrete-houses> | almsot as if its a distraction to keep u poor |
2021-12-01 01:12:23 +0100 | <EvanR> | 🤔 |
2021-12-01 01:13:32 +0100 | <davean> | uh what? |
2021-12-01 01:13:58 +0100 | <maerwald> | it's a blockchain scam... wait for it :D |
2021-12-01 01:14:01 +0100 | <hpc> | sql adn psotgresql are ahrd :P |
2021-12-01 01:15:00 +0100 | <EvanR> | > sort "sql adn psotgresql are ahrd" |
2021-12-01 01:15:02 +0100 | <lambdabot> | " aaaddeeghllnopqqrrrssst" |
2021-12-01 01:15:13 +0100 | <janus> | concrete-houses: i know your struggle. you like relational algebra but sql doesn't respect it |
2021-12-01 01:15:15 +0100 | <EvanR> | fixed it |
2021-12-01 01:15:18 +0100 | <janus> | i know the project that saves the day |
2021-12-01 01:15:23 +0100 | <janus> | @package Project-M36 |
2021-12-01 01:15:23 +0100 | <lambdabot> | https://hackage.haskell.org/package/Project-M36 |
2021-12-01 01:15:26 +0100 | <hpc> | EvanR: sorted it all out, one might say |
2021-12-01 01:15:32 +0100 | <janus> | oh ok here it is https://github.com/agentm/project-m36 |
2021-12-01 01:16:02 +0100 | <janus> | relational algebra built totally in haskell with much type fanciness that lets you collaborate with the compiler in harmony |
2021-12-01 01:16:29 +0100 | <EvanR> | but is it web scale |
2021-12-01 01:16:52 +0100 | <janus> | yes, it doesn't require all data to be in memory. in theory. |
2021-12-01 01:17:55 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
2021-12-01 01:19:05 +0100 | <janus> | there is even an irc channel on this network, but you must be patient because Agent M doesn't use a bouncer, iirc: #project-m36 |
2021-12-01 01:19:33 +0100 | <EvanR> | what's up with haskellDB, is that still a thing |
2021-12-01 01:19:35 +0100 | <davean> | Bouncers are weird |
2021-12-01 01:22:03 +0100 | <janus> | EvanR: haskellDB looks like it compiles to SQL, so not nearly as ambitious as Project M36 |
2021-12-01 01:22:08 +0100 | jeetelongname | (~jeet@148.197.248.46) (Remote host closed the connection) |
2021-12-01 01:22:40 +0100 | <janus> | but no, haskellDB doesn't seem active, no commits since 2019 |
2021-12-01 01:22:47 +0100 | <EvanR> | that's ancient |
2021-12-01 01:22:54 +0100 | <EvanR> | jk |
2021-12-01 01:22:59 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-12-01 01:23:19 +0100 | <EvanR> | give them time to recover from the pandemic |
2021-12-01 01:23:35 +0100 | <janus> | the drivers havn't been touched for 9 years ;) |
2021-12-01 01:23:58 +0100 | <EvanR> | good that means they work with databases |
2021-12-01 01:24:07 +0100 | <EvanR> | that are that old |
2021-12-01 01:24:27 +0100 | <EvanR> | vintage drivers |
2021-12-01 01:25:03 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-01 01:26:51 +0100 | jgeerds | (~jgeerds@55d45b75.access.ecotel.net) (Ping timeout: 256 seconds) |
2021-12-01 01:27:20 +0100 | jeetelongname | (~jeet@148.197.248.46) |
2021-12-01 01:30:17 +0100 | <dsal> | What's wrong with postgres docs? I've found them quite good. |
2021-12-01 01:31:07 +0100 | <monochrom> | Can I ban that person already? |
2021-12-01 01:32:20 +0100 | <Axman6> | yeah postgres has some of the best docs of any project I use regularly |
2021-12-01 01:32:36 +0100 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.3) |
2021-12-01 01:32:57 +0100 | <janus> | monochrom: yes you can :) |
2021-12-01 01:32:58 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 265 seconds) |
2021-12-01 01:33:09 +0100 | <monochrom> | Pretty sure they just mean the entitlement attitude "the doc does not teach me SQL for free". |
2021-12-01 01:33:25 +0100 | <janus> | i still think it is an elaborate joke on the culture of the channel |
2021-12-01 01:33:27 +0100 | ChanServ | +o monochrom |
2021-12-01 01:33:30 +0100 | justache | totallynotjustac |
2021-12-01 01:33:32 +0100 | seanparsons | (~seanparso@cpc158525-gill21-2-0-cust151.20-1.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-12-01 01:33:34 +0100 | monochrom | +b *!*@209.6.150.53 |
2021-12-01 01:33:34 +0100 | concrete-houses | monochrom (concrete-houses) |
2021-12-01 01:33:47 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:b590:8966:cd38:8f41) |
2021-12-01 01:33:59 +0100 | iqubic | (~user@2601:602:9502:c70:7d14:3ce3:e8b8:8f59) |
2021-12-01 01:34:10 +0100 | totallynotjustac | justache |
2021-12-01 01:34:11 +0100 | <Axman6> | and nothing of value was lost |
2021-12-01 01:34:31 +0100 | yauhsien | (~yauhsien@61-231-58-114.dynamic-ip.hinet.net) |
2021-12-01 01:34:35 +0100 | Katarushisu | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-12-01 01:35:40 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-12-01 01:39:12 +0100 | <jeetelongname> | dis postgress and get the hammer /s |
2021-12-01 01:39:19 +0100 | yauhsien | (~yauhsien@61-231-58-114.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-01 01:39:26 +0100 | <Axman6> | damn right |
2021-12-01 01:39:47 +0100 | <Axman6> | We can't have PHP with the first P |
2021-12-01 01:41:03 +0100 | seanparsons | (~seanparso@cpc158525-gill21-2-0-cust151.20-1.cable.virginm.net) |
2021-12-01 01:41:17 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 01:41:17 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 01:41:17 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 01:42:06 +0100 | Katarushisu | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) |
2021-12-01 01:43:45 +0100 | <maerwald> | postgres keeps you poor... blockchain makes you rich |
2021-12-01 01:43:47 +0100 | <maerwald> | checks out |
2021-12-01 01:44:15 +0100 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-01 01:49:59 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) |
2021-12-01 01:50:15 +0100 | pfurla_ | (~pfurla@205-185-222-149.ipvanish.com) |
2021-12-01 01:51:37 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:b590:8966:cd38:8f41) (Ping timeout: 250 seconds) |
2021-12-01 01:54:47 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2021-12-01 01:57:10 +0100 | justache | zoite |
2021-12-01 01:58:05 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-12-01 01:59:11 +0100 | zoite | z0ite |
2021-12-01 01:59:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 02:04:01 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 02:08:19 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Ping timeout: 252 seconds) |
2021-12-01 02:09:35 +0100 | zuserm | (~mz@71.161.92.216) |
2021-12-01 02:10:09 +0100 | lbseale_ | (~ep1ctetus@user/ep1ctetus) |
2021-12-01 02:10:19 +0100 | <zuserm> | can anyone help my with stack on nixos? |
2021-12-01 02:10:49 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-12-01 02:11:15 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-12-01 02:13:53 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Ping timeout: 256 seconds) |
2021-12-01 02:15:17 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e72351a12a888efd4cb.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-12-01 02:15:23 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) |
2021-12-01 02:16:56 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-12-01 02:17:14 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-12-01 02:17:30 +0100 | tinwood | (~tinwood@canonical/tinwood) (Remote host closed the connection) |
2021-12-01 02:17:54 +0100 | pfurla_ | (~pfurla@205-185-222-149.ipvanish.com) (Ping timeout: 256 seconds) |
2021-12-01 02:20:34 +0100 | tinwood | (~tinwood@general.default.akavanagh.uk0.bigv.io) |
2021-12-01 02:20:34 +0100 | tinwood | (~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host) |
2021-12-01 02:20:34 +0100 | tinwood | (~tinwood@canonical/tinwood) |
2021-12-01 02:21:45 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-12-01 02:23:15 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-12-01 02:25:06 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-12-01 02:25:06 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-12-01 02:25:09 +0100 | allbery_b | geekosaur |
2021-12-01 02:26:43 +0100 | sus | (zero@user/zeromomentum) |
2021-12-01 02:28:20 +0100 | <dsal> | zuserm: possibly. |
2021-12-01 02:28:38 +0100 | <dsal> | Native ghc no longer works on my new laptop. heh |
2021-12-01 02:29:39 +0100 | <zuserm> | I'm trying to run "stack script test.hs" and I'm getting "Executable named nix-shell not found on path: ..." |
2021-12-01 02:30:06 +0100 | <dsal> | Not having nix-shell in your path on a nixos machine seems a bit odd. |
2021-12-01 02:30:40 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 02:30:48 +0100 | <dsal> | I don't do stack scripts, though. There's a bunch of indirection along the way. |
2021-12-01 02:33:34 +0100 | <zuserm> | alternately if I run "stack script --no-nix test.hs" "I don't know how to install GHC on your system configuration, please install manually" but I already have the same version of ghc installed as the resolver I'm trying to use |
2021-12-01 02:33:43 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 02:35:57 +0100 | <geekosaur> | you would also need --system-ghc |
2021-12-01 02:36:10 +0100 | <geekosaur> | because stack really really wants to install and manage its own ghcs |
2021-12-01 02:39:10 +0100 | zero | yin |
2021-12-01 02:40:32 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3) |
2021-12-01 02:40:55 +0100 | lbseale__ | (~ep1ctetus@user/ep1ctetus) |
2021-12-01 02:41:18 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Remote host closed the connection) |
2021-12-01 02:42:57 +0100 | lbseale__ | (~ep1ctetus@user/ep1ctetus) (Client Quit) |
2021-12-01 02:43:26 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 02:44:29 +0100 | lbseale_ | (~ep1ctetus@user/ep1ctetus) (Ping timeout: 256 seconds) |
2021-12-01 02:49:39 +0100 | renzhi | (~xp@2607:fa49:6500:b100::5cef) |
2021-12-01 02:56:43 +0100 | <EvanR> | ghcup is awesome |
2021-12-01 02:57:31 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds) |
2021-12-01 02:58:03 +0100 | <zuserm> | geekosaur: --system-ghc doesn't help :( |
2021-12-01 02:58:44 +0100 | <geekosaur> | mrr, wonder if that works with stack script then |
2021-12-01 02:59:22 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:f00d:18c8:3973:574b) (Quit: Textual IRC Client: www.textualapp.com) |
2021-12-01 03:00:55 +0100 | <lechner> | Hi, can aeson's Generics parser handle sum types? Thanks! |
2021-12-01 03:02:19 +0100 | <dsal> | lechner: you mean simple enums? sure. |
2021-12-01 03:02:34 +0100 | bsima1 | (9d7e39c8ad@2604:bf00:561:2000::dd) |
2021-12-01 03:03:42 +0100 | <lechner> | not just enum but something like Hint | PointedHint where PointedHint includes a Pointer |
2021-12-01 03:04:42 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) |
2021-12-01 03:08:05 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-12-01 03:08:06 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-12-01 03:08:43 +0100 | <lechner> | i think that's it https://artyom.me/aeson#types-with-many-constructors |
2021-12-01 03:11:53 +0100 | sheb | (~sheb@31.223.228.71) |
2021-12-01 03:14:04 +0100 | sheb | (~sheb@31.223.228.71) (Remote host closed the connection) |
2021-12-01 03:14:20 +0100 | sheb | (~sheb@31.223.228.71) |
2021-12-01 03:18:29 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-01 03:19:37 +0100 | alzgh | (~alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-12-01 03:22:50 +0100 | monochrom | -o monochrom |
2021-12-01 03:25:12 +0100 | jkaye | (~jkaye@2601:281:8300:7530:4aac:42f1:645e:c02f) |
2021-12-01 03:25:17 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 03:29:43 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-12-01 03:32:20 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 03:33:26 +0100 | alzgh | (alzgh@user/alzgh) |
2021-12-01 03:34:29 +0100 | xff0x | (~xff0x@2001:1a81:52c5:f300:8200:618:b8e3:ab90) (Ping timeout: 252 seconds) |
2021-12-01 03:36:17 +0100 | xff0x | (~xff0x@2001:1a81:530d:ee00:3ffa:7a4c:8a0a:d168) |
2021-12-01 03:36:41 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-01 03:38:18 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-01 03:38:31 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 252 seconds) |
2021-12-01 03:39:01 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 03:39:01 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 03:39:01 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 03:44:23 +0100 | mmhat | (~mmh@55d4269f.access.ecotel.net) (Ping timeout: 252 seconds) |
2021-12-01 03:49:20 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-01 03:50:30 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-12-01 03:55:24 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-12-01 03:56:25 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2aae6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-12-01 03:56:49 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2bee6b318fffe838f33.dip0.t-ipconnect.de) |
2021-12-01 03:59:19 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2bee6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-12-01 03:59:37 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2bee6b318fffe838f33.dip0.t-ipconnect.de) |
2021-12-01 03:59:39 +0100 | arahael | (~arahael@27-32-144-20.tpgi.com.au) |
2021-12-01 04:00:41 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 04:05:20 +0100 | <dsal> | I tried out ghcup and it seems to not work at all because clang something. |
2021-12-01 04:11:03 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-12-01 04:12:27 +0100 | <sm> | someone should write an accurate "set up haskell on new m1 mac" guide |
2021-12-01 04:12:33 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-01 04:12:33 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2021-12-01 04:12:33 +0100 | finn_elija | FinnElija |
2021-12-01 04:13:55 +0100 | <lechner> | maerwald: ^ |
2021-12-01 04:16:34 +0100 | <dsal> | I'd never tried ghcup, but my new m1 mac doesn't build stuff my old m1 mac would build via nix. And ghcup doesn't get very close. |
2021-12-01 04:20:27 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-12-01 04:22:53 +0100 | td_ | (~td@muedsl-82-207-238-126.citykom.de) (Ping timeout: 252 seconds) |
2021-12-01 04:24:46 +0100 | td_ | (~td@muedsl-82-207-238-025.citykom.de) |
2021-12-01 04:25:49 +0100 | jkaye | (~jkaye@2601:281:8300:7530:4aac:42f1:645e:c02f) (Ping timeout: 252 seconds) |
2021-12-01 04:29:54 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 04:31:45 +0100 | mbuf | (~Shakthi@27.58.139.230) |
2021-12-01 04:35:32 +0100 | stefan-_ | (~cri@42dots.de) (Ping timeout: 252 seconds) |
2021-12-01 04:36:41 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-01 04:38:21 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds) |
2021-12-01 04:38:59 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
2021-12-01 04:39:26 +0100 | stefan-_ | (~cri@42dots.de) |
2021-12-01 04:42:39 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 04:45:53 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 04:45:53 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 04:45:53 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 04:47:05 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 252 seconds) |
2021-12-01 04:47:23 +0100 | <sm> | dsal: there was a recent reddit discussion on m1 setup |
2021-12-01 04:48:00 +0100 | <sm> | https://www.reddit.com/r/haskell/comments/qwvj0k/does_anyone_know_the_best_way_to_build_a_haskell/ |
2021-12-01 04:50:17 +0100 | boxscape_ | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2021-12-01 04:52:32 +0100 | <dsal> | Oh yeah, I saw that. I had thing that worked on my old M1, but not my new M1. |
2021-12-01 04:52:37 +0100 | <dsal> | I'm not 100% sure what the difference is |
2021-12-01 04:53:00 +0100 | <dsal> | GHC for aarch64 from nix fails with EXC_BAD_ACCESS (SIGKILL (Code Signature Invalid)) |
2021-12-01 04:53:08 +0100 | renzhi | (~xp@2607:fa49:6500:b100::5cef) (Ping timeout: 252 seconds) |
2021-12-01 04:53:34 +0100 | <dsal> | From ghcup, just something about needing clang. |
2021-12-01 04:54:50 +0100 | <Axman6> | do you have clang installed? |
2021-12-01 04:56:40 +0100 | <dsal> | I don't. There's no binary release for this platform. I guess I can see if it'll build. |
2021-12-01 05:00:01 +0100 | haasn | (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2021-12-01 05:00:29 +0100 | bliminse | (~bliminse@host86-188-36-178.range86-188.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-12-01 05:01:21 +0100 | haasn | (~nand@haasn.dev) |
2021-12-01 05:02:07 +0100 | bliminse | (~bliminse@host86-162-147-196.range86-162.btcentralplus.com) |
2021-12-01 05:03:03 +0100 | <Axman6> | surely Apple provides one |
2021-12-01 05:03:11 +0100 | <Axman6> | you've got Xcode installed right? |
2021-12-01 05:03:53 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-01 05:04:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 05:06:21 +0100 | <dsal> | Yeah. I've not used it, though. I wonder if there's a thing I have to do to activate that. |
2021-12-01 05:07:48 +0100 | <dsal> | I have clang, but not opt |
2021-12-01 05:08:58 +0100 | jeetelongname | (~jeet@148.197.248.46) (Remote host closed the connection) |
2021-12-01 05:10:32 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-12-01 05:10:33 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-12-01 05:10:58 +0100 | <arahael> | That's odd. I'm on M1 and it works fine for me. Granted, I'm using an existing ghc, and not building that myself using nix. |
2021-12-01 05:11:31 +0100 | <arahael> | What's the specific error message due to that "clang something"? |
2021-12-01 05:12:16 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2021-12-01 05:12:40 +0100 | <arahael> | But yeah, that promise of nix just workign has been something that's let me down a lot. :( |
2021-12-01 05:13:24 +0100 | fef | (~thedawn@user/thedawn) |
2021-12-01 05:13:39 +0100 | <arahael> | dsal: ghc 9.2.1 works fine with ghcup for me. Sadly not the earlier one. And I do need to set export C_INCLUDE_PATH="`xcrun --show-sdk-path`/usr/include/ffi" as a workaround for another bug with it. |
2021-12-01 05:13:48 +0100 | sproso | (~sproso@node-1w7jr9y8y96l370tw0h9cpsrf.ipv6.telus.net) |
2021-12-01 05:15:57 +0100 | zaquest | (~notzaques@5.130.79.72) |
2021-12-01 05:17:59 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 05:17:59 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 05:17:59 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 05:20:34 +0100 | <dsal> | My old M1 was fine. New M1 is less fine. |
2021-12-01 05:20:46 +0100 | <dsal> | This is an "M1 Max" |
2021-12-01 05:21:07 +0100 | <sm> | it's just too fast. |
2021-12-01 05:23:03 +0100 | <dsal> | My old machine had 4 performance cores and 4 efficiency cores. This one has 8 performance cores and 2 efficiency cores, so maybe it's just not efficient enough. |
2021-12-01 05:24:28 +0100 | maroloccio | (~marolocci@151.53.155.184) (Quit: WeeChat 3.0) |
2021-12-01 05:26:44 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
2021-12-01 05:26:45 +0100 | <arahael> | dsal: LLVM 13.0 broke a few things - which is what you would've gotten with the latest xcode. Which is what you would have on the new M1. |
2021-12-01 05:27:37 +0100 | <dsal> | Hmm... The error I get is about code signature. |
2021-12-01 05:28:08 +0100 | <arahael> | Notorisation requirements may well have been boosted in the new OS? |
2021-12-01 05:28:12 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 05:28:20 +0100 | <sm> | arahael: I've always had to install some optional command line component of xcode |
2021-12-01 05:29:09 +0100 | <arahael> | sm: That hasn't changed. |
2021-12-01 05:29:18 +0100 | <arahael> | sm: (The versions of the tools in that would have, though) |
2021-12-01 05:31:27 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-12-01 05:32:25 +0100 | <dsal> | I've got x86 working. I'll have to switch to that in the meantime. |
2021-12-01 05:33:08 +0100 | <sm> | dsal, tried the stack route ? |
2021-12-01 05:33:10 +0100 | <arahael> | A bit slower to start, but yeah, that does work nicely. However, aarch64 works fine too but you have to use 9.2.1 |
2021-12-01 05:33:13 +0100 | <Square> | I have this function that works properly https://paste.tomsmeding.com/jE8lp78x . The case part is recurring in other places so i felt I needed some sort of reuse of it. Ie, something that that routes the "path" to a handler for each case. |
2021-12-01 05:33:27 +0100 | <Square> | You dont happen to see what would be practical here? |
2021-12-01 05:34:07 +0100 | <dsal> | sm: I'm using stack via nix. It gets ghc just like I did on my other machine, it just won't run it. |
2021-12-01 05:34:56 +0100 | <sm> | ack. Is the stack executable x86 or arm ? just curious |
2021-12-01 05:35:26 +0100 | <arahael> | dsal: Use the arch command to force a particular arch. |
2021-12-01 05:35:55 +0100 | <arahael> | dsal: But yeah, I've moved away from nix for various reasons. And also stack - less moving parts. |
2021-12-01 05:36:10 +0100 | sagax | (~sagax_nb@user/sagax) (Quit: Konversation terminated!) |
2021-12-01 05:36:11 +0100 | <dsal> | Well, I'm actually failing a little earlier than that. Just getting home-manager to switch to arm tries to run the GHC and crashes. |
2021-12-01 05:36:14 +0100 | <arahael> | nix doesn't even sandbox adequately on macos. |
2021-12-01 05:36:17 +0100 | <dsal> | I tried the stack that came with ghcup. |
2021-12-01 05:36:25 +0100 | sm | seems to remember getting newer clang/llvm with homebrew |
2021-12-01 05:36:49 +0100 | <arahael> | sm: In this case, you're goign to want _older_ clang/llvm, I think. |
2021-12-01 05:36:51 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-01 05:37:05 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 05:37:05 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 05:37:05 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 05:37:25 +0100 | <dsal> | I've not used homebrew in a while. nix has done a good job of getting my tools for the most part. New install has a couple issues, but I'm not going to solve them tonight. |
2021-12-01 05:37:38 +0100 | sm | would try the stack binary from fpcomplete as well |
2021-12-01 05:39:17 +0100 | <dsal> | yeah, stack from ghcup is the path that got me the complains about missing `opt` |
2021-12-01 05:39:38 +0100 | <arahael> | dsal: What's the full error - what's the whole "opt" thing? |
2021-12-01 05:39:56 +0100 | <arahael> | dsal: I might be able to recognise some of it. |
2021-12-01 05:40:23 +0100 | <dsal> | Actually, different error. Earlier it was that it couldn't find `opt` from clang. Now it's just saying it can't find clang. Warning: Couldn't figure out LLVM version! Make sure you have installed LLVM between [9 and 13) |
2021-12-01 05:40:26 +0100 | <dsal> | It says warning, but it fails. |
2021-12-01 05:41:03 +0100 | <arahael> | dsal: Ah, yes. You need ghc 9.2.1, that's the same issue I have. Note [9 and 13], that's "version 9, through to but not including version 13". My guess is you have version 13. |
2021-12-01 05:41:43 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-12-01 05:41:44 +0100 | <dsal> | Oh, I selected 9.2.1 |
2021-12-01 05:41:50 +0100 | <dsal> | It's seeming to do something now. |
2021-12-01 05:42:13 +0100 | <arahael> | dsal: That has a bug involving ffi on macos. You'll need that environment variable I showed above for the C_INCLUDE_PATH. |
2021-12-01 05:42:22 +0100 | <dsal> | Er, maybe not. OK. I'll try that. heh |
2021-12-01 05:43:03 +0100 | <sm> | arahael: wow, tricky error message there.. |
2021-12-01 05:43:15 +0100 | <arahael> | dsal: Does stack support that yet, incidentially? I thought ghc 9.2.1 is too new for stack? |
2021-12-01 05:44:02 +0100 | <dsal> | Hmm... No, it still fails to compile all my deps. |
2021-12-01 05:44:32 +0100 | <dsal> | ghc: could not execute: opt |
2021-12-01 05:44:47 +0100 | <arahael> | "could not execute: opt". That's _curious_. |
2021-12-01 05:45:58 +0100 | <dsal> | yeah, I don't know where it's supposed to get opt. I have Apple clang version 13.0.0 (clang-1300.0.29.3) |
2021-12-01 05:46:27 +0100 | <arahael> | Right, that's not within the supported [9 and 13) range (except for GHC 9.2.1) |
2021-12-01 05:46:55 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 05:46:58 +0100 | <arahael> | dsal: Welcome to my troubles here from the past week or so. :) I recall you were there! ;) |
2021-12-01 05:47:18 +0100 | <dsal> | ah. Everything worked well for me on my old machine due to luck. |
2021-12-01 05:47:42 +0100 | <arahael> | dsal: Hmm. :) |
2021-12-01 05:47:56 +0100 | <dsal> | Oooh, I didn't notice the ) on 13. |
2021-12-01 05:48:24 +0100 | <arahael> | dsal: It's super subtle isnt' it? I only pointed it out like 3 times, and you _STILL_ missed it, it's that subtle, yes. (And not blaming you for that, either) |
2021-12-01 05:48:32 +0100 | <sm> | that's what I meant by "tricky error message"! Pretty bad UX |
2021-12-01 05:49:43 +0100 | <dsal> | Yeah. There's a fairly narrow band of tooling I care about. |
2021-12-01 05:50:04 +0100 | <arahael> | dsal: One thing I did not try, was installing an older xcode. |
2021-12-01 05:50:42 +0100 | <arahael> | dsal: But you need an apple developer account to get access to the older xcodes. |
2021-12-01 05:50:48 +0100 | <dsal> | Ah, that sounds painful. |
2021-12-01 05:50:53 +0100 | <dsal> | I think I've done that before. |
2021-12-01 05:50:59 +0100 | <arahael> | (I have the account, but anyways) |
2021-12-01 05:55:20 +0100 | <arahael> | dsal: Anyway, realise you're ultimately dealing with four layers here: nix, stack, haskell, and macos/xcode. That's a lot of moving parts. |
2021-12-01 05:55:30 +0100 | <sm> | +1 |
2021-12-01 05:55:46 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 05:55:55 +0100 | <Axman6> | and Apple don't give a shit about us |
2021-12-01 05:56:53 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2bee6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-12-01 05:57:57 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 05:57:57 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 05:57:57 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 05:58:35 +0100 | <EvanR> | advent of code... like 1 minute xd |
2021-12-01 05:58:57 +0100 | <sm> | agh! |
2021-12-01 05:58:59 +0100 | <arahael> | Oh, yeah! I'm torn between doing this in literate haskell, or rust. |
2021-12-01 05:59:19 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-12-01 05:59:45 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 06:00:25 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-01 06:00:52 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2bee6b318fffe838f33.dip0.t-ipconnect.de) |
2021-12-01 06:01:04 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-01 06:02:49 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-01 06:03:33 +0100 | z0ite | justache |
2021-12-01 06:06:15 +0100 | kennyd | (~bc8165b6@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2021-12-01 06:08:40 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-12-01 06:15:29 +0100 | Jing_ | (~hedgehog@2604:a840:3::1061) |
2021-12-01 06:16:10 +0100 | <dsal> | I also had emacs in the layers there. It froze up on part 2. *sigh* |
2021-12-01 06:16:43 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) (Quit: gone to sleep. ZZZzzz…) |
2021-12-01 06:18:04 +0100 | <arahael> | That's another moving part! |
2021-12-01 06:18:32 +0100 | Jing | (~hedgehog@125.105.11.101) (Ping timeout: 240 seconds) |
2021-12-01 06:19:33 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 06:21:13 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 06:23:10 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-01 06:25:28 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) |
2021-12-01 06:26:36 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-01 06:28:36 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-12-01 06:31:03 +0100 | img | (~img@user/img) |
2021-12-01 06:39:56 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-01 06:40:08 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-01 06:41:21 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 06:41:38 +0100 | sproso | (~sproso@node-1w7jr9y8y96l370tw0h9cpsrf.ipv6.telus.net) (Quit: Client closed) |
2021-12-01 06:45:31 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-12-01 06:47:37 +0100 | <arahael> | With literate haskell (Particularly markdown-unlit), how can I produce test cases from the same markdown file? I want to say: ... And that should produce the following outcome in the repl: ... |
2021-12-01 06:50:33 +0100 | <aplainzetakind> | `ghcid "--command=cabal run the-project"` exits on error, and when no-error, does not update on save. What am I doing wrong? |
2021-12-01 06:51:04 +0100 | <aplainzetakind> | I mean it's as if I simply issued the cabal command by itself. |
2021-12-01 06:51:38 +0100 | <sm> | ghcid -c 'cabal run' |
2021-12-01 06:52:07 +0100 | <sm> | but really I think you mean ghcid -c 'cabal repl' |
2021-12-01 06:52:14 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 06:52:41 +0100 | atwm | (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 256 seconds) |
2021-12-01 06:53:04 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-12-01 06:53:27 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2021-12-01 06:54:44 +0100 | fr33domlover | (~fr33@2.53.150.205) |
2021-12-01 06:55:19 +0100 | <aplainzetakind> | sm: Still not updating, as if a single run (with ghcid -c 'cabal repl') |
2021-12-01 06:58:45 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-12-01 07:00:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 07:05:46 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) (Quit: gone to sleep. ZZZzzz…) |
2021-12-01 07:06:17 +0100 | fr33domlover | (~fr33@2.53.150.205) (Ping timeout: 256 seconds) |
2021-12-01 07:06:42 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-12-01 07:07:34 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) |
2021-12-01 07:07:42 +0100 | moet | (~moet@mobile-166-170-42-127.mycingular.net) |
2021-12-01 07:07:48 +0100 | puke | (~puke@user/puke) |
2021-12-01 07:09:35 +0100 | moet | (~moet@mobile-166-170-42-127.mycingular.net) (Client Quit) |
2021-12-01 07:10:36 +0100 | echoreply | (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8) |
2021-12-01 07:17:51 +0100 | <EvanR> | how does the AoC guy know to come up with puzzles that are fun for haskell |
2021-12-01 07:19:17 +0100 | <jle`> | it's a conspiracy |
2021-12-01 07:19:28 +0100 | chomwitt | (~chomwitt@2a02:587:dc16:f200:12c3:7bff:fe6d:d374) |
2021-12-01 07:20:05 +0100 | <opqdonut> | typically there are ones in the second half that aren't much fun in haskell |
2021-12-01 07:20:17 +0100 | <opqdonut> | "simulate this slightly ill-specified register machine" |
2021-12-01 07:20:21 +0100 | xff0x | (~xff0x@2001:1a81:530d:ee00:3ffa:7a4c:8a0a:d168) (Ping timeout: 245 seconds) |
2021-12-01 07:20:31 +0100 | <EvanR> | yeah I remember that |
2021-12-01 07:20:51 +0100 | <opqdonut> | but in general they're purely computational puzzles that don't need maximum performance, so of course haskell is a good fit! |
2021-12-01 07:21:28 +0100 | xff0x | (~xff0x@2001:1a81:530d:ee00:3669:3c5b:65c3:3f53) |
2021-12-01 07:21:50 +0100 | <EvanR> | how fast it runs will be a crucial tie breaker if you and the C guy press `enter' at the same time |
2021-12-01 07:24:25 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) (Quit: gone to sleep. ZZZzzz…) |
2021-12-01 07:28:52 +0100 | <dsal> | I've rarely found any that weren't fun in Haskell. |
2021-12-01 07:29:17 +0100 | <dsal> | Just the ones that feel like labor. |
2021-12-01 07:33:24 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 07:33:40 +0100 | vysn | (~vysn@user/vysn) |
2021-12-01 07:33:43 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-12-01 07:34:03 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-12-01 07:34:19 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 07:34:39 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 07:35:11 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 07:35:22 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-12-01 07:39:09 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-01 07:43:05 +0100 | xff0x | (~xff0x@2001:1a81:530d:ee00:3669:3c5b:65c3:3f53) (Ping timeout: 252 seconds) |
2021-12-01 07:43:39 +0100 | xff0x | (~xff0x@2001:1a81:530d:ee00:fdea:9bb5:abe4:a159) |
2021-12-01 07:45:48 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 07:46:27 +0100 | connrs | (~connrs@user/connrs) (Ping timeout: 260 seconds) |
2021-12-01 07:48:06 +0100 | <dmj`> | An AOC CLI tool would be nice ... automatic puzzle fetching, submission, stats |
2021-12-01 07:50:43 +0100 | rkrishnan | (~user@122.171.76.46) |
2021-12-01 07:52:50 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-01 07:53:11 +0100 | <iqubic> | @hackage aoc |
2021-12-01 07:53:11 +0100 | <lambdabot> | https://hackage.haskell.org/package/aoc |
2021-12-01 07:53:34 +0100 | <iqubic> | @hackage advent-of-code-api |
2021-12-01 07:53:34 +0100 | <lambdabot> | https://hackage.haskell.org/package/advent-of-code-api |
2021-12-01 07:53:47 +0100 | <iqubic> | That's a library made by jle` and it's excellent. |
2021-12-01 07:54:30 +0100 | <iqubic> | jle`: Does that also have an executable too, or is it just a haskell library? |
2021-12-01 07:55:06 +0100 | <dmj`> | jle` does write good code |
2021-12-01 07:56:32 +0100 | <dmj`> | this explains how he's so fast too |
2021-12-01 07:57:08 +0100 | <iqubic> | Yeah. I also use that library. It's good. |
2021-12-01 07:58:09 +0100 | <iqubic> | > (zip <*> tail) [1..10] |
2021-12-01 07:58:10 +0100 | <lambdabot> | [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10)] |
2021-12-01 07:58:16 +0100 | <iqubic> | Why does that work!?!? |
2021-12-01 08:02:46 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2bee6b318fffe838f33.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2021-12-01 08:03:20 +0100 | <jle`> | iqubic: that's just the library :) my advent-of-code-dev repo on github has an executable for auto fetching and stuff but it's probably more of an example than something that works out of the box |
2021-12-01 08:03:26 +0100 | <jle`> | iqubic: (f <*> g) x = f x (g x) |
2021-12-01 08:04:06 +0100 | <iqubic> | Isn't that just S from the SKI combinators? |
2021-12-01 08:04:49 +0100 | <iqubic> | And let me guess... pure is K? |
2021-12-01 08:04:56 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2bee6b318fffe838f33.dip0.t-ipconnect.de) |
2021-12-01 08:05:02 +0100 | <jle`> | it's been a while, but that does sound familiar :) |
2021-12-01 08:05:06 +0100 | <iqubic> | :t pure |
2021-12-01 08:05:07 +0100 | <lambdabot> | Applicative f => a -> f a |
2021-12-01 08:05:28 +0100 | <iqubic> | https://en.wikipedia.org/wiki/SKI_combinator_calculus |
2021-12-01 08:05:40 +0100 | <arahael> | Really happy with how I've started advent of code: Start with a bang, end with a whimper? (It's a LOT of typing for literate haskell!) https://github.com/arafangion/super-eureka/blob/main/app/Day1.md |
2021-12-01 08:06:20 +0100 | <arahael> | Disclaimer: That's the *solution*. |
2021-12-01 08:07:15 +0100 | <iqubic> | jle`: Wikipedia gives this: I x = x, K x y = x, S x y z = x z (y z), which, after some variable renaming shows that <*> is the same as S. |
2021-12-01 08:07:45 +0100 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2021-12-01 08:08:47 +0100 | <jle`> | iqubic: looks convincing to me :) |
2021-12-01 08:09:43 +0100 | cyclosa | (~cyclosa@2603-6011-4a41-8ada-0000-0000-0000-0eaa.res6.spectrum.com) |
2021-12-01 08:10:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 08:10:43 +0100 | <iqubic> | What exactly is pure for the Function/Reader applicative? |
2021-12-01 08:13:56 +0100 | <c_wraith> | const |
2021-12-01 08:14:04 +0100 | <c_wraith> | > pure 5 () |
2021-12-01 08:14:06 +0100 | <lambdabot> | 5 |
2021-12-01 08:14:23 +0100 | <jle`> | iqubic: there is actually only one implementation that typechecks |
2021-12-01 08:14:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-01 08:16:26 +0100 | caubert | (~caubert@136.244.111.235) (Quit: WeeChat 3.3) |
2021-12-01 08:16:59 +0100 | <iqubic> | "pure :: a -> (b -> a)" is the type signature for pure, when specialized to functions. And clearly the only thing you can do there is to ignore the b and just return the a you have. Which is exactly what const does. |
2021-12-01 08:18:26 +0100 | caubert | (~caubert@136.244.111.235) |
2021-12-01 08:18:42 +0100 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2021-12-01 08:23:42 +0100 | <arahael> | Anyone else doing advent of code using literate haskell? |
2021-12-01 08:24:11 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-01 08:25:46 +0100 | fr33domlover | (~fr33@2.53.150.205) |
2021-12-01 08:26:16 +0100 | <dmj`> | that's advanced |
2021-12-01 08:27:39 +0100 | <arahael> | dmj`: Not really, it was surprisingly easy - the literate haskell bit. Ensuring it's *intelligent* is a separate matter! |
2021-12-01 08:28:02 +0100 | monochrom | (trebla@216.138.220.146) |
2021-12-01 08:28:13 +0100 | <dmj`> | arahael: hmm, intelligent in what way? |
2021-12-01 08:28:17 +0100 | <arahael> | The main thing that's awkward is that cabal requires the file extension to be either .hs, or .lhs, so since I need .md for... Uh... Literate reasons, I had to use symlinks. |
2021-12-01 08:28:29 +0100 | <arahael> | dmj`: Intelligent in that it makes sense to the reader. |
2021-12-01 08:28:52 +0100 | <dmj`> | arahael: ah, yea I don't use cabal files, just raw ghc |
2021-12-01 08:29:06 +0100 | <arahael> | dmj`: That's even easier! |
2021-12-01 08:29:10 +0100 | <dmj`> | might try to do AOC w/ just boot packages only |
2021-12-01 08:29:20 +0100 | <dmj`> | ReadP FTW |
2021-12-01 08:29:28 +0100 | <arahael> | dmj`: Go for it. :) |
2021-12-01 08:30:27 +0100 | <dmj`> | the only thing I don't like is that chunksOf and split aren't in Data.List, so I always end up rewriting them |
2021-12-01 08:31:10 +0100 | <dmj`> | just all maps, sets, lists, etc. |
2021-12-01 08:31:32 +0100 | <arahael> | Yeah. I was surprised to discover that there isn't a windowing function already in the prelude. |
2021-12-01 08:31:38 +0100 | <arahael> | (Am I wrong?) |
2021-12-01 08:31:54 +0100 | <arahael> | I had to write my own implementation in my example above. |
2021-12-01 08:32:46 +0100 | dmj` | looks |
2021-12-01 08:34:09 +0100 | <dmj`> | arahael: nothing built-in, but you can use tails |
2021-12-01 08:34:39 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 08:34:46 +0100 | <dmj`> | @def sliding n xs = take n <$> tails xs |
2021-12-01 08:34:47 +0100 | <lambdabot> | Defined. |
2021-12-01 08:35:00 +0100 | <dmj`> | > sliding 3 [1..5] |
2021-12-01 08:35:03 +0100 | <lambdabot> | [[1,2,3],[2,3,4],[3,4,5],[4,5],[5],[]] |
2021-12-01 08:35:10 +0100 | chele | (~chele@user/chele) |
2021-12-01 08:35:35 +0100 | <c_wraith> | I just used zipWith3 |
2021-12-01 08:36:02 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-01 08:36:43 +0100 | <arahael> | Nice. |
2021-12-01 08:39:11 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-01 08:39:13 +0100 | <dmj`> | c_wraith: that was smart |
2021-12-01 08:39:46 +0100 | <dmj`> | > zipWith3 (\x y z -> sum [x,y,z]) [1..5] (tail [1..5]) (tail (tail [1..5])) |
2021-12-01 08:39:48 +0100 | <lambdabot> | [6,9,12] |
2021-12-01 08:40:09 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-12-01 08:40:16 +0100 | <dmj`> | c_wraith: would have been up a creek if the window size was 4 :) |
2021-12-01 08:40:36 +0100 | <hololeap> | what function in System.FilePath can resolve ("/var/uploads/" </> "../uploads/thing") to "/var/uploads/thing" ? |
2021-12-01 08:40:37 +0100 | <arahael> | That's teh thing with advent of code: It's *all* throwaway code, and you don't know the change that will happen in part 2. |
2021-12-01 08:41:04 +0100 | <c_wraith> | nah, I can nest zipWith :) |
2021-12-01 08:41:26 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2b1a:1927:b5c5:1912) |
2021-12-01 08:41:29 +0100 | <dmj`> | arahael: true |
2021-12-01 08:41:39 +0100 | <arahael> | I think I prefer the take n <$> tails xs |
2021-12-01 08:42:06 +0100 | alx741 | (~alx741@181.196.69.153) (Ping timeout: 256 seconds) |
2021-12-01 08:43:01 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-01 08:47:30 +0100 | <dmj`> | c_wraith: tricky :) |
2021-12-01 08:48:04 +0100 | <hololeap> | % canonicalizePath ("/dev/" </> "..") |
2021-12-01 08:48:04 +0100 | <yahb> | hololeap: "/dev/.." |
2021-12-01 08:48:12 +0100 | <hololeap> | shouldn't this return "/" ? |
2021-12-01 08:50:55 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-01 08:51:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 08:52:48 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2021-12-01 08:53:08 +0100 | <c_wraith> | hololeap: I'm willing to bet yahb runs in a jail that doesn't have /dev |
2021-12-01 08:53:47 +0100 | kennyd | (~bc8165b6@83.167.180.121) |
2021-12-01 08:53:58 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 08:54:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 08:54:25 +0100 | <hololeap> | no, I think this is the actual reason: https://neilmitchell.blogspot.com/2015/10/filepaths-are-subtle-symlinks-are-hard.html |
2021-12-01 08:54:52 +0100 | <c_wraith> | on my system, it does result in "/" |
2021-12-01 08:54:59 +0100 | <hololeap> | wait, really? |
2021-12-01 08:55:01 +0100 | alx741 | (~alx741@181.196.69.156) |
2021-12-01 08:55:40 +0100 | <hololeap> | oh, I guess it does on mine too |
2021-12-01 08:55:50 +0100 | <c_wraith> | I think it's just the env yahb runs in |
2021-12-01 08:56:38 +0100 | <c_wraith> | If I ask ghci to canonicalize a "/dev2/.." I get no change, as I have no /dev2 directory |
2021-12-01 08:57:19 +0100 | cyclosa | (~cyclosa@2603-6011-4a41-8ada-0000-0000-0000-0eaa.res6.spectrum.com) (Quit: computer broke) |
2021-12-01 08:57:22 +0100 | <kennyd> | it works even on windows, canonicalizePath ("/dev/" </> "..") => "C:\\" |
2021-12-01 08:57:43 +0100 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-12-01 08:58:18 +0100 | <hololeap> | https://github.com/Happstack/happstack-server/blob/master/src/Happstack/Server/FileServe/BuildingB… |
2021-12-01 08:58:29 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-01 08:59:27 +0100 | <hololeap> | I'm trying to submit a PR that does away with the system-filepath package, but I don't see any equivalent in the filepath or directory packages |
2021-12-01 09:00:00 +0100 | <hololeap> | >>> combineSafe "/var/uploads/" "../uploads/home/../etc/passwd" |
2021-12-01 09:00:08 +0100 | <hololeap> | Just "/var/uploads/etc/passwd" |
2021-12-01 09:00:11 +0100 | Cajun | (~Cajun@user/cajun) (Ping timeout: 256 seconds) |
2021-12-01 09:04:03 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-12-01 09:04:43 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 09:08:29 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-01 09:08:49 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 09:09:51 +0100 | img | (~img@user/img) |
2021-12-01 09:09:54 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 09:10:00 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-12-01 09:10:00 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 09:10:18 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 09:14:22 +0100 | ub | (~Thunderbi@p200300ecdf0ba2be089e3f14725e8432.dip0.t-ipconnect.de) |
2021-12-01 09:19:20 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
2021-12-01 09:20:30 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:8ef1:d1b1:96b4:f9df) |
2021-12-01 09:21:02 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-01 09:25:13 +0100 | iqubic | (~user@2601:602:9502:c70:7d14:3ce3:e8b8:8f59) (Remote host closed the connection) |
2021-12-01 09:25:24 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-12-01 09:25:29 +0100 | neurocyte0132889 | (~neurocyte@45.128.183.11) |
2021-12-01 09:25:29 +0100 | neurocyte0132889 | (~neurocyte@45.128.183.11) (Changing host) |
2021-12-01 09:25:29 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-12-01 09:27:24 +0100 | aarchi | (sid486183@id-486183.uxbridge.irccloud.com) (Excess Flood) |
2021-12-01 09:27:27 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-12-01 09:27:33 +0100 | aarchi | (sid486183@id-486183.uxbridge.irccloud.com) |
2021-12-01 09:29:32 +0100 | iqubic | (~user@2601:602:9502:c70:7d14:3ce3:e8b8:8f59) |
2021-12-01 09:31:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 09:34:58 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 09:35:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 09:39:37 +0100 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
2021-12-01 09:41:17 +0100 | chomwitt | (~chomwitt@2a02:587:dc16:f200:12c3:7bff:fe6d:d374) (Quit: Leaving) |
2021-12-01 09:43:47 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 09:44:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 09:45:44 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-12-01 09:46:28 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2021-12-01 09:46:50 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-12-01 09:48:55 +0100 | Codaraxis | (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds) |
2021-12-01 09:49:29 +0100 | michalz | (~michalz@185.246.204.43) |
2021-12-01 09:52:51 +0100 | kuribas | (~user@188.188.219.184) |
2021-12-01 09:52:56 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-12-01 09:54:24 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-12-01 09:56:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 09:57:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:00:30 +0100 | <dminuoso> | Is there any documentation for `cabal build --ghc-options`? Because I cant find any.. |
2021-12-01 10:03:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:03:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:03:33 +0100 | jstolarek | (~jstolarek@137.220.120.162) |
2021-12-01 10:05:13 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:05:30 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:05:57 +0100 | acidjnk_new | (~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de) |
2021-12-01 10:06:05 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 252 seconds) |
2021-12-01 10:07:19 +0100 | aforemny_ | aforemny |
2021-12-01 10:07:29 +0100 | nrl^ | (~nrl@68.101.58.90) (Remote host closed the connection) |
2021-12-01 10:09:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:09:29 +0100 | <merijn> | dminuoso: What kinda documentation would you expect? |
2021-12-01 10:09:36 +0100 | <dminuoso> | Any? |
2021-12-01 10:09:40 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:09:42 +0100 | <dminuoso> | It's not even listed in the man page |
2021-12-01 10:09:44 +0100 | <merijn> | It just passes options directly to GHC |
2021-12-01 10:09:48 +0100 | <dminuoso> | Well only under configure |
2021-12-01 10:09:49 +0100 | <dminuoso> | Sure |
2021-12-01 10:09:56 +0100 | <dminuoso> | Is it too much to ask for a man page regardless? |
2021-12-01 10:10:01 +0100 | <merijn> | Probably :p |
2021-12-01 10:10:03 +0100 | <dminuoso> | A note of it I mean |
2021-12-01 10:10:05 +0100 | <dminuoso> | :p |
2021-12-01 10:10:15 +0100 | <dminuoso> | The thing is |
2021-12-01 10:10:26 +0100 | <dminuoso> | It allows for no discoverability of this option |
2021-12-01 10:10:41 +0100 | <dminuoso> | You know it exists because someone told you. But I couldn't even find its existence based on the man page |
2021-12-01 10:10:44 +0100 | <merijn> | I don't even know where the manpage is in the cabal repo, so I'm not sure anyone else does either, let alone update it :p |
2021-12-01 10:10:50 +0100 | <dminuoso> | Unless I happened to have read this: |
2021-12-01 10:10:52 +0100 | <dminuoso> | https://cabal.readthedocs.io/en/3.4/cabal-commands.html |
2021-12-01 10:10:57 +0100 | <dminuoso> | Under `cabal v2-configure` |
2021-12-01 10:11:01 +0100 | <dminuoso> | `cabal v2-configure FLAGS; cabal v2-build is roughly equivalent to cabal v2-build FLAGS` |
2021-12-01 10:11:02 +0100 | <merijn> | dminuoso: I was about to say, the cabal docs :p |
2021-12-01 10:11:05 +0100 | <dminuoso> | The thing is |
2021-12-01 10:11:32 +0100 | <dminuoso> | Its just highly annoying that you need to read another commands (v2-configure, it's even called v2 mind you!) documentation to know about build. |
2021-12-01 10:11:50 +0100 | <dminuoso> | Sort of suggesting "read the entire docs from top to bottom before you ask" |
2021-12-01 10:12:41 +0100 | kuribas | (~user@188.188.219.184) (Ping timeout: 252 seconds) |
2021-12-01 10:14:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:14:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:15:45 +0100 | <merijn> | dminuoso: Complain to Hecate and her docs improvement iniative? :p |
2021-12-01 10:16:46 +0100 | <dminuoso> | I guess I should just fix it myself rather than complain |
2021-12-01 10:16:53 +0100 | <merijn> | Hecate just became cabal core contributor too, so... :p |
2021-12-01 10:16:54 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
2021-12-01 10:16:55 +0100 | <Hecate> | 'sup |
2021-12-01 10:17:04 +0100 | <merijn> | Hecate: Throwing you under the bus :p |
2021-12-01 10:17:12 +0100 | <Hecate> | sure that's the point :) |
2021-12-01 10:17:35 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-01 10:19:23 +0100 | dsrt^ | (~dsrt@68.101.58.90) |
2021-12-01 10:20:30 +0100 | <dminuoso> | But yeah, cabal-install documentation has some pretty bad parts. |
2021-12-01 10:20:56 +0100 | <Hecate> | yes |
2021-12-01 10:21:21 +0100 | <Hecate> | Gil Mizrahi is working on improving this |
2021-12-01 10:21:47 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-12-01 10:22:36 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-12-01 10:24:07 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 10:27:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:27:43 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:29:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:29:41 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:31:23 +0100 | <arahael> | dminuoso: Imagine my difficulty finding out how to disable colour output in cabal build. |
2021-12-01 10:33:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:33:58 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:34:47 +0100 | mestre | (~mestre@191.177.175.57) (Quit: Lost terminal) |
2021-12-01 10:35:00 +0100 | <Hecate> | arahael: NO_COLOR doesn't work? |
2021-12-01 10:36:13 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 10:36:28 +0100 | <arahael> | Hecate: 1) I didn't actually test that, and 2) Where's that documented? |
2021-12-01 10:40:27 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 10:40:42 +0100 | <Hecate> | hmm, nowhere |
2021-12-01 10:40:45 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 10:40:47 +0100 | <Hecate> | it doesn't work. |
2021-12-01 10:40:53 +0100 | <Hecate> | but it will have to |
2021-12-01 10:41:03 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-01 10:41:58 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-01 10:43:21 +0100 | <merijn> | Only 45 people on the Haskell leaderboard for AoC |
2021-12-01 10:43:25 +0100 | <merijn> | come on, slackers :p |
2021-12-01 10:44:50 +0100 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2021-12-01 10:45:53 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-12-01 10:46:52 +0100 | kmein | (~weechat@user/kmein) |
2021-12-01 10:47:08 +0100 | <mniip> | slackers indeed |
2021-12-01 10:48:43 +0100 | <[exa]> | people don't use awk for this? |
2021-12-01 10:48:57 +0100 | <merijn> | I mean, you can use whatever :p |
2021-12-01 10:49:12 +0100 | <merijn> | I use over-engineered Haskell :p |
2021-12-01 10:50:53 +0100 | <merijn> | My personal rule is to try and keep my code (mostly?) readable to Haskell beginners and (more importantly) no unhandled errors |
2021-12-01 10:51:15 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2021-12-01 10:51:32 +0100 | <Hecate> | arahael: what did you use for no colours in cabal, btw? |
2021-12-01 10:51:40 +0100 | <Hecate> | I'm gonna implement NO_COLOR |
2021-12-01 10:52:16 +0100 | <arahael> | Hecate: I ended up using --ghc-options=-fdiagnostics-color=never but there are other bugs preventing that from working - and it didn't fix my ultimate issue where Shake, which calls cabal, has an "fd:7: hGetContents: invalid argument (invalid byte sequence)" as a result. |
2021-12-01 10:52:45 +0100 | <arahael> | Hecate: Or rather, it works, but you have to recompile basically everything, and still has that result. |
2021-12-01 10:53:23 +0100 | <arahael> | I should find out what byte sequence it's complaining about, but not today - rather drained from everything else. *sigh*. Video conferences.... |
2021-12-01 10:53:28 +0100 | <Square> | if i have a polymorphic function with proper signature and all. Create local version of it (providing some, but not all, arguments) it sort loses its polymorphic status and get type infered to first application. Ie. myFknWSomeParams = myFkn x y. Can invoke "myFkn x y moreArgs" but not "myFknWSomeParams moreArgs" |
2021-12-01 10:53:35 +0100 | <merijn> | arahael: tbh, invalid byte sequence is often "you f-ed up your locale" :p |
2021-12-01 10:53:49 +0100 | <arahael> | merijn: Yep, it's f'ing UTF-8. :) |
2021-12-01 10:53:51 +0100 | nek0 | (~nek0@nek0.eu) |
2021-12-01 10:53:57 +0100 | <merijn> | arahael: Which OS? |
2021-12-01 10:54:02 +0100 | <arahael> | merijn: macOS. |
2021-12-01 10:54:14 +0100 | <merijn> | What's the output of "locale" in your shell? |
2021-12-01 10:54:39 +0100 | <arahael> | merijn: Except for LC_ALL, which is unset, it's all en_AU.UTF-8. |
2021-12-01 10:55:33 +0100 | <merijn> | arahael: Mine is: https://paste.tomsmeding.com/deHyKqgk |
2021-12-01 10:55:52 +0100 | <merijn> | arahael: And I recall having issues on macOS (years ago) before fixing my environment to set a proper locale |
2021-12-01 10:56:34 +0100 | <arahael> | merijn: Hmm, let me try setting the LANG and LC_ALL explicitly to those, as well - that's the only thing that's different. |
2021-12-01 10:57:00 +0100 | <arahael> | merijn: Doing a rebuild... |
2021-12-01 10:57:41 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-12-01 10:57:57 +0100 | <zincy> | I am doing state machine testing in hedgehog for a card game, should I use my existing player action validation function to help generate state machine actions or does this defeat the point? |
2021-12-01 10:58:05 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-12-01 10:58:21 +0100 | <[exa]> | merijn: where's the haskell leaderboard tho? |
2021-12-01 10:58:33 +0100 | <merijn> | [exa]: See topic |
2021-12-01 10:58:47 +0100 | <[exa]> | aaaaaay |
2021-12-01 10:58:49 +0100 | <[exa]> | thanks |
2021-12-01 10:59:26 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 252 seconds) |
2021-12-01 11:00:11 +0100 | <arahael> | Oh, wow, quite a few peole on that leaderboard, has it been shared outside the IRC? |
2021-12-01 11:00:26 +0100 | <merijn> | arahael: It's been the same for the past 2 years |
2021-12-01 11:00:44 +0100 | <arahael> | I just put myself on it :D |
2021-12-01 11:01:00 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-12-01 11:01:48 +0100 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-12-01 11:04:11 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-12-01 11:04:32 +0100 | <[exa]> | will I get banned if I did the first aoc in R? |
2021-12-01 11:04:45 +0100 | <merijn> | :O |
2021-12-01 11:04:47 +0100 | <merijn> | Heresy |
2021-12-01 11:04:56 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-01 11:05:24 +0100 | <nek0> | Hi folks, I'm having a problem using exceptions, with which I am not very familiar with. The issue I have is, that a call of "fromException" returns "Nothing" instead of "Just WhateverException". Reproducing this issue in GHCI has been unsuccessful so far... |
2021-12-01 11:05:29 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2021-12-01 11:05:37 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 11:05:46 +0100 | <arahael> | [exa]: I did one of mine last year (or was it 2019?), in QuickBASIC. |
2021-12-01 11:05:59 +0100 | <[exa]> | nek0: there are many types of exceptions so you might be catching the wrong one. Can we have a code sample? |
2021-12-01 11:06:25 +0100 | <[exa]> | arahael: now that's a honorable adventure |
2021-12-01 11:06:25 +0100 | <merijn> | Yeah, ENOTENOUGHINFO |
2021-12-01 11:06:48 +0100 | <arahael> | merijn: E_NOTENOUGHINFO. |
2021-12-01 11:07:02 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-12-01 11:07:04 +0100 | <[exa]> | pls negate your error returns |
2021-12-01 11:07:07 +0100 | <merijn> | arahael: No underscores in E codes :p |
2021-12-01 11:07:12 +0100 | <Unhammer> | Hi, http://sprunge.us/3rIlhp?haskell is there some smart way to check that roundtripping works in both directions for sumtypes that can't be enum/bounded? |
2021-12-01 11:07:12 +0100 | <arahael> | Finally, my build completed. Now to do a re-build, with my set locale. |
2021-12-01 11:07:17 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-01 11:07:20 +0100 | <arahael> | merijn: Oh? I thought they often did! |
2021-12-01 11:07:31 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-01 11:07:52 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) |
2021-12-01 11:08:04 +0100 | <merijn> | Unhammer: 1 list of tuples and then build two maps (one in each direction) |
2021-12-01 11:08:08 +0100 | <Unhammer> | for all ints, I know fromStatus(toStatus n)==n, can even quickcheck that, but I can't check the other way around toStatus(fromStatus s)==s without being able to generate all possible statuses |
2021-12-01 11:08:29 +0100 | <arahael> | merijn: https://gist.github.com/arafangion/632f5072d56afed633e3f77d9ec44d11 |
2021-12-01 11:08:38 +0100 | <Unhammer> | merijn, but how do I know my map is complete? |
2021-12-01 11:08:42 +0100 | <arahael> | merijn: I don't think it's the locale. |
2021-12-01 11:08:47 +0100 | <nek0> | [exa]: I tried to build a minimal working error, but it failed at failing... |
2021-12-01 11:09:03 +0100 | <merijn> | Unhammer: Same idea, but special case the other constructor :p |
2021-12-01 11:09:24 +0100 | <Unhammer> | I don't quite understand |
2021-12-01 11:09:37 +0100 | <merijn> | use my approach for the bounded constructor part |
2021-12-01 11:09:39 +0100 | <[exa]> | nek0: oh noes. |
2021-12-01 11:09:51 +0100 | <merijn> | Then write a wrapper function around those dictionaries handling the unbounded Other part |
2021-12-01 11:10:16 +0100 | <[exa]> | nek0: so at least snippets of the original code? |
2021-12-01 11:12:33 +0100 | <arahael> | merijn: When I find time (and energy), I intend to make my buidl system call 'cabal build' in _binary_ mode, such that it uses ByteStrings instead, I'll then be able to look at what the particular sequence is that it's choking on. |
2021-12-01 11:12:37 +0100 | <hololeap> | Unhammer: you could also move the Other constructor to it's own type so you can derive Enum/Bounded, then have your round trip between (Either OtherStatus Status <-> Int) |
2021-12-01 11:14:08 +0100 | <Unhammer> | merijn, list of pairs just means I make it a runtime error, doesn't it? http://sprunge.us/tNc1gA?haskell |
2021-12-01 11:14:23 +0100 | <Unhammer> | hololeap, yeah thought of that, except it complicates the use of the type :/ |
2021-12-01 11:16:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 11:16:28 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 11:16:29 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-01 11:16:42 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-01 11:16:54 +0100 | <lortabac> | Unhammer: I think you should be able to enumerate the constructors with Data |
2021-12-01 11:16:58 +0100 | <merijn> | Unhammer: Just wrap hololeap's approach with pattern synonyms |
2021-12-01 11:17:08 +0100 | <merijn> | Then you can use your current syntax with his suggest type |
2021-12-01 11:17:31 +0100 | juhp | (~juhp@128.106.188.82) (Quit: juhp) |
2021-12-01 11:17:47 +0100 | <lortabac> | otherwise you can make an Arbitrary instance with generic-random |
2021-12-01 11:18:47 +0100 | <Franciman> | at last it happened, haskell interpreter overperformed |
2021-12-01 11:18:57 +0100 | <Franciman> | ggwp to the haskell garbage collector |
2021-12-01 11:19:00 +0100 | <Franciman> | it was hard to overperform it |
2021-12-01 11:19:28 +0100 | <merijn> | What do you mean by that? |
2021-12-01 11:19:30 +0100 | <Franciman> | precise memory management and high level programming. Choose two |
2021-12-01 11:19:38 +0100 | <Unhammer> | ok. Was hoping there was some uncomplicated solution that I just can't see but I guess I hit a hard problem. |
2021-12-01 11:20:58 +0100 | <lortabac> | Unhammer: to be honest nothing beats code reviews for these problems |
2021-12-01 11:22:11 +0100 | <Unhammer> | that would be a nice world to live in |
2021-12-01 11:22:11 +0100 | <lortabac> | Unhammer: we have several data-types like that at work, and have never had a bug due to missing some integers |
2021-12-01 11:22:31 +0100 | <Franciman> | merijn: I was doing some tests against haskell's memory management system. I wrote a lambda calculus interpreter in haskell. And now an interpreter in zig where I can fully manage memory layout |
2021-12-01 11:22:33 +0100 | <Franciman> | easily |
2021-12-01 11:23:04 +0100 | <Franciman> | haskell manages to keep the amount of cache refs high, while keeping cache misses very low |
2021-12-01 11:23:14 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2021-12-01 11:23:15 +0100 | fef | (~thedawn@user/thedawn) |
2021-12-01 11:24:05 +0100 | Jing_ | (~hedgehog@2604:a840:3::1061) (Remote host closed the connection) |
2021-12-01 11:24:42 +0100 | Jing | (~hedgehog@115.207.46.97) |
2021-12-01 11:25:49 +0100 | <Franciman> | in zig I get like 70% cache misses lol |
2021-12-01 11:25:54 +0100 | <Franciman> | but it is still faster |
2021-12-01 11:26:39 +0100 | <Franciman> | haskell also has an higher throughput |
2021-12-01 11:26:47 +0100 | <Franciman> | it performs a lot more instructions, in less time |
2021-12-01 11:26:50 +0100 | <Franciman> | but that's not enough |
2021-12-01 11:26:59 +0100 | <Franciman> | it performs too much |
2021-12-01 11:27:06 +0100 | <arahael> | Too much? |
2021-12-01 11:27:42 +0100 | <Franciman> | yes it has to do too many operations, that's why in the end it is slower |
2021-12-01 11:27:47 +0100 | <merijn> | Franciman: Ah, I know why that is |
2021-12-01 11:27:49 +0100 | <Franciman> | I hyperoptimized the zig version |
2021-12-01 11:28:00 +0100 | <Franciman> | oh curious to hear |
2021-12-01 11:28:09 +0100 | <merijn> | Franciman: GHC is using a copy&collect GC, which means that if you have a small liveset it's very likely to all be in cache |
2021-12-01 11:28:19 +0100 | <merijn> | Franciman: Because it all gets copied into a dense memory region |
2021-12-01 11:28:25 +0100 | <Franciman> | nice |
2021-12-01 11:28:52 +0100 | <Franciman> | the GHC does a really good job |
2021-12-01 11:28:54 +0100 | <Franciman> | GC* |
2021-12-01 11:29:06 +0100 | <merijn> | Franciman: Basically, the way GHC's GC works is: Create a new heap. Copy all alive data to new heap. Throw away old heap |
2021-12-01 11:29:19 +0100 | <merijn> | Franciman: This has several advantages (and disadvantages) |
2021-12-01 11:29:36 +0100 | <merijn> | Due to Haskell being lazy there are *a lot* of allocations and *a lot* of garbage |
2021-12-01 11:29:45 +0100 | <Franciman> | yep, that's why it's impressive |
2021-12-01 11:30:02 +0100 | <merijn> | Since our heap is always a dense blob, your allocator is just a pointer to the end of the heap and allocating is literally "increment a pointer and check overflow" |
2021-12-01 11:30:09 +0100 | <merijn> | You can't build a faster allocator than that |
2021-12-01 11:30:31 +0100 | <Franciman> | but my zig allocator is the same |
2021-12-01 11:30:34 +0100 | <merijn> | And because we copy *live* data only, the GC time scales with the amount of *live* data, not garbage |
2021-12-01 11:30:37 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-12-01 11:30:50 +0100 | <Franciman> | by live you mean reachable data? |
2021-12-01 11:30:55 +0100 | <Franciman> | or something about generations too? |
2021-12-01 11:30:58 +0100 | <merijn> | The downside is that if you have a large live set (see the pusher blog posts from a few years ago) you copy a lot |
2021-12-01 11:31:18 +0100 | <merijn> | Franciman: I meant reachable yeah. There's also generational collection, but then things get messier to explain :p |
2021-12-01 11:31:28 +0100 | <Franciman> | okok nvm the generational |
2021-12-01 11:32:01 +0100 | <merijn> | Franciman: basically there's a nursery (where new allocations happen) and if they survive 1 GC, they go into the older generation (which is GCed less frequently), iirc |
2021-12-01 11:32:28 +0100 | <merijn> | Franciman: But yeah, if you have 2GB reachable data, you end up copying 2 GB every GC, which can kill you (although compact regions can help reduce/eliminate that) |
2021-12-01 11:32:49 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Remote host closed the connection) |
2021-12-01 11:33:00 +0100 | <Franciman> | my test case is summing the first 10M numbers, with a recursive function |
2021-12-01 11:33:02 +0100 | <Franciman> | :P |
2021-12-01 11:33:10 +0100 | <Franciman> | so it allocates quite a bit, but they are all small values |
2021-12-01 11:33:18 +0100 | <Franciman> | also in haskell recursion is basically cheap |
2021-12-01 11:33:20 +0100 | <merijn> | yeah, that's gonna have a tiny live set (only a handful of numbers) |
2021-12-01 11:33:39 +0100 | <merijn> | Franciman: You might wanna run your haskell code with "+RTS -sstderr" if you wanna see GC info |
2021-12-01 11:34:06 +0100 | <Franciman> | thanks. merijn my problem is that I can't figure out in any way how to improve the timing |
2021-12-01 11:34:11 +0100 | <Franciman> | of the haskell version |
2021-12-01 11:34:28 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 11:34:51 +0100 | <Franciman> | if the GC is so effettive, it must be somewhere that I have to improve. I bet on the GC |
2021-12-01 11:35:00 +0100 | <Franciman> | in fact my zig version does arena allocation |
2021-12-01 11:35:07 +0100 | hololeap | (~hololeap@user/hololeap) (Read error: Connection reset by peer) |
2021-12-01 11:35:14 +0100 | <Franciman> | I request a page of memory from the OS, and allocate without ever deallocating anything |
2021-12-01 11:35:23 +0100 | <Franciman> | so it does 0 memory management |
2021-12-01 11:36:11 +0100 | _bo | (~bo@217.18.216.247) |
2021-12-01 11:36:16 +0100 | <arahael> | Franciman: Generally you can't achieve the best general case GC. |
2021-12-01 11:36:23 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-01 11:36:26 +0100 | <arahael> | Franciman: You have to optimise it for a very particular use case. |
2021-12-01 11:36:46 +0100 | <Franciman> | hmm I see, so for writing a programming language it's not a particularly good idea |
2021-12-01 11:37:02 +0100 | <merijn> | There is no best GC, no |
2021-12-01 11:37:07 +0100 | <merijn> | GC design is 100% trade offs |
2021-12-01 11:37:13 +0100 | <Franciman> | because I want the internal memory of the interpreter to be managed differently from the language GC |
2021-12-01 11:37:19 +0100 | <arahael> | Franciman: There is a *ton* of papers about GC's, some quite good ones out tehre. |
2021-12-01 11:37:31 +0100 | <merijn> | GHC's GC is optimised for lots of garbage and high throughput (small percentage of GC time compared to compute) |
2021-12-01 11:37:37 +0100 | <Franciman> | yes I understand |
2021-12-01 11:37:50 +0100 | <Franciman> | basically my problem was: let me see if memory management affects my interpreter, but it doesn't lol |
2021-12-01 11:37:51 +0100 | <merijn> | It is not good for large live sets or for low latency (i.e. minimising the longest possible GC pause) |
2021-12-01 11:38:12 +0100 | <Franciman> | so I can't get any more speed out of it |
2021-12-01 11:38:15 +0100 | <Franciman> | yes I understand it |
2021-12-01 11:38:51 +0100 | <Hecate> | arahael: can you tell me if setting LC_ALL has fixed your issues? |
2021-12-01 11:39:04 +0100 | <arahael> | Hecate: It did not. |
2021-12-01 11:39:08 +0100 | <Franciman> | well ty all |
2021-12-01 11:39:28 +0100 | <Franciman> | back to humiliating my haskell interpreter to hope and find out something about its performances |
2021-12-01 11:39:40 +0100 | <Hecate> | arahael: ok thanks :) |
2021-12-01 11:40:04 +0100 | <arahael> | Hecate: No worries :) |
2021-12-01 11:42:26 +0100 | <sm> | Franciman, have you tried profiling yet ? |
2021-12-01 11:42:33 +0100 | <Franciman> | I did |
2021-12-01 11:43:28 +0100 | <sm> | sounds like you're finding out lots |
2021-12-01 11:44:47 +0100 | <Hecate> | arahael: what's your GH username? |
2021-12-01 11:45:42 +0100 | <Franciman> | sm: I got some numbers out, but can't quite make sense of them |
2021-12-01 11:45:51 +0100 | <arahael> | Hecate: arafangion |
2021-12-01 11:46:03 +0100 | <Franciman> | I mean the most used functions are of course what make the most of the time spent |
2021-12-01 11:46:03 +0100 | <arahael> | Hecate: most of my repos are private, though. |
2021-12-01 11:46:11 +0100 | <Franciman> | but I can't optimize them more than I do now |
2021-12-01 11:46:11 +0100 | theproffesor | (~theproffe@user/theproffesor) (Ping timeout: 245 seconds) |
2021-12-01 11:46:38 +0100 | <merijn> | Franciman: Have you tried playing with speedscope? |
2021-12-01 11:46:42 +0100 | <merijn> | https://www.speedscope.app/ |
2021-12-01 11:46:55 +0100 | <Franciman> | I didn't know about it, so many thanks |
2021-12-01 11:46:57 +0100 | <merijn> | See also https://mpickering.github.io/posts/2019-11-07-hs-speedscope.html |
2021-12-01 11:48:17 +0100 | theproffesor | (~theproffe@user/theproffesor) |
2021-12-01 11:49:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 11:50:14 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 11:50:18 +0100 | <Hecate> | arahael: yeah I just ping'd you on the ticket |
2021-12-01 11:51:02 +0100 | cuz | (~user@50.235.10.194) |
2021-12-01 11:51:12 +0100 | <Franciman> | ty and nice font |
2021-12-01 11:51:16 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Quit: Leaving) |
2021-12-01 11:51:26 +0100 | <arahael> | Hecate: Ah, very nice! I also want it on 'cabal build' as well, not just cabal install. |
2021-12-01 11:51:49 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-01 11:52:16 +0100 | <arahael> | Hecate: I also use --ghc-options=-fdiagnostics-color=never which was suggested by someone else here, and it does disable colour for the most part, but still causes an invalid byte order for some reason. |
2021-12-01 11:54:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 11:54:42 +0100 | <arahael> | Hecate: Other, possibly related links, which were also given to me in this channel are: https://gitlab.haskell.org/ghc/ghc/-/issues/13718 |
2021-12-01 11:54:53 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 11:55:21 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 11:56:02 +0100 | juhp | (~juhp@128.106.188.82) |
2021-12-01 11:56:03 +0100 | <Hecate> | hmm, not *that* related in the end |
2021-12-01 11:58:02 +0100 | ouro_boros | (~ouroboros@2804:14c:65e4:93f6:a589:7295:b475:5b03) (Ping timeout: 268 seconds) |
2021-12-01 11:58:59 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-01 12:00:05 +0100 | __monty__ | (~toonn@user/toonn) |
2021-12-01 12:00:36 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 12:02:11 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:b4e0:9d38:46ba:cc41) |
2021-12-01 12:02:15 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:b4e0:9d38:46ba:cc41) (Client Quit) |
2021-12-01 12:04:17 +0100 | Farzad | (~FarzadBek@37.98.106.66) |
2021-12-01 12:06:01 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 12:06:18 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 12:08:11 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 12:08:29 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 12:09:13 +0100 | kennyd | (~bc8165b6@83.167.180.121) (Quit: CGI:IRC (Ping timeout)) |
2021-12-01 12:09:19 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-01 12:09:42 +0100 | kennyd | (~bc8165b6@cerf.good1.com) |
2021-12-01 12:12:00 +0100 | <sm> | Franciman: I guess next level down would be inspecting the core, there have been some how-tos on that |
2021-12-01 12:14:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 12:15:14 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 12:16:54 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 12:17:12 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 12:18:52 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 12:19:10 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 12:20:50 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 12:21:08 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 12:22:24 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-01 12:23:32 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 12:23:41 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-12-01 12:24:39 +0100 | terrorjack | (~terrorjac@static.3.200.12.49.clients.your-server.de) |
2021-12-01 12:24:51 +0100 | mmhat | (~mmh@55d4c042.access.ecotel.net) |
2021-12-01 12:27:07 +0100 | kennyd | (~bc8165b6@cerf.good1.com) (Quit: CGI:IRC (Error)) |
2021-12-01 12:27:20 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-12-01 12:27:59 +0100 | kennyd | (~bc8165b6@83.167.180.121) |
2021-12-01 12:28:49 +0100 | kennyd | (~bc8165b6@83.167.180.121) (Client Quit) |
2021-12-01 12:29:38 +0100 | kennyd | (~bc8165b6@cerf.good1.com) |
2021-12-01 12:29:47 +0100 | Guest42 | (~Guest42@50.39.205.155) |
2021-12-01 12:32:42 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-01 12:33:15 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 12:33:43 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 12:34:26 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 12:36:08 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-12-01 12:37:32 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 12:38:59 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Ping timeout: 252 seconds) |
2021-12-01 12:41:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 12:41:27 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 12:42:17 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-01 12:44:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 12:45:54 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 12:46:21 +0100 | cuz | (~user@50.235.10.194) (Ping timeout: 256 seconds) |
2021-12-01 12:51:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 12:51:23 +0100 | Guest42 | (~Guest42@50.39.205.155) (Quit: Client closed) |
2021-12-01 12:54:21 +0100 | <geekosaur> | arahael, have you tried LANG=C? ghc uses various Unicode characters in its errors even without color sequences |
2021-12-01 12:56:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 12:57:50 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-12-01 12:59:48 +0100 | <yin> | @pl if x then a else b |
2021-12-01 12:59:48 +0100 | <lambdabot> | if' x a b |
2021-12-01 13:00:05 +0100 | <yin> | where is lambdabt getting this if' from? |
2021-12-01 13:00:27 +0100 | <kennyd> | @hoogle if' |
2021-12-01 13:00:28 +0100 | <lambdabot> | Data.Bool.HT if' :: Bool -> a -> a -> a |
2021-12-01 13:00:28 +0100 | <lambdabot> | Control.Conditional if' :: ToBool bool => bool -> a -> a -> a |
2021-12-01 13:00:28 +0100 | <lambdabot> | GHC.SourceGen.Expr if' :: HsExpr' -> HsExpr' -> HsExpr' -> HsExpr' |
2021-12-01 13:01:16 +0100 | <yin> | eh. i did that and got nothing |
2021-12-01 13:01:45 +0100 | <geekosaur> | it's just invented |
2021-12-01 13:02:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 13:02:13 +0100 | <geekosaur> | since the @pl plugin was last updated we got bool, which is what it really should be using these days |
2021-12-01 13:02:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 13:02:41 +0100 | <kennyd> | I kind of dislike the name, and reversed arguments |
2021-12-01 13:02:45 +0100 | <kennyd> | (of bool) |
2021-12-01 13:03:00 +0100 | <geekosaur> | the arguments match maybe and either |
2021-12-01 13:03:25 +0100 | <yin> | what does HT stand for? |
2021-12-01 13:03:57 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-12-01 13:04:15 +0100 | <arahael> | geekosaur: nope but i have gone to bed, will try to remember tomorrow! |
2021-12-01 13:04:17 +0100 | <kennyd> | geekosaur. right. but if I'm using such a function I'm more likely to think in terms of if-then-else than maybe or either |
2021-12-01 13:04:49 +0100 | <byorgey> | yin: I believe it stands for Henning Thielemann |
2021-12-01 13:04:56 +0100 | <byorgey> | https://hackage.haskell.org/package/utility-ht-0.0.16 |
2021-12-01 13:05:05 +0100 | <yin> | kennyd: haskell having if...then...else is the original sin |
2021-12-01 13:05:25 +0100 | <kennyd> | though bool might be nicer when partially implying it in some cases. so maybe there's place for both if' and bool |
2021-12-01 13:05:33 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 13:05:39 +0100 | <byorgey> | kennyd: I use partially applied bool on a regular basis |
2021-12-01 13:05:40 +0100 | <kennyd> | partially applying :P |
2021-12-01 13:07:43 +0100 | <yin> | byorgey: thanks |
2021-12-01 13:09:49 +0100 | narendra | (~user@2a02:8109:b63f:ff7c::56c2) |
2021-12-01 13:11:41 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 13:12:51 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-12-01 13:13:12 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-12-01 13:15:22 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-01 13:18:58 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-12-01 13:21:56 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 13:22:04 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-01 13:22:13 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 13:25:13 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 13:28:09 +0100 | arjun | (~user@user/arjun) |
2021-12-01 13:28:46 +0100 | <arjun> | soo, just got around reading the 3 layered haskell cake post from here (https://www.parsonsmatt.org/2018/03/22/three_layer_haskell_cake.html) |
2021-12-01 13:29:13 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-01 13:29:21 +0100 | <arjun> | what do people think of it ? |
2021-12-01 13:32:12 +0100 | <dminuoso> | Every time you have someone offer you a silver bullet on program design, reject it. |
2021-12-01 13:33:26 +0100 | <dminuoso> | I've seen this particular blog post many times, and I dislike every bit of it. I think what this is, is a representation on how the author - at that time in the past - used to structure their programs. |
2021-12-01 13:33:56 +0100 | <[exa]> | arjun: reminds me some of the more traditional OOP guidelines |
2021-12-01 13:34:31 +0100 | <arjun> | it does, doesn't it |
2021-12-01 13:35:10 +0100 | <arjun> | dminuoso: sure, i've seen this post several times, finally got around to reading it |
2021-12-01 13:35:19 +0100 | <[exa]> | would be nice if it was published as "how and why we have our internal guidelines as such", but trying to apply this universally is a monstrous mistake |
2021-12-01 13:35:55 +0100 | <arjun> | every place/one has/have their own tbh |
2021-12-01 13:36:07 +0100 | <[exa]> | or perhaps if there was a tools ecosystem that benefited from having the internals similar |
2021-12-01 13:36:12 +0100 | <[exa]> | yeah |
2021-12-01 13:36:38 +0100 | <arjun> | i was just wondering if this is a popular approach, since the blog post is popular and thus amplified |
2021-12-01 13:36:53 +0100 | <dminuoso> | Not given what I see around |
2021-12-01 13:36:59 +0100 | <dminuoso> | Some bits of it, yes. |
2021-12-01 13:37:05 +0100 | <dminuoso> | But the overall structure, no. |
2021-12-01 13:38:16 +0100 | <arjun> | i liked the readerT pattern post (linked atop this post) from fpcomplete much better |
2021-12-01 13:38:25 +0100 | <dminuoso> | For instance, for many of my executables I usually maintain some `newtype AppM a = AppM { runAppM :: ReaderT Env (LoggingT IO) a }` |
2021-12-01 13:38:41 +0100 | <dminuoso> | So I avoid transformers that are not isomorphic to ReaderT |
2021-12-01 13:39:09 +0100 | <dminuoso> | This I do because I want to be able to unlift IO actions without worrying about interactions between state and exceptions |
2021-12-01 13:39:41 +0100 | <[exa]> | arjun: you can kinda see that the post degenerates to something like database-ish transactions & data stream handling specifics later... For that usecase I'd probably think about similar structure |
2021-12-01 13:39:52 +0100 | <arjun> | i didn't get the last part dminuoso |
2021-12-01 13:40:08 +0100 | <maerwald> | I somehow always disliked 'App' transformers, but I don't know why |
2021-12-01 13:40:37 +0100 | <arjun> | \o |
2021-12-01 13:40:49 +0100 | <dminuoso> | arjun: Imagine you have a `StateT IO Int` and you want to have bracket for that |
2021-12-01 13:40:53 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) |
2021-12-01 13:41:03 +0100 | <dminuoso> | Or `catch` |
2021-12-01 13:42:23 +0100 | <dminuoso> | Do you want state in an exception handler to be preserved? |
2021-12-01 13:42:34 +0100 | <maerwald> | hm, I think I've never seen StateT or MonadState as part of the general application architecture... people either use IORefs/TVars/etc in their ReaderT env or use StateT only locally |
2021-12-01 13:43:02 +0100 | <dminuoso> | maerwald: servant forces it onto you in handlers unless you hoist yourself out of it |
2021-12-01 13:43:47 +0100 | <dminuoso> | So far Ive seen more global StateT than IORefs in a ReaderT environment, sadly |
2021-12-01 13:44:03 +0100 | <arjun> | maerwald: i think state isn't cool with concurrent stuff either (race / non-determinism) |
2021-12-01 13:44:25 +0100 | <dminuoso> | arjun: Its perfectly cool, we have STM to deal with that. |
2021-12-01 13:44:45 +0100 | <dminuoso> | Of course this is yet another reason why StateT is lacking, since you cant do concurrency with it |
2021-12-01 13:44:47 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) |
2021-12-01 13:45:43 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds) |
2021-12-01 13:46:33 +0100 | <arjun> | dminuoso: that's why we use IORefs/TVars instead of StateT ? |
2021-12-01 13:47:01 +0100 | <dminuoso> | Like I said, I use it because I find it way simpler to reason about in the presence of exceptions |
2021-12-01 13:47:36 +0100 | <arjun> | i see |
2021-12-01 13:47:39 +0100 | <dminuoso> | It's a coping technique because I'm not a genius. |
2021-12-01 13:47:54 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) |
2021-12-01 13:48:38 +0100 | <maerwald> | IOHK since has shifted to freer-simple I think (in some parts of their stack)... which, amusingly, still has the same issues as any mocking: equivalence |
2021-12-01 13:49:40 +0100 | <arjun> | that's an effect system, right maerwald? something like polysemy ? |
2021-12-01 13:50:19 +0100 | <maerwald> | other parts use a configuration context (passed inte the reader env I hink) that defines functions |
2021-12-01 13:50:31 +0100 | <maerwald> | so I'm not sure that three-layer cake is used anywhere there anymore |
2021-12-01 13:50:54 +0100 | <maerwald> | arjun: yeah |
2021-12-01 13:52:12 +0100 | <dminuoso> | arjun: And regarding tagless final. First this creates a hefty optimization barrier, if you employ this widely in your program, chances are you will miss a lot of inlining opportunities. |
2021-12-01 13:52:32 +0100 | <dminuoso> | This is because writing typeclass polymorphic code ends up being represented as a function taking a dictionary |
2021-12-01 13:52:55 +0100 | <maerwald> | I think using custom classes instead of explicit dictionaries is unpopular |
2021-12-01 13:53:01 +0100 | <dminuoso> | So doing this out of a basic rudimentary design principle seems to be flawed in that you're tieng your compilers hands from the beginning. |
2021-12-01 13:53:33 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) |
2021-12-01 13:53:40 +0100 | <merijn> | dminuoso: I like tagless final for specific logic bits, but a specific stack for the majority of actual program code |
2021-12-01 13:53:58 +0100 | <arjun> | hang on, let me google what this tagless final thingy is |
2021-12-01 13:53:59 +0100 | <maerwald> | e.g. https://git.io/JMwdD |
2021-12-01 13:54:04 +0100 | <arjun> | sounds like bad news : P |
2021-12-01 13:54:20 +0100 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
2021-12-01 13:54:41 +0100 | <merijn> | arjun: Basically "mtl style classes, but not the ones from mtl, because they're bad" |
2021-12-01 13:55:03 +0100 | <maerwald> | isn't that just only one interpretation of tagless final? |
2021-12-01 13:55:26 +0100 | <merijn> | What other interpretations exist? |
2021-12-01 13:55:39 +0100 | <maerwald> | I don't remember... it was discussed here once, I probably won't find it |
2021-12-01 13:55:59 +0100 | fr33domlover | (~fr33@2.53.150.205) (Ping timeout: 252 seconds) |
2021-12-01 13:56:13 +0100 | <dminuoso> | maerwald: I think you were missing a single word in that sentence somewhere. |
2021-12-01 13:56:22 +0100 | <dminuoso> | Either a `dont` in the first half or a `not` in the second |
2021-12-01 13:56:36 +0100 | <dminuoso> | Ops sorry. I meant merijn |
2021-12-01 13:56:59 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (Remote host closed the connection) |
2021-12-01 13:57:07 +0100 | <merijn> | dminuoso: No? |
2021-12-01 13:57:37 +0100 | <dminuoso> | You like tagless final for specific logic bits, *but* a specific stack for the majority of actual program code? |
2021-12-01 13:57:44 +0100 | <dminuoso> | Im not sure how to understand that sentence then |
2021-12-01 13:57:44 +0100 | <merijn> | yes |
2021-12-01 13:58:09 +0100 | <merijn> | dminuoso: i.e. most of the program logic *isn't* typeclass polymorphic, avoiding the lack of inlining problem you mentioned |
2021-12-01 13:58:32 +0100 | <dminuoso> | Ah. |
2021-12-01 13:58:36 +0100 | <merijn> | dminuoso: But I tend to have 3-4 different stacks (command line UI, batch job, etc.) |
2021-12-01 13:58:52 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) |
2021-12-01 13:58:57 +0100 | <merijn> | dminuoso: And tagless final for *specific* tasks (logging, database accesses, etc.) means I can reuse those in all 3-4 stacks |
2021-12-01 13:59:36 +0100 | <dminuoso> | Right |
2021-12-01 14:00:02 +0100 | <dminuoso> | So if you do this out of code sharing, that's a very different mindset than what the three-layer cake envisions. |
2021-12-01 14:00:07 +0100 | <dminuoso> | Which is mostly about mockability/testability |
2021-12-01 14:00:16 +0100 | <merijn> | I don't believe in mockability, tbh |
2021-12-01 14:00:20 +0100 | <dminuoso> | Yup, neither do I. |
2021-12-01 14:00:32 +0100 | <tomsmeding> | maerwald: talking about this thing? https://www.foxhound.systems/blog/final-tagless/ |
2021-12-01 14:00:41 +0100 | <dminuoso> | Because now you have to guarantee that your mock behaves the same way |
2021-12-01 14:00:42 +0100 | <merijn> | Mocks are a copout because you're either bad at engineering, bad at testing, or both |
2021-12-01 14:00:43 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-12-01 14:00:52 +0100 | <dminuoso> | There's certainly some types where you must mock for some reason or another. |
2021-12-01 14:01:06 +0100 | <dminuoso> | We had to mock an external API that was out of our control without access to a test API once |
2021-12-01 14:01:42 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 14:02:34 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 14:02:38 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-12-01 14:03:36 +0100 | <maerwald> | merijn: I think mocking is fine to test the logic that has little to do with the mocked stuff... but many times people use it in other ways |
2021-12-01 14:03:53 +0100 | <maerwald> | then you'll end up constantly trying to figure out why your tests pass, but the real application fails |
2021-12-01 14:06:06 +0100 | <dminuoso> | Plus, if all you did was to test business logic, perhaps keeping it separate and running a unit test would be better? |
2021-12-01 14:06:39 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-12-01 14:06:48 +0100 | <kuribas> | Square: yes, put it in a let. |
2021-12-01 14:07:00 +0100 | <kuribas> | let poly2 = poly1 "someArg" |
2021-12-01 14:07:30 +0100 | <maerwald> | tomsmeding: yeah, the more I read about tagless final, the less I understand what they want from me, so I largely just ignore it |
2021-12-01 14:07:43 +0100 | <kuribas> | Square: unless you have MonoLocalBinds. |
2021-12-01 14:07:52 +0100 | <kuribas> | Square: in that case, give an explicit type signature. |
2021-12-01 14:09:32 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 14:09:50 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 14:10:52 +0100 | <kuribas> | Square: "where" should work also |
2021-12-01 14:11:21 +0100 | <Square> | kuribas, hmm. I seem to have no luck with that. |
2021-12-01 14:11:33 +0100 | <kuribas> | Square: paste some code? |
2021-12-01 14:11:47 +0100 | <Square> | ok, give me minute |
2021-12-01 14:12:01 +0100 | <kuribas> | If you are using rank-n or other extensions, you may need an explicit signature. |
2021-12-01 14:12:07 +0100 | <arjun> | merijn: this really does look like mtl but not mtl (https://dev.to/piq9117/haskell-look-ma-no-concrete-implementation-32p8) |
2021-12-01 14:12:20 +0100 | <kuribas> | I believe GADTs enables monoLocalBinds. |
2021-12-01 14:12:57 +0100 | <merijn> | arjun: That's because mtl are tagless final, it's just that abstraction level of mtl is bad |
2021-12-01 14:13:46 +0100 | <arjun> | dminuoso: so if i understood about the inlining stuff, it's to do with writing typeclass polymorphic functions/code and not getting faster optimized code? |
2021-12-01 14:14:38 +0100 | <arjun> | also, what are the alternatives so that we CAN get the compiler love AND write general code ? |
2021-12-01 14:15:07 +0100 | <arjun> | merijn: i see |
2021-12-01 14:15:26 +0100 | <merijn> | arjun: I the compiler knows the *exact* type (i.e. not typeclass polymorphic) it can just inline the implementation of the relevant class, instead of keeping the typeclass indirection |
2021-12-01 14:16:03 +0100 | <arjun> | merijn: you mean *if* ? |
2021-12-01 14:16:09 +0100 | <merijn> | eh, yeah |
2021-12-01 14:16:11 +0100 | <dminuoso> | arjun: Something like `f :: Num t => t; f = 5` is internally not implemented as an actual value, but a function that takes a dictionary of Num, and then returns a value., |
2021-12-01 14:16:29 +0100 | <dminuoso> | arjun: Note how you have this sort of "function" indirection? |
2021-12-01 14:16:50 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (Remote host closed the connection) |
2021-12-01 14:16:53 +0100 | <dminuoso> | Without knowing the dictionary choice/the type of t beforehand, we cannot inline its definition |
2021-12-01 14:17:16 +0100 | <dminuoso> | its sort of how you cant inline the body of `\x -> x + 1` without having the argument to that function |
2021-12-01 14:17:32 +0100 | <arjun> | dictionary of Num? |
2021-12-01 14:17:35 +0100 | <Square> | kuribas, i feel theres too much context involved to produce a readable example in a short while when I *really* should focus on my job. Ill play with it and might ask again at later time. |
2021-12-01 14:17:39 +0100 | <arjun> | what shape does that look like? |
2021-12-01 14:17:45 +0100 | <dminuoso> | A record of values/functions |
2021-12-01 14:17:53 +0100 | <arjun> | ah, i see |
2021-12-01 14:18:10 +0100 | <arjun> | something like dynamic method dispatch in OO polymorphism |
2021-12-01 14:18:14 +0100 | <dminuoso> | Yes, exactly |
2021-12-01 14:18:34 +0100 | <arjun> | i always wondered how that worked |
2021-12-01 14:18:49 +0100 | <maerwald> | arjun: see https://youtu.be/0jI-AlWEwYI |
2021-12-01 14:19:05 +0100 | <merijn> | arjun: Note that that's an implementation detail of GHC, though :) |
2021-12-01 14:19:14 +0100 | <maerwald> | there's some explanation of inlining wrt classes |
2021-12-01 14:20:07 +0100 | <arjun> | maerwald: brownies,i've been dragging my feet on her content for so long, that video and the post "parse dont validate", i'll just carve out and afternoon for those |
2021-12-01 14:21:21 +0100 | <arjun> | dminuoso: so, i get it for the values, does that works the same way for typeclass polymorphic functions too? |
2021-12-01 14:21:51 +0100 | <merijn> | arjun: Yes |
2021-12-01 14:21:51 +0100 | <arjun> | something like `f :: (MonadIO m, MonadFail m, etc..)` |
2021-12-01 14:22:06 +0100 | <merijn> | arjun: Effectively they function as hidden arguments taking a dictionary of class functions |
2021-12-01 14:22:34 +0100 | <merijn> | arjun: Except, that when GHC statically knows which *actualy* type you use, inlining those dictionaries straight into the code is trivial |
2021-12-01 14:22:49 +0100 | <merijn> | So a lot of typeclass overhead/indirection can be trivially optimised away at compile time |
2021-12-01 14:22:56 +0100 | <arjun> | so those values and functions are general, but that comes at an inlining cost? |
2021-12-01 14:23:03 +0100 | <maerwald> | -fspecialize-aggressively to the rescue |
2021-12-01 14:23:31 +0100 | <dminuoso> | It's not even enough |
2021-12-01 14:23:35 +0100 | <arjun> | merijn: so if i write general code and not runtime call it, it's fine? |
2021-12-01 14:23:40 +0100 | <dminuoso> | You usually need this in conjunction with -fexpose-all-unfoldings |
2021-12-01 14:23:48 +0100 | <dminuoso> | and then watch compile time and memory usage skyrocket |
2021-12-01 14:24:21 +0100 | kennyd | (~bc8165b6@cerf.good1.com) (Quit: CGI:IRC (Ping timeout)) |
2021-12-01 14:24:25 +0100 | <merijn> | arjun: So, suppose you write "2 + 2" normally all those things are typeclass polymorphic |
2021-12-01 14:24:38 +0100 | <arjun> | sure |
2021-12-01 14:24:42 +0100 | <merijn> | arjun: But as soon as it's "2 + 2 :: Int" (via type inference for some function argument, whatever) |
2021-12-01 14:25:09 +0100 | <merijn> | arjun: GHC can trivially see "oh, this only uses the Int dictionary" and just inline all the dictionaries function calls straight into that removing all indirection |
2021-12-01 14:25:35 +0100 | <dminuoso> | arjun: Yes. In fact, there's some other subtleties involved as well. If you have something polymorphic, it cant be shared. That is, if you have `let x :: Num; x = expensiveExpr in (x * 10, x * 20)`, this will unexpectedly evaluate the expression of `x` twice |
2021-12-01 14:25:37 +0100 | <arjun> | so, fix the type either manually or via inference, win ? |
2021-12-01 14:25:53 +0100 | <merijn> | Which actually applies to a large number of typeclass calls, since probably >50% of all calls deal with statically known types |
2021-12-01 14:25:56 +0100 | <merijn> | arjun: basically |
2021-12-01 14:26:20 +0100 | <dminuoso> | arjun: And because the Haskell authors antipicated this, we have the monomorphism restriction, which will try to monomorphize (make them non-polymorphic) bindings without type signatures in most situations, to avoid performance problems creeping up |
2021-12-01 14:26:31 +0100 | <merijn> | arjun: And due to inference this can happen through large chunks of code at once via just 1 type signature somewhere |
2021-12-01 14:26:44 +0100 | <arjun> | maerwald: this is what we do with the ghcup code right? there's all sort of poly functions, but they get inferred with main invocations? |
2021-12-01 14:26:49 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-12-01 14:26:59 +0100 | <maerwald> | uhm |
2021-12-01 14:27:23 +0100 | <maerwald> | you mean `runReaderT` probably |
2021-12-01 14:27:25 +0100 | <maerwald> | etc |
2021-12-01 14:27:30 +0100 | <arjun> | merijn: wouldn't the compiler need to know the types anyway for typechecking ? |
2021-12-01 14:28:20 +0100 | <merijn> | arjun: the runtime invocation of any specific function can't always be statically known |
2021-12-01 14:28:23 +0100 | <arjun> | maerwald: yea, those in the main function which fix the logger and envs etc |
2021-12-01 14:28:42 +0100 | <maerwald> | yes, runE, runReaderT and runLogger mostly |
2021-12-01 14:28:48 +0100 | <arjun> | merijn: i see |
2021-12-01 14:28:49 +0100 | <maerwald> | and then there's LabelOptics tricks |
2021-12-01 14:28:55 +0100 | <merijn> | (don't ask me to conjure up an example, because I can't think of an easy one right now :p) |
2021-12-01 14:29:12 +0100 | <arjun> | HasDirs and stuff right? |
2021-12-01 14:29:38 +0100 | <maerwald> | yeah that allows to re-use the same api across different environments |
2021-12-01 14:30:04 +0100 | <dminuoso> | arjun: Consider that you can simply write a module that exposes a polymorphic function. GHC must be able to compile this module on its own, irrespective of whether something else uses it or not. |
2021-12-01 14:30:21 +0100 | <arjun> | merijn: that's alright, you've been quite a help already; ) |
2021-12-01 14:30:21 +0100 | <dminuoso> | So you cant know the used type(s!) beforehand |
2021-12-01 14:30:49 +0100 | <dminuoso> | And you cant know all possible typeclass instances either, because they might be defined somewhere else too |
2021-12-01 14:31:33 +0100 | <maerwald> | whole program optimization to the rescue |
2021-12-01 14:31:33 +0100 | <arjun> | dminuoso: THAT MAKES SO MUCH SENSE |
2021-12-01 14:33:55 +0100 | <dminuoso> | Sigh |
2021-12-01 14:33:57 +0100 | <dminuoso> | WARNING: /root/.cabal/: no matching files |
2021-12-01 14:34:28 +0100 | <dminuoso> | Is there a way to have cabal tell me where the cabal store is? |
2021-12-01 14:35:40 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-01 14:36:06 +0100 | sagax | (~sagax_nb@user/sagax) |
2021-12-01 14:36:13 +0100 | <maerwald> | https://hackage.haskell.org/package/cabal-install-parsers-0.4.3/docs/Cabal-Config.html |
2021-12-01 14:36:28 +0100 | <dminuoso> | Mmm |
2021-12-01 14:36:56 +0100 | <dminuoso> | Ah I think what happens is that gitlab ci cache can only operate on the current directory |
2021-12-01 14:37:04 +0100 | <dminuoso> | That could explain it |
2021-12-01 14:37:24 +0100 | <dminuoso> | Damn yes. |
2021-12-01 14:37:42 +0100 | <arjun> | dminuoso: just to solidify if i understood, TC polymorphic functions and values are ALWAYS compiled to ditcs redirects, but if you fix a type a compile time, the compiliers walks the redirection for you and basically kisses you on the forehead and inlines that code ? |
2021-12-01 14:38:08 +0100 | <maerwald> | whether something inlines or not depends on a lot more factors |
2021-12-01 14:38:33 +0100 | <arjun> | : P |
2021-12-01 14:38:39 +0100 | <dminuoso> | arjun: No. |
2021-12-01 14:38:57 +0100 | <dminuoso> | arjun: Honestly this is a long story and GHC has mechanisms to still inline polymorphic things. |
2021-12-01 14:40:02 +0100 | <arjun> | "long story" i bet, i sometimes forget haskell is older than the j word language |
2021-12-01 14:40:14 +0100 | jstolarek | (~jstolarek@137.220.120.162) (Ping timeout: 256 seconds) |
2021-12-01 14:40:16 +0100 | <dminuoso> | But put it this way: If you make it polymorphic, you dont have a good guarantee it will get inlined. If you make it polymorphic and specialize, you have a better chance of inlining. If you make it polymorphic, specialized and inlinable, you *guarantee* that GHC *can* inline it on the oother side |
2021-12-01 14:40:43 +0100 | <maerwald> | it also depends how you call the function |
2021-12-01 14:41:00 +0100 | <dminuoso> | (specialization here means, that alongside the definition, GHC will embed a secondary definition that assumes the polymorphic code to be fixed to some type known beforehand) |
2021-12-01 14:41:18 +0100 | <dminuoso> | (and then GHC can, on the other side, use the specialized implementation if in that spot it knows it to be that type) |
2021-12-01 14:41:26 +0100 | <maerwald> | you have to supply all "arguments" |
2021-12-01 14:41:39 +0100 | <dminuoso> | But really, this whole discussion can only go on with "read the GHC source code" at some point |
2021-12-01 14:41:51 +0100 | <maerwald> | yes, until the next GHC version |
2021-12-01 14:41:57 +0100 | <dminuoso> | It's very complicated and requires a lot of finesse, expertise and trial-and-error to control optimization |
2021-12-01 14:42:11 +0100 | <arjun> | got it (pun) |
2021-12-01 14:45:20 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-12-01 14:45:56 +0100 | max22- | (~maxime@2a01cb088335980011d3732a3bb127e3.ipv6.abo.wanadoo.fr) |
2021-12-01 14:48:00 +0100 | <yin> | is there a usual way of getting chunks between delimiters, like `f START END [0,1,2,START,3,4,END,5,START,6,7,8,END,9] => [[3,4],[6,7,8]]` ? |
2021-12-01 14:48:12 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2021-12-01 14:48:19 +0100 | <maerwald> | arjun: https://github.com/quchen/articles/blob/master/fbut.md#f-x---is-not-f--x--- |
2021-12-01 14:49:42 +0100 | narendra | (~user@2a02:8109:b63f:ff7c::56c2) (Remote host closed the connection) |
2021-12-01 14:49:46 +0100 | <arjun> | maerwald: that was helpful |
2021-12-01 14:51:17 +0100 | <arjun> | yin: some combination of, dropWhile Start, takeWhile (not End) perhaps ? |
2021-12-01 14:51:36 +0100 | <yin> | yes that's what i have |
2021-12-01 14:51:57 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-12-01 14:56:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 14:56:52 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 14:58:53 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-01 15:01:03 +0100 | Farzad | (~FarzadBek@37.98.106.66) (Quit: Leaving) |
2021-12-01 15:02:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 15:03:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 15:04:47 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 15:05:04 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 15:07:02 +0100 | max22- | (~maxime@2a01cb088335980011d3732a3bb127e3.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2021-12-01 15:08:01 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-12-01 15:08:42 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-01 15:11:55 +0100 | acidjnk_new | (~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2021-12-01 15:12:15 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-01 15:15:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 15:16:03 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-01 15:16:08 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 15:22:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 15:22:24 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 15:23:56 +0100 | <merijn> | hmmm |
2021-12-01 15:24:10 +0100 | <merijn> | why does incomplete-uni-patterns trigger on an explicitly lazy pattern? |
2021-12-01 15:25:21 +0100 | <dminuoso> | Curious, because they're even properly called irrefutable patterns. |
2021-12-01 15:25:47 +0100 | <dminuoso> | But I guess, add them to the long list of incomplete/incomplete-uni-patterns bugs? |
2021-12-01 15:26:24 +0100 | <merijn> | Well, the warning says it applies to lazy bindings too |
2021-12-01 15:26:29 +0100 | <merijn> | I dunno why it's on, though |
2021-12-01 15:28:19 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 15:28:37 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 15:30:17 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 15:30:34 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 15:31:27 +0100 | <merijn> | dminuoso: As far as I can tell it shouldn't be enabled by default (according to the docs) and it isn't on 8.0 through 9.0 |
2021-12-01 15:31:38 +0100 | <merijn> | So I'm confused why it is on in 9.2 |
2021-12-01 15:32:29 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2021-12-01 15:33:39 +0100 | Farzad | (~FarzadBek@37.98.106.66) |
2021-12-01 15:36:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 15:37:06 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 15:38:28 +0100 | dsrt^ | (~dsrt@68.101.58.90) (Remote host closed the connection) |
2021-12-01 15:40:05 +0100 | <yin> | is there a flip (.) ? |
2021-12-01 15:41:29 +0100 | <geekosaur> | @index (&) |
2021-12-01 15:41:29 +0100 | <lambdabot> | Data.Function |
2021-12-01 15:42:44 +0100 | <yin> | that's flip ($) |
2021-12-01 15:43:48 +0100 | <yushyin> | (>>>) |
2021-12-01 15:43:52 +0100 | <boxscape> | yin: Data.Category.>>> |
2021-12-01 15:43:58 +0100 | <boxscape> | oh I'm too late |
2021-12-01 15:44:23 +0100 | boxscape_ | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) |
2021-12-01 15:44:42 +0100 | <yushyin> | boxscape: only by a few seconds! |
2021-12-01 15:45:39 +0100 | <boxscape> | I'm always a bit unsure how long the matrix bridge will take to actually send a message |
2021-12-01 15:45:46 +0100 | <boxscape> | (I think there's some jitter, too) |
2021-12-01 15:46:04 +0100 | <yin> | that was it! thank you |
2021-12-01 15:46:19 +0100 | <merijn> | The answer is *drumroll* someone put in a proposal to enable incomplete-uni-patterns by default and didn't bother to update *any* of the docs! Yay! |
2021-12-01 15:47:09 +0100 | <yin> | boxscape: a couple of weeks ago i was hitting 2 hours |
2021-12-01 15:47:25 +0100 | <boxscape> | oh boy |
2021-12-01 15:48:25 +0100 | <yin> | i'm used to 20 secs when it's good, 2 mins when it' bad and 20 min when it's really bad |
2021-12-01 15:48:45 +0100 | <yin> | but many get lost |
2021-12-01 15:48:48 +0100 | <merijn> | Well, that kinda renders irrefutable patterns useless |
2021-12-01 15:49:20 +0100 | bsima | (~bsima@2604:a880:400:d0::19f1:7001) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-01 15:49:48 +0100 | max22- | (~maxime@2a01cb08833598008751b1889105ced7.ipv6.abo.wanadoo.fr) |
2021-12-01 15:49:55 +0100 | bsima | (~bsima@2604:a880:400:d0::19f1:7001) |
2021-12-01 15:50:35 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-01 15:50:43 +0100 | <boxscape> | merijn: you can always turn off the warning |
2021-12-01 15:50:53 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-01 15:50:54 +0100 | <geekosaur> | for the whole file, yes |
2021-12-01 15:51:04 +0100 | <merijn> | boxscape: Yes, but you can never do that for an individual irrefutable pattern |
2021-12-01 15:51:06 +0100 | <geekosaur> | https://gitlab.haskell.org/ghc/ghc/-/issues/20643 |
2021-12-01 15:51:19 +0100 | <geekosaur> | as merijn just pointed out in #ghc |
2021-12-01 15:51:33 +0100 | <merijn> | Also, I'm just grumpy because once *again* nobody updated the GHC flag reference |
2021-12-01 15:51:40 +0100 | <boxscape> | merijn: right, but it doesn't seem like adding it to -Wall made this part any worse |
2021-12-01 15:51:56 +0100 | <merijn> | Literally *every* *single* *time* I interact with flags someone has fucked up and not updated shit |
2021-12-01 15:52:20 +0100 | <merijn> | over 50% of my GHC issues are pointing out missing/undocumented flags >.> |
2021-12-01 15:52:22 +0100 | <yin> | when do we replace irrefutable patterns for proofs to the compiler |
2021-12-01 15:53:16 +0100 | <merijn> | boxscape: Well, I would've liked that problem to be solved before it got enabled unconditionally and I had to figure out how to selectively disable that flag for 1 compiler in my CI >.> |
2021-12-01 15:53:47 +0100 | <boxscape> | that's fair |
2021-12-01 15:54:02 +0100 | <merijn> | especially since I consider it a low value warning |
2021-12-01 15:54:20 +0100 | shapr` | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-12-01 15:54:47 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 15:54:47 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 15:54:47 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 15:56:11 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-12-01 15:57:40 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2021-12-01 16:00:17 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-12-01 16:05:43 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 16:06:01 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 16:06:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 16:06:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 16:08:01 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 16:08:35 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-01 16:08:35 +0100 | justache | (~justache@user/justache) (Ping timeout: 256 seconds) |
2021-12-01 16:09:27 +0100 | TranquilEcho | (~grom@user/tranquilecho) |
2021-12-01 16:12:55 +0100 | bliminse | (~bliminse@host86-162-147-196.range86-162.btcentralplus.com) (Quit: leaving) |
2021-12-01 16:16:14 +0100 | <merijn> | oh goodie |
2021-12-01 16:16:25 +0100 | <merijn> | someone broke operator sections for $ too |
2021-12-01 16:16:39 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-12-01 16:17:30 +0100 | <boxscape> | asking you if you want to enable template haskell? |
2021-12-01 16:17:42 +0100 | [exa] | . o O ((`id` function)) |
2021-12-01 16:18:06 +0100 | <merijn> | boxscape: That's a warning enabled by default now, so -Werror on CI breaks on that too |
2021-12-01 16:18:17 +0100 | <merijn> | So far, not particularly happy with 9.2 |
2021-12-01 16:19:09 +0100 | <merijn> | Way too many default enabled warnings that trigger on completely benign and correct haskell |
2021-12-01 16:19:37 +0100 | <boxscape> | I think the warning didn't exist at all before https://github.com/ghc-proposals/ghc-proposals/pull/229 |
2021-12-01 16:19:46 +0100 | justache | (~justache@user/justache) |
2021-12-01 16:19:48 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-01 16:19:49 +0100 | <merijn> | boxscape: It didn't no |
2021-12-01 16:20:28 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) (Quit: gone to sleep. ZZZzzz…) |
2021-12-01 16:21:15 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-01 16:22:08 +0100 | MaybeJustJames | (~jacol@2001:981:4ea3:1:a8b4:6ac6:c93b:9bcf) |
2021-12-01 16:23:01 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-01 16:24:30 +0100 | justache | (~justache@user/justache) (Ping timeout: 256 seconds) |
2021-12-01 16:24:39 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-01 16:24:39 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-01 16:24:39 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-01 16:25:01 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 16:25:23 +0100 | sheb | (~sheb@31.223.228.71) (Quit: Leaving) |
2021-12-01 16:25:43 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 16:28:02 +0100 | bliminse | (~bliminse@host86-162-147-196.range86-162.btcentralplus.com) |
2021-12-01 16:29:08 +0100 | justache | (~justache@user/justache) |
2021-12-01 16:29:36 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-01 16:29:57 +0100 | Vajb | (~Vajb@nalkaylds2h97nzof-2.v6.elisa-mobile.fi) |
2021-12-01 16:35:21 +0100 | dermato | (~dermatobr@cpe-70-114-219-76.austin.res.rr.com) (Quit: WeeChat 3.1) |
2021-12-01 16:39:35 +0100 | arjun | (~user@user/arjun) (Remote host closed the connection) |
2021-12-01 16:41:50 +0100 | justache | (~justache@user/justache) (Read error: Connection reset by peer) |
2021-12-01 16:42:01 +0100 | Farzad | (~FarzadBek@37.98.106.66) (Ping timeout: 256 seconds) |
2021-12-01 16:42:33 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Read error: Connection reset by peer) |
2021-12-01 16:42:51 +0100 | justache | (~justache@user/justache) |
2021-12-01 16:43:06 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-12-01 16:44:09 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) |
2021-12-01 16:50:43 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-01 16:53:09 +0100 | Guest|27 | (~Guest|27@cpea456cc4b1ddd-cma456cc4b1ddb.cpe.net.cable.rogers.com) |
2021-12-01 16:53:57 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) |
2021-12-01 16:54:31 +0100 | shapr` | shapr |
2021-12-01 17:02:34 +0100 | justache | justSleigh |
2021-12-01 17:04:39 +0100 | <eyJhb> | I am not sure, if this is possible. But I am trying to play a little around with ghci, and I somewhat thought it was comman that if I wrote ie. `length`, that it would show me the definition of it, instead of an error ie. https://termbin.com/2f7i |
2021-12-01 17:04:53 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-12-01 17:05:25 +0100 | <merijn> | eyJhb: ghci runs expressions through "show" to print them |
2021-12-01 17:05:35 +0100 | <merijn> | eyJhb: length is a function and there is no show isntance for functions |
2021-12-01 17:05:56 +0100 | <merijn> | eyJhb: That error is complaining "[a] -> Int" (the function type of length) doesn't have a show instance |
2021-12-01 17:05:59 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-01 17:06:43 +0100 | <geekosaur> | and at present there's no way for ghci to know the definition of a function. there is work on changing that via .hie files containing enough information to recover or find definitions, but it's not there yet nor does ghci know how to use it yet |
2021-12-01 17:06:44 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) (Quit: WeeChat 3.3) |
2021-12-01 17:06:55 +0100 | gaff | (~gaff@49.207.195.117) |
2021-12-01 17:08:10 +0100 | <gaff> | if a package is listed as package id in the package environment file (default), how can i remove that package? |
2021-12-01 17:08:13 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) |
2021-12-01 17:08:14 +0100 | <eyJhb> | Okay :) Guess I just thought it wold return "the function", and show that it still accepts args, 1, 2, 3. |
2021-12-01 17:08:51 +0100 | <merijn> | eyJhb: Did you maybe want ":type"? |
2021-12-01 17:08:54 +0100 | <merijn> | :t length |
2021-12-01 17:08:55 +0100 | <lambdabot> | Foldable t => t a -> Int |
2021-12-01 17:09:01 +0100 | <merijn> | :t length [] |
2021-12-01 17:09:02 +0100 | <lambdabot> | Int |
2021-12-01 17:09:18 +0100 | <geekosaur> | % :t length @[] |
2021-12-01 17:09:18 +0100 | <yahb> | geekosaur: [a] -> Int |
2021-12-01 17:09:22 +0100 | <eyJhb> | Hmm... Yeah, that's actually what I excected it to show! Thanks :) |
2021-12-01 17:09:47 +0100 | <geekosaur> | > length |
2021-12-01 17:09:49 +0100 | <lambdabot> | error: |
2021-12-01 17:09:49 +0100 | <lambdabot> | • No instance for (Typeable a0) |
2021-12-01 17:09:49 +0100 | <lambdabot> | arising from a use of ‘show_M78435480957096341498’ |
2021-12-01 17:09:50 +0100 | <eyJhb> | Trying to do some basic advent of code using Haskell. And sorting in the Haskell learning material that I got |
2021-12-01 17:10:05 +0100 | <merijn> | Nice :) |
2021-12-01 17:10:08 +0100 | <geekosaur> | didn't think that would work, polymorphism's a bit much for ghci's show-functions hack |
2021-12-01 17:10:12 +0100 | <merijn> | See also the leaderboard in the topic :) |
2021-12-01 17:10:55 +0100 | <geekosaur> | er, lambdabot's. I don't think it's packaged in a way you could use it with ghci |
2021-12-01 17:11:14 +0100 | <geekosaur> | at least I couldn't find the lambdabot module when I went looking for it the other day |
2021-12-01 17:11:24 +0100 | <boxscape> | > ord |
2021-12-01 17:11:25 +0100 | <lambdabot> | <Char -> Int> |
2021-12-01 17:12:23 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-12-01 17:12:58 +0100 | <gaff> | the package id is listed in the file named "default" |
2021-12-01 17:13:25 +0100 | <merijn> | gaff: You used "cabal install --lib", I guess? |
2021-12-01 17:13:33 +0100 | <gaff> | yeah |
2021-12-01 17:13:42 +0100 | <gaff> | i did |
2021-12-01 17:13:50 +0100 | <merijn> | I think you can just nuke the line from the file, tbh |
2021-12-01 17:14:50 +0100 | <tomsmeding> | geekosaur: isn't it something like 'instance {-# OVERLAPPABLE #-} (Typeable a, Typeable b) => Show (a -> b) where ...'? |
2021-12-01 17:14:52 +0100 | <gaff> | merijn: i tried that, but GHCi still finds the package, although it complains that it is now hidden |
2021-12-01 17:15:04 +0100 | <geekosaur> | probably, yes |
2021-12-01 17:15:08 +0100 | <merijn> | gaff: Is there a .ghc.environment in your working dir? |
2021-12-01 17:15:18 +0100 | <gaff> | i want to get rid off the package altogether |
2021-12-01 17:15:34 +0100 | <gaff> | no |
2021-12-01 17:15:44 +0100 | <geekosaur> | but I was hoping to find the actual module and verify. sadly I could find the import in L.hs but not the module itself |
2021-12-01 17:15:49 +0100 | <gaff> | this "default" file is in the global location |
2021-12-01 17:16:19 +0100 | <gaff> | .ghc/.../environments/default |
2021-12-01 17:16:21 +0100 | <merijn> | gaff: tbh, there's no real convenient way to "uninstall" specific packages atm, but you also shouldn't really need to in general |
2021-12-01 17:16:45 +0100 | <geekosaur> | just edit the file |
2021-12-01 17:17:01 +0100 | <geekosaur> | or better yet, nuke it and let cabal or stack manage packages for you |
2021-12-01 17:17:01 +0100 | <eyJhb> | merijn: I think I have been invited to 3x leaderboards so far :D Nix community, and some from University :D |
2021-12-01 17:17:06 +0100 | <gaff> | ok ... i am kind of surprised |
2021-12-01 17:17:10 +0100 | <merijn> | geekosaur: I already said that |
2021-12-01 17:17:56 +0100 | <merijn> | gaff: There's some tools for "GCing" the global store, but it's surprisingly tricky to do properly |
2021-12-01 17:18:05 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2b1a:1927:b5c5:1912) (Quit: WeeChat 2.8) |
2021-12-01 17:18:09 +0100 | <gaff> | merijn: where exactly would this package be? i tried a ghc-pkg find-module, but it didn't find it anywhere |
2021-12-01 17:18:23 +0100 | <gaff> | but strangely, GHCi, finds it |
2021-12-01 17:18:26 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-01 17:18:32 +0100 | <merijn> | tbh, I haven't used the global package db since 2016 so I kinda forgot |
2021-12-01 17:18:41 +0100 | <gaff> | merijn: |
2021-12-01 17:19:02 +0100 | <merijn> | The global store is under .cabal/store, but I don't think global installs (i.e. with --lib) use the store |
2021-12-01 17:19:15 +0100 | <gaff> | i don't want to use the global db either, but i was just experimenting with something |
2021-12-01 17:19:19 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (Remote host closed the connection) |
2021-12-01 17:19:26 +0100 | <geekosaur> | last I checked, they did and the environment file points into the store |
2021-12-01 17:20:08 +0100 | <geekosaur> | last time I read through and nuked the env, which was while I was experimenting with updating cabal installation for xmonad |
2021-12-01 17:20:15 +0100 | <gaff> | geekosaur: you mean the "default" file where the package ids are listed? |
2021-12-01 17:20:20 +0100 | <geekosaur> | yes |
2021-12-01 17:20:30 +0100 | <gaff> | nuke the "default" file? |
2021-12-01 17:20:46 +0100 | zebrag | (~chris@user/zebrag) |
2021-12-01 17:21:31 +0100 | <geekosaur> | well. go through it and figure out what packages you'll need in the future. but cabal should already have them in its store, so yoou'll just have to update how you're using them to use the v2-* commands instead of v1-* |
2021-12-01 17:21:41 +0100 | <geekosaur> | then nuke it because it just causes pain |
2021-12-01 17:22:07 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-12-01 17:22:17 +0100 | <geekosaur> | also, you'll want a cabal file and cabal repl because things will stop working in plain ghci. if you really need plain ghci to work then edit the environment to remove the package(s) you don't want |
2021-12-01 17:22:35 +0100 | <geekosaur> | but I'd really recommend moving away from that because environment files are such a pain |
2021-12-01 17:23:01 +0100 | TranquilEcho | (~grom@user/tranquilecho) (Ping timeout: 268 seconds) |
2021-12-01 17:23:11 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-12-01 17:23:12 +0100 | <sclv> | to answer the specific question you can literally delete the line from the package env file to remove the package |
2021-12-01 17:23:33 +0100 | <merijn> | sclv: But already said that, and that supposedly didn't work? |
2021-12-01 17:23:34 +0100 | <gaff> | geekosaur: yeah, i don't want to fiddle around with global stuff, i was just experimenting with something |
2021-12-01 17:23:39 +0100 | MaybeJustJames | (~jacol@2001:981:4ea3:1:a8b4:6ac6:c93b:9bcf) (Remote host closed the connection) |
2021-12-01 17:23:46 +0100 | TranquilEcho | (~grom@user/tranquilecho) |
2021-12-01 17:23:52 +0100 | <sclv> | oh i see |
2021-12-01 17:24:03 +0100 | <sclv> | ok, i imagine that would be because there's something else that's a transitive dep on it? |
2021-12-01 17:24:15 +0100 | <geekosaur> | or because they didn't restart ghci afterward |
2021-12-01 17:24:25 +0100 | <geekosaur> | maybe |
2021-12-01 17:24:44 +0100 | <gaff> | sclv: even if delete the line from the denv file, GHCi still finds the package, although now it complains that the package is hidden. |
2021-12-01 17:24:56 +0100 | <sclv> | gaff: is there any other package that has that package as a dep? |
2021-12-01 17:24:59 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 252 seconds) |
2021-12-01 17:25:05 +0100 | <gaff> | no |
2021-12-01 17:25:15 +0100 | <sclv> | well, then that shouldn't happen |
2021-12-01 17:26:03 +0100 | <sclv> | if you want to pastebin the error that could be useufl |
2021-12-01 17:26:19 +0100 | <geekosaur> | could it be in the old user package db, perhaps? |
2021-12-01 17:26:22 +0100 | <gaff> | also, GHCi suggests `:set` command to make the package visible as well |
2021-12-01 17:26:36 +0100 | <geekosaur> | @where paste |
2021-12-01 17:26:36 +0100 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2021-12-01 17:27:11 +0100 | reumeth | (~reumeth@user/reumeth) |
2021-12-01 17:27:18 +0100 | <gaff> | Could not load module ‘QuickCheck1’, It is a member of the hidden package ‘qcheck-original-0.1.0.0’. You can run ‘:set -package qcheck-original’ to expose it. |
2021-12-01 17:27:56 +0100 | <gaff> | that's the error message from GHCi |
2021-12-01 17:28:12 +0100 | Farzad | (~FarzadBek@5.234.246.252) |
2021-12-01 17:28:35 +0100 | <gaff> | now in the code that GHCi runs, there is an "import QuickCheck1" statement |
2021-12-01 17:28:37 +0100 | <sclv> | so you're trying to load a module from a package you don't have in your env file |
2021-12-01 17:28:43 +0100 | <sclv> | and you get an error |
2021-12-01 17:28:47 +0100 | <gaff> | yeah |
2021-12-01 17:28:47 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-12-01 17:28:56 +0100 | <sclv> | that seems like expected behavior, except the wording in the error may confuse you? |
2021-12-01 17:28:57 +0100 | siers | (~ij@user/ij) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-01 17:29:03 +0100 | alzgh | (~alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-12-01 17:29:12 +0100 | <sclv> | like... if you try to load the module, but the package isn't in the env, you _should_ get some error |
2021-12-01 17:29:31 +0100 | <EvanR> | I just noticed in the ghc manual it says "If you think an error message is especially terrible, report it as a bug" xD |
2021-12-01 17:29:45 +0100 | kennyd | (~bc8165b6@cerf.good1.com) |
2021-12-01 17:30:46 +0100 | <gaff> | sclv: the problem here is that even though i deleted the package id from the env file, if i do the `:set` command suggested by GHCi, the package loads and things work fine. what i wanted was to delete the package completely. |
2021-12-01 17:31:00 +0100 | <sclv> | why |
2021-12-01 17:31:39 +0100 | <gaff> | because that package is installed globally by me (as an experiment) and i wanted to remove it |
2021-12-01 17:31:48 +0100 | <sclv> | ok well in an important sense you can't |
2021-12-01 17:31:56 +0100 | <sclv> | because you can't delete individual packages from the store |
2021-12-01 17:31:56 +0100 | <gaff> | sclv: i see |
2021-12-01 17:32:04 +0100 | <sclv> | you can just expose them or not in a package environment |
2021-12-01 17:32:23 +0100 | <gaff> | sclv: is that by design? |
2021-12-01 17:32:28 +0100 | <sclv> | yes, ish |
2021-12-01 17:32:31 +0100 | <sclv> | the store is just a cache |
2021-12-01 17:32:44 +0100 | <sclv> | ideally we'd have a garbage-collect for it |
2021-12-01 17:32:52 +0100 | <sclv> | but it would need to have gc roots and chase transitive deps, etc |
2021-12-01 17:32:52 +0100 | <gaff> | ok |
2021-12-01 17:33:00 +0100 | <sclv> | and nobody's written that |
2021-12-01 17:33:05 +0100 | <gaff> | i see |
2021-12-01 17:33:14 +0100 | <sclv> | so the store just accumulates stuff, and eventually if people really want to they nuke it on occasion |
2021-12-01 17:33:22 +0100 | <sclv> | but since its a cache, thats fine and it fills up again |
2021-12-01 17:33:23 +0100 | <merijn> | You'd also somehow have to find all packages on someone's filesystem to determine what is needed or not |
2021-12-01 17:33:40 +0100 | <merijn> | gaff: Personally I just nuke the global store once or twice a year (or if I upgrade GHC) |
2021-12-01 17:33:53 +0100 | <gaff> | sclv: another weird thing is that if i do a serach using `find-module`, ghc-pkg is unable to find that package anywhere! |
2021-12-01 17:33:54 +0100 | <sclv> | this is not qualitatively different from v1-build i will note |
2021-12-01 17:34:17 +0100 | pfurla | (~pfurla@201.17.118.230) |
2021-12-01 17:34:23 +0100 | <sclv> | ghc's never had robust support for deleting a package from a db, just for hiding it |
2021-12-01 17:34:36 +0100 | <merijn> | gaff: The "worst case" of nuking the global store is "every time you go to a new project after nuking the store, you will have to recompile your dependencies" |
2021-12-01 17:34:49 +0100 | <merijn> | But that's a pretty minor issue if you only do it once or twice a year |
2021-12-01 17:34:53 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-12-01 17:35:03 +0100 | <geekosaur> | gaff, ghc-pkg is unaware of environment files. I wonder if you have another one somewhere |
2021-12-01 17:35:12 +0100 | <gaff> | merijn: yeah, i know ... i am not going there ... trust me. this was just an experiment |
2021-12-01 17:35:26 +0100 | <merijn> | gaff: So, ghc-pkg interfaces with a static "package database", but that's kinda...limiting and let to lots of issues |
2021-12-01 17:35:31 +0100 | <geekosaur> | (there's a ghc bug open about that iirc) |
2021-12-01 17:35:57 +0100 | <merijn> | gaff: In the v2-world order, there is no longer a package database for ghc-pkg, instead cabal (dynamically) generates a unique package database for each project |
2021-12-01 17:36:26 +0100 | <merijn> | gaff: So each project can only see the packages relevant to that specific project (allowing you to have conflicting versions, configurations, etc.) of packages installed at the same time |
2021-12-01 17:36:51 +0100 | <gaff> | merijn: when you say global store, the ~.cabal/store? |
2021-12-01 17:37:14 +0100 | <merijn> | yes |
2021-12-01 17:37:17 +0100 | <gaff> | ok |
2021-12-01 17:38:10 +0100 | <gaff> | merijn: yeah, currently i am working using cabal v2-builds on every project. not using global store at all |
2021-12-01 17:39:45 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 17:39:56 +0100 | <merijn> | Eh, v2 uses the global store rather heavily. There was no global store pre-v2 :p The global store, however, is different from the global package db (which was used pre-v2 and now mostly obsolete) |
2021-12-01 17:39:59 +0100 | <gaff> | merijn: one point ... using the nix style, it does cache the packages so that they can be shared between projects if needed. but you are right -- no conflicts whatsoever |
2021-12-01 17:40:28 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-12-01 17:41:54 +0100 | <gaff> | merijn: so the experiment i tried where i have a package id listed in the global environment file -- that is a legacy from the old style of global package db? |
2021-12-01 17:42:44 +0100 | alzgh | (alzgh@user/alzgh) |
2021-12-01 17:42:53 +0100 | <merijn> | gaff: That tries to mimic the global package db by having an environment that points to a few specific things in the store. Which is why nuking things in the environment file "gets rid off them" |
2021-12-01 17:43:07 +0100 | <gaff> | ok |
2021-12-01 17:43:26 +0100 | <merijn> | but because the global environment affects everything, it now messes with every individual project, iirc |
2021-12-01 17:43:36 +0100 | <gaff> | yeah |
2021-12-01 17:44:42 +0100 | <gaff> | so nuking the line in the file is enough? or do i need to nuke the entire file? or nuke the entire global store, ~/.cabal/store? |
2021-12-01 17:44:54 +0100 | <merijn> | just nuking the line in the file is enough |
2021-12-01 17:45:02 +0100 | <gaff> | merijn: cool |
2021-12-01 17:45:09 +0100 | <gaff> | merijn: thanks much |
2021-12-01 17:45:12 +0100 | <merijn> | You'll still have the package in the store, but besides a bit of disk space that shouldn't affect anything |
2021-12-01 17:45:49 +0100 | <gaff> | yeah, i need to remember to work using cabal projects |
2021-12-01 17:45:58 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-12-01 17:46:50 +0100 | <monochrom> | I think that saying "store" is less confusing than saying "global store". |
2021-12-01 17:48:26 +0100 | <monochrom> | This is a consideration based on Hamming distance and the human mind always trying to "auto-correct" words and phrases. |
2021-12-01 17:49:08 +0100 | <c_wraith> | Also, "global" used to mean "for all users of the system" in some cases. |
2021-12-01 17:49:09 +0100 | <monochrom> | "store" is very far from "global db", but "global store" is closer. |
2021-12-01 17:50:08 +0100 | <monochrom> | When the human mind reckons "eh I haven't seen the word 'store' used like this", it goes "ah but I have seen 'db', so let me just pretend you said 'db'". |
2021-12-01 17:51:29 +0100 | <davean> | monochrom: Some people's mind do that - I tend to dislike those people |
2021-12-01 17:51:43 +0100 | <davean> | This seems to very much be a personality thing |
2021-12-01 17:52:04 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2021-12-01 17:53:47 +0100 | <monochrom> | But it also has its value. There are a large class of typos that I can make and you can auto-correct on, and your auto-correction is correct. |
2021-12-01 17:54:39 +0100 | <monochrom> | There are acronyms like "kthxbye" "weg" that you can guess correctly without being taught. |
2021-12-01 17:55:11 +0100 | <gaff> | monochrom: also the human mind can be made to believe anything ... one thing now, another thing next ... which is why you see so many contradictory views. anyway, what i am saying is unrelated to haskell ... just something general. |
2021-12-01 17:55:21 +0100 | <monochrom> | When comprehending a large code base, there are large chunks of code you don't carefully read but you correct guess what they're doing and you quickly move on. |
2021-12-01 17:55:53 +0100 | <davean> | only one of thsoe was an acronym BTW |
2021-12-01 17:56:24 +0100 | <EvanR> | the generalities have gone beyond haskell now |
2021-12-01 17:56:49 +0100 | <EvanR> | did we figure out the #haskell AoC leaderboard yet? |
2021-12-01 17:57:10 +0100 | <gaff> | thanks much for the help |
2021-12-01 17:57:15 +0100 | gaff | (~gaff@49.207.195.117) () |
2021-12-01 17:57:27 +0100 | <geekosaur> | see the /topic |
2021-12-01 17:58:05 +0100 | <geekosaur> | I saw the topic change but nothing else so I assume The Guy caught the earlier discussion and updated it |
2021-12-01 17:58:46 +0100 | <EvanR> | oh nice, I'm already there! |
2021-12-01 17:58:58 +0100 | <merijn> | It's the same as the last 2 years, yeah |
2021-12-01 18:00:41 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-12-01 18:02:39 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Remote host closed the connection) |
2021-12-01 18:02:42 +0100 | <EvanR> | to get a high score on the leaderboard, you not only have to be quick, but you have to be awake at midnight? xD |
2021-12-01 18:03:16 +0100 | <monochrom> | Or move to a more advantageous time zone. |
2021-12-01 18:03:21 +0100 | <EvanR> | oh yeah |
2021-12-01 18:04:24 +0100 | <merijn> | They open at 6 AM here |
2021-12-01 18:04:27 +0100 | <merijn> | and fuck that :p |
2021-12-01 18:04:36 +0100 | <EvanR> | that's even worse |
2021-12-01 18:04:53 +0100 | <monochrom> | "The best way to win is not to play" |
2021-12-01 18:05:17 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-01 18:05:32 +0100 | td_ | (~td@muedsl-82-207-238-025.citykom.de) (Remote host closed the connection) |
2021-12-01 18:06:25 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-12-01 18:09:29 +0100 | jncraton | (~jncraton@199.8.13.16) |
2021-12-01 18:10:16 +0100 | aman | (~aman@user/aman) |
2021-12-01 18:11:16 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-01 18:12:43 +0100 | Techcable_ | Techcable |
2021-12-01 18:13:02 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-01 18:13:19 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-12-01 18:13:59 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) |
2021-12-01 18:17:18 +0100 | |beowulf| | (1000@sourcemage/mage/beowulf) |
2021-12-01 18:17:26 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 18:17:36 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Quit: Leaving) |
2021-12-01 18:19:37 +0100 | aman | (~aman@user/aman) (Quit: aman) |
2021-12-01 18:22:01 +0100 | srk | (~sorki@user/srk) (Ping timeout: 245 seconds) |
2021-12-01 18:22:11 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 252 seconds) |
2021-12-01 18:24:31 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
2021-12-01 18:26:29 +0100 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2021-12-01 18:26:44 +0100 | kmein | (~weechat@user/kmein) |
2021-12-01 18:28:17 +0100 | <EvanR> | doing "quick one off" haskell "scripts" is the only time I encounter the no type signatures version of haskell, very cool |
2021-12-01 18:28:38 +0100 | <EvanR> | and tricky, had to put (read :: String -> Int) in there |
2021-12-01 18:29:59 +0100 | <EvanR> | I always put signatures on everything, so I don't know how to explain monomorphism restriction to someone who encountered it xD |
2021-12-01 18:30:08 +0100 | <boxscape> | EvanR: shorter: read @Int |
2021-12-01 18:31:02 +0100 | <EvanR> | ok... but you'd have to add a language pragma right, and anyone who sees that and doesn't know haskell will increase their weird syntax defcon level by 1 |
2021-12-01 18:31:49 +0100 | <boxscape> | possibly |
2021-12-01 18:32:02 +0100 | <boxscape> | I think it's enabled by default in the newest version of ghc |
2021-12-01 18:32:05 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-12-01 18:32:43 +0100 | <EvanR> | I only understand how @Int works by smashing my head on Idris so much |
2021-12-01 18:32:49 +0100 | <EvanR> | with implicit params |
2021-12-01 18:33:14 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2021-12-01 18:33:58 +0100 | <yushyin> | boxscape: TypeApplications is in GHC2021, yes. |
2021-12-01 18:34:21 +0100 | <tomsmeding> | TIL GHC2021 is actually the default language in HEAD at this point |
2021-12-01 18:35:00 +0100 | <boxscape> | tomsmeding: to be fair you might not even notice if you use cabal or stack since I think the default in the .cabal file is still Haskell2010 |
2021-12-01 18:35:44 +0100 | <tomsmeding> | yeah |
2021-12-01 18:36:43 +0100 | FarzadBekran_ | (~FarzadBek@94.74.153.122) |
2021-12-01 18:37:54 +0100 | <pragma-> | I concur. |
2021-12-01 18:38:29 +0100 | <merijn> | boxscape: Haskell98 unless you use a recent cabal-version |
2021-12-01 18:38:32 +0100 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) (Quit: Rebooting for OS update...) |
2021-12-01 18:38:46 +0100 | <boxscape> | hm okay |
2021-12-01 18:39:11 +0100 | <geekosaur> | tomsmeding, it's also the default in 9.2.1 |
2021-12-01 18:39:18 +0100 | mbuf | (~Shakthi@27.58.139.230) (Quit: Leaving) |
2021-12-01 18:39:18 +0100 | <merijn> | actually, the version doesn't mention any change, so looks like Haskell98 in all cabal versions |
2021-12-01 18:39:37 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 18:39:53 +0100 | Farzad | (~FarzadBek@5.234.246.252) (Ping timeout: 256 seconds) |
2021-12-01 18:40:25 +0100 | <merijn> | ah, no, in 3.4 the default-language is optional and set to the compiler's default...so that's a terrible idea |
2021-12-01 18:40:25 +0100 | <sclv> | right, i think that cabal init will tend to add Haskell2010 when you init, however |
2021-12-01 18:40:30 +0100 | <sclv> | oh wait, ugh |
2021-12-01 18:40:39 +0100 | <merijn> | Who thought that was a good idea |
2021-12-01 18:40:40 +0100 | <tomsmeding> | "default in cabal files" for me is "whatever is in the last project that I happen to copy the .cabal file from" :p |
2021-12-01 18:40:43 +0100 | <sclv> | well, both can be true :-) |
2021-12-01 18:41:01 +0100 | <sclv> | (i.e. that cabal init gives it explicitly, and also the spec has this silly floating default) |
2021-12-01 18:41:37 +0100 | <davean> | merijn: Not true? |
2021-12-01 18:41:39 +0100 | <boxscape> | cabal init sets it to Haskell2010 in cabal 3.6 for me |
2021-12-01 18:41:45 +0100 | <merijn> | davean: What is not true? |
2021-12-01 18:41:46 +0100 | <boxscape> | oh sclv said as much |
2021-12-01 18:41:51 +0100 | <davean> | merijn: Your claim about 3.4 |
2021-12-01 18:42:07 +0100 | <merijn> | davean: https://cabal.readthedocs.io/en/latest/file-format-changelog.html#cabal-version-3-4 |
2021-12-01 18:42:14 +0100 | <merijn> | davean: Well, the docs disagree with you there :p |
2021-12-01 18:42:37 +0100 | <davean> | Its just ... false. Thats not how cabal init behaves, it puts in default-language: |
2021-12-01 18:42:40 +0100 | <davean> | Haskell2010 |
2021-12-01 18:42:44 +0100 | <merijn> | hold on |
2021-12-01 18:42:51 +0100 | <boxscape> | I don't think the docs are talking about cabal init |
2021-12-01 18:43:00 +0100 | <merijn> | cabal init and the version of your cabal executable are entirely unrelated to what I'm saying |
2021-12-01 18:43:03 +0100 | <boxscape> | they're talking about what the value is if your cabal file doesn't have default-language |
2021-12-01 18:43:12 +0100 | <merijn> | davean: Neither was I? |
2021-12-01 18:43:12 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 18:43:20 +0100 | <davean> | ok |
2021-12-01 18:43:22 +0100 | <merijn> | Also, cabal init default to 2.4, iirc |
2021-12-01 18:43:30 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
2021-12-01 18:43:35 +0100 | <merijn> | In which version the default language is not optional |
2021-12-01 18:44:11 +0100 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) |
2021-12-01 18:44:30 +0100 | <davean> | merijn: sorry, I'd thought you were refering to the conversation around it, not making a seperate statement |
2021-12-01 18:45:06 +0100 | <davean> | (Specificly you'd said 'cabal', not 'Cabal' right before it) |
2021-12-01 18:47:21 +0100 | <pragma-> | So the cabal package manager can never be at the beginning of a sentence. |
2021-12-01 18:47:48 +0100 | <davean> | pragma-: why is that? |
2021-12-01 18:47:49 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-01 18:47:55 +0100 | <merijn> | davean: The capitalisation ;) |
2021-12-01 18:48:09 +0100 | <davean> | merijn: you just don't capitalize it at the start of a sentance |
2021-12-01 18:48:15 +0100 | <geekosaur> | well, you can stil refer to it as cabal-install |
2021-12-01 18:48:16 +0100 | <sclv> | wow you're really capitalizing on this confusion here |
2021-12-01 18:48:29 +0100 | <monochrom> | I violate the capitalization convention when in this kind of situations. |
2021-12-01 18:48:47 +0100 | <EvanR> | does Haskell2010 enable new things by default like this new "standard" does? |
2021-12-01 18:48:49 +0100 | <monochrom> | "t is a type variable" rather than "T is a type variable" |
2021-12-01 18:49:10 +0100 | <monochrom> | Also not bothering with the trick of "The t there is a type variable". |
2021-12-01 18:49:33 +0100 | <EvanR> | to be super proper should t be in quotes or another font xD |
2021-12-01 18:49:41 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 252 seconds) |
2021-12-01 18:49:42 +0100 | <monochrom> | But I know that there are English grammatists who go out of their way to do rewording like that. |
2021-12-01 18:49:52 +0100 | <davean> | The only language standard I know to get the start of a sentance wrong is APA, and I don't even think they'd agree with their own rules if they thought about them |
2021-12-01 18:50:06 +0100 | <Hecate> | perl is also something like this |
2021-12-01 18:50:16 +0100 | <Hecate> | perl -> the cli tool (so really perl(1)) |
2021-12-01 18:50:19 +0100 | <Hecate> | Perl -> the language |
2021-12-01 18:50:25 +0100 | <monochrom> | And sclv: haha |
2021-12-01 18:50:29 +0100 | <boxscape> | EvanR: differences to Haskell98: FFI, Hierarchical module names, Pattern guards, no n+k patterns. Though I believe ghc lets you use pattern guards even with Haskell98 |
2021-12-01 18:50:42 +0100 | <EvanR> | Haskell the language, haskell the cli tool, wait that would be cool |
2021-12-01 18:50:56 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-12-01 18:51:26 +0100 | <EvanR> | what about FFI? |
2021-12-01 18:51:30 +0100 | srk | (~sorki@user/srk) |
2021-12-01 18:51:53 +0100 | <EvanR> | how does that pertain to the language |
2021-12-01 18:51:59 +0100 | <monochrom> | Well, "runhaskell" comes close. |
2021-12-01 18:52:16 +0100 | <EvanR> | runHaskell xD |
2021-12-01 18:52:21 +0100 | <monochrom> | haha |
2021-12-01 18:52:30 +0100 | <monochrom> | I hate camel case too. |
2021-12-01 18:52:35 +0100 | <Franciman> | run_haskell |
2021-12-01 18:52:35 +0100 | <sclv> | FFI was an appendix to haskell98, but incorporated in 2010 |
2021-12-01 18:52:37 +0100 | <Franciman> | ? |
2021-12-01 18:52:47 +0100 | <EvanR> | caps lock everything was a simpler time |
2021-12-01 18:52:48 +0100 | <boxscape> | EvanR: you can write things like "foreign import" in a Haskell source file |
2021-12-01 18:52:54 +0100 | <sclv> | that said in GHC, h98 and h2010 both have the ffi enabled |
2021-12-01 18:52:59 +0100 | <EvanR> | boxscape, oooh ok |
2021-12-01 18:53:09 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-12-01 18:53:16 +0100 | td_ | (~td@muedsl-82-207-238-021.citykom.de) |
2021-12-01 18:53:55 +0100 | <EvanR> | there are too many conventions for writing multiple words as one. Obviously we can fix it all by inventing new tech that lets you just use spaces |
2021-12-01 18:54:24 +0100 | <EvanR> | (or reviving old old tech that had this) |
2021-12-01 18:54:30 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-12-01 18:54:30 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-12-01 18:54:33 +0100 | allbery_b | geekosaur |
2021-12-01 18:54:33 +0100 | <boxscape> | that tech is called "not using ASCII files to represent ASTs" |
2021-12-01 18:54:41 +0100 | <davean> | EvanR: Just out in non-breaking spaces |
2021-12-01 18:54:45 +0100 | <EvanR> | lol |
2021-12-01 18:54:58 +0100 | <monochrom> | "Space, the final frontier" |
2021-12-01 18:55:00 +0100 | <EvanR> | not using text files is one way I guess but no |
2021-12-01 18:55:11 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 256 seconds) |
2021-12-01 18:55:45 +0100 | <monochrom> | Can Programming Be Liberated from The Plain Text File |
2021-12-01 18:56:13 +0100 | <EvanR> | I didn't want to open that can |
2021-12-01 18:57:14 +0100 | <pragma-> | monochrom: certainly! https://www.dangermouse.net/esoteric/piet/samples.html |
2021-12-01 18:59:38 +0100 | <monochrom> | The Cödel Incompleteness Theorem |
2021-12-01 19:03:03 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 19:04:51 +0100 | jncraton | (~jncraton@199.8.13.16) (Quit: leaving) |
2021-12-01 19:05:05 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 252 seconds) |
2021-12-01 19:06:50 +0100 | <EvanR> | is there a Piet on a Parasail (webframework) |
2021-12-01 19:07:17 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Ping timeout: 252 seconds) |
2021-12-01 19:08:27 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) |
2021-12-01 19:09:21 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 19:13:04 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-01 19:13:43 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-01 19:13:53 +0100 | td_ | (~td@muedsl-82-207-238-021.citykom.de) (Ping timeout: 256 seconds) |
2021-12-01 19:13:57 +0100 | gabriel | (~gabriel@188-167-229-200.dynamic.chello.sk) |
2021-12-01 19:14:07 +0100 | gabriel | gabriel_sevecek |
2021-12-01 19:15:30 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-12-01 19:15:43 +0100 | td_ | (~td@94.134.91.22) |
2021-12-01 19:15:48 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-01 19:23:07 +0100 | Guest1723 | (~Guest17@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-01 19:27:36 +0100 | alx741 | (~alx741@181.196.69.156) (Quit: alx741) |
2021-12-01 19:30:02 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-01 19:30:22 +0100 | alzgh | (alzgh@user/alzgh) |
2021-12-01 19:31:11 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-01 19:31:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 19:33:07 +0100 | pfurla | (~pfurla@201.17.118.230) (Quit: gone to sleep. ZZZzzz…) |
2021-12-01 19:36:34 +0100 | alx741 | (~alx741@181.196.68.155) |
2021-12-01 19:36:57 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection) |
2021-12-01 19:37:21 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-01 19:39:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 19:41:46 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 19:43:26 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 19:43:44 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 19:44:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 19:44:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 19:45:14 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-12-01 19:45:47 +0100 | cheater | (~Username@user/cheater) |
2021-12-01 19:46:50 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection) |
2021-12-01 19:48:43 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) |
2021-12-01 19:50:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 19:50:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 19:52:05 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Read error: Connection reset by peer) |
2021-12-01 19:52:36 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-12-01 19:53:51 +0100 | econo | (uid147250@user/econo) |
2021-12-01 19:55:15 +0100 | Guest1723 | (~Guest17@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds) |
2021-12-01 19:55:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 19:56:15 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 19:57:34 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 19:57:49 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 19:57:52 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 19:59:32 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 19:59:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 20:01:29 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 20:01:32 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 20:01:46 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 20:01:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:03:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 20:03:56 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 20:04:10 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-12-01 20:04:36 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-12-01 20:04:49 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-12-01 20:05:13 +0100 | rkrishnan | (~user@122.171.76.46) (Ping timeout: 252 seconds) |
2021-12-01 20:06:06 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-12-01 20:07:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 20:07:36 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-01 20:07:51 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-12-01 20:07:54 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:07:57 +0100 | alzgh | (alzgh@user/alzgh) |
2021-12-01 20:08:09 +0100 | zuserm | (~mz@71.161.92.216) () |
2021-12-01 20:08:21 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-01 20:09:43 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-12-01 20:09:43 +0100 | Vajb | (~Vajb@nalkaylds2h97nzof-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-12-01 20:10:09 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-01 20:10:30 +0100 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-12-01 20:12:13 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 20:12:30 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 20:12:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 20:13:19 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-12-01 20:13:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:14:56 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 252 seconds) |
2021-12-01 20:15:59 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection) |
2021-12-01 20:17:24 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-12-01 20:18:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 20:19:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:19:24 +0100 | jncraton | (~jncraton@199.8.13.16) |
2021-12-01 20:19:39 +0100 | WatermelonStory | (~Watermelo@199.8.13.237) |
2021-12-01 20:21:24 +0100 | WatermelonStory | (~Watermelo@199.8.13.237) () |
2021-12-01 20:22:05 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 252 seconds) |
2021-12-01 20:24:39 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 20:24:43 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-12-01 20:24:52 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:27:31 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 20:27:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 20:28:21 +0100 | <maerwald> | is `arch` command available on macOS by default or only if you install coreutils via brew? |
2021-12-01 20:28:27 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 20:29:09 +0100 | <dsal> | I don't use homebrew, but I have /usr/bin/arch |
2021-12-01 20:29:38 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 20:30:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 20:30:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:34:25 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 20:34:44 +0100 | <maerwald> | it seems uname -m behaves very different from arch under rosetta |
2021-12-01 20:36:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 20:36:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:38:17 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 20:38:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 20:41:43 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 20:41:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:42:35 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection) |
2021-12-01 20:43:36 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) |
2021-12-01 20:47:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 20:47:35 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:48:02 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection) |
2021-12-01 20:48:39 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 20:52:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 20:53:08 +0100 | fef | (~thedawn@user/thedawn) |
2021-12-01 20:53:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 20:53:15 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-01 20:55:19 +0100 | alzgh | (alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-12-01 20:59:48 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-12-01 20:59:54 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-12-01 21:00:53 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) |
2021-12-01 21:02:30 +0100 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-12-01 21:03:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 21:03:16 +0100 | jstolarek | (~jstolarek@137.220.120.162) |
2021-12-01 21:03:31 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Ping timeout: 252 seconds) |
2021-12-01 21:04:12 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection) |
2021-12-01 21:04:32 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-12-01 21:04:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 21:05:09 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) |
2021-12-01 21:05:21 +0100 | juhp | (~juhp@128.106.188.82) (Ping timeout: 252 seconds) |
2021-12-01 21:05:32 +0100 | jncraton | (~jncraton@199.8.13.16) (Quit: leaving) |
2021-12-01 21:05:40 +0100 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:b6fd:ec18:acf6:f1a8) |
2021-12-01 21:07:20 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:07:37 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:07:38 +0100 | juhp | (~juhp@128.106.188.82) |
2021-12-01 21:08:27 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) |
2021-12-01 21:08:33 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) |
2021-12-01 21:10:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 21:10:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 21:11:17 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) (Remote host closed the connection) |
2021-12-01 21:11:36 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-12-01 21:13:48 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Quit: Leaving) |
2021-12-01 21:13:56 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-12-01 21:15:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 21:16:15 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 21:18:31 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:18:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:20:29 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:20:46 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:21:05 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-01 21:21:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 21:21:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 21:22:02 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:8ef1:d1b1:96b4:f9df) (Ping timeout: 252 seconds) |
2021-12-01 21:23:26 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-12-01 21:26:16 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-12-01 21:26:31 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-01 21:26:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 21:27:15 +0100 | aweinstock | (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 250 seconds) |
2021-12-01 21:27:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 21:31:33 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:31:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:32:09 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 256 seconds) |
2021-12-01 21:32:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 21:32:57 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 21:36:31 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-12-01 21:37:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-01 21:38:18 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 21:40:17 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3) |
2021-12-01 21:43:06 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-12-01 21:44:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 21:44:07 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-12-01 21:47:17 +0100 | bliminse | (~bliminse@host86-162-147-196.range86-162.btcentralplus.com) (Quit: leaving) |
2021-12-01 21:49:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:49:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:51:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:51:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:53:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:53:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:57:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 21:57:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 21:58:01 +0100 | pavonia | (~user@user/siracusa) |
2021-12-01 22:01:01 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 22:01:19 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 22:02:25 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41f2:b4d5:142e:946f) |
2021-12-01 22:03:21 +0100 | narendraj9 | (~user@2a02:8109:b63f:ff7c::57b2) |
2021-12-01 22:05:01 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 22:05:18 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 22:06:41 +0100 | jgeerds | (~jgeerds@55d45b75.access.ecotel.net) |
2021-12-01 22:07:03 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Quit: Leaving) |
2021-12-01 22:08:20 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-12-01 22:09:26 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-12-01 22:11:19 +0100 | jstolarek | (~jstolarek@137.220.120.162) (Ping timeout: 256 seconds) |
2021-12-01 22:12:18 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-01 22:13:56 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) |
2021-12-01 22:15:19 +0100 | michalz | (~michalz@185.246.204.43) (Remote host closed the connection) |
2021-12-01 22:16:59 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-01 22:17:02 +0100 | jgeerds | (~jgeerds@55d45b75.access.ecotel.net) (Ping timeout: 252 seconds) |
2021-12-01 22:17:35 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) (Ping timeout: 252 seconds) |
2021-12-01 22:19:47 +0100 | xff0x | (~xff0x@2001:1a81:530d:ee00:fdea:9bb5:abe4:a159) (Ping timeout: 252 seconds) |
2021-12-01 22:20:52 +0100 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:b6fd:ec18:acf6:f1a8) (Ping timeout: 268 seconds) |
2021-12-01 22:21:20 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e31dccc5136b6b31647.dip0.t-ipconnect.de) |
2021-12-01 22:21:31 +0100 | xff0x | (~xff0x@2001:1a81:5339:b000:22b1:7654:f125:7b04) |
2021-12-01 22:22:13 +0100 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:b6fd:ec18:acf6:f1a8) |
2021-12-01 22:22:27 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
2021-12-01 22:24:48 +0100 | FarzadBekran_ | (~FarzadBek@94.74.153.122) (Quit: Leaving) |
2021-12-01 22:25:50 +0100 | reumeth | (~reumeth@user/reumeth) (Ping timeout: 252 seconds) |
2021-12-01 22:27:07 +0100 | stefan-_ | (~cri@42dots.de) (Ping timeout: 252 seconds) |
2021-12-01 22:27:22 +0100 | narendraj9 | (~user@2a02:8109:b63f:ff7c::57b2) (Remote host closed the connection) |
2021-12-01 22:28:40 +0100 | ph88 | (~ph88@2a02:8109:9e00:71d0:54ac:14f0:5fcb:286d) |
2021-12-01 22:31:07 +0100 | stefan-_ | (~cri@42dots.de) |
2021-12-01 22:31:07 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:1d11:e285:317e:6a2a) |
2021-12-01 22:33:53 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 22:34:11 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 22:36:07 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) |
2021-12-01 22:40:02 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection) |
2021-12-01 22:41:07 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-12-01 22:42:47 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 22:42:53 +0100 | Megant | (~kaitsu@user/megant) (Ping timeout: 252 seconds) |
2021-12-01 22:43:04 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 22:44:51 +0100 | Megant | (megant@user/megant) |
2021-12-01 22:45:56 +0100 | jstolarek | (~jstolarek@137.220.120.162) |
2021-12-01 22:46:11 +0100 | mestre | (~mestre@191.177.175.57) |
2021-12-01 22:46:27 +0100 | deadmarshal | (~deadmarsh@95.38.115.243) (Ping timeout: 256 seconds) |
2021-12-01 22:49:06 +0100 | Guest|27 | (~Guest|27@cpea456cc4b1ddd-cma456cc4b1ddb.cpe.net.cable.rogers.com) (Quit: Connection closed) |
2021-12-01 22:50:22 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-01 22:52:02 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 22:52:07 +0100 | <hololeap> | is there a good reference where I can see what version of e.g. filepath comes bundled with GHC-x.y.z |
2021-12-01 22:52:20 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 22:53:30 +0100 | <geekosaur> | https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history ? |
2021-12-01 22:53:31 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds) |
2021-12-01 22:54:43 +0100 | <hololeap> | perfect, thank you |
2021-12-01 22:54:53 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-01 22:55:36 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Quit: ERC (IRC client for Emacs 27.1)) |
2021-12-01 22:56:51 +0100 | <monochrom> | If you just need one x.y.z, the GHC user's guide has it in release notes. |
2021-12-01 22:57:23 +0100 | <monochrom> | If you have the GHC version installed, "ghc-pkg list" |
2021-12-01 22:59:04 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-12-01 23:01:16 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) |
2021-12-01 23:01:33 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (Remote host closed the connection) |
2021-12-01 23:02:17 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-12-01 23:03:00 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) |
2021-12-01 23:03:58 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
2021-12-01 23:04:14 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 3.3) |
2021-12-01 23:04:29 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-01 23:04:49 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (Remote host closed the connection) |
2021-12-01 23:05:41 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) |
2021-12-01 23:06:04 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Client Quit) |
2021-12-01 23:06:21 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) |
2021-12-01 23:06:47 +0100 | Guest1731 | (~Guest17@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-01 23:09:45 +0100 | kennyd | (~bc8165b6@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2021-12-01 23:11:31 +0100 | <dmj`> | anyone know what this is about https://hackage.haskell.org/package/hermes "legal reasons" |
2021-12-01 23:12:14 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (Remote host closed the connection) |
2021-12-01 23:14:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 23:14:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 23:14:55 +0100 | <monochrom> | I don't really know, but I guess license issues. Also, take a look at https://hackage.haskell.org/packages/search?terms=hermes |
2021-12-01 23:15:53 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
2021-12-01 23:16:22 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) |
2021-12-01 23:18:42 +0100 | <hpc> | ooh, it's even a 451 status |
2021-12-01 23:20:05 +0100 | Alleria | (~textual@user/alleria) |
2021-12-01 23:20:23 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection) |
2021-12-01 23:24:37 +0100 | mikail | (~mikail@2a02:c7f:bc1f:4a00:fc9:3da5:3e1e:8303) |
2021-12-01 23:24:43 +0100 | mikail_ | (~mikail@2a02:c7f:bc1f:4a00:fc9:3da5:3e1e:8303) |
2021-12-01 23:24:50 +0100 | mikail_ | (~mikail@2a02:c7f:bc1f:4a00:fc9:3da5:3e1e:8303) (Remote host closed the connection) |
2021-12-01 23:24:50 +0100 | mikail | (~mikail@2a02:c7f:bc1f:4a00:fc9:3da5:3e1e:8303) (Remote host closed the connection) |
2021-12-01 23:25:06 +0100 | Typedfern | (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (Remote host closed the connection) |
2021-12-01 23:25:09 +0100 | mikail | (~mikail@2a02:c7f:bc1f:4a00:fc9:3da5:3e1e:8303) |
2021-12-01 23:27:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-01 23:27:27 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-01 23:27:52 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-12-01 23:28:06 +0100 | <hololeap> | does System.IO.withFile apply `hSetEncoding h localeEncoding` by default? |
2021-12-01 23:28:36 +0100 | <hololeap> | on the handle it passes to the continuation |
2021-12-01 23:30:13 +0100 | <boxscape> | > 1 `2` 3 |
2021-12-01 23:30:13 +0100 | <boxscape> | I feel like this should work |
2021-12-01 23:30:14 +0100 | <lambdabot> | <hint>:1:4: error: parse error on input ‘2’ |
2021-12-01 23:30:20 +0100 | <hololeap> | I'm looking at how to reproduce the withTextFile function from the (deprecated) system-fileio package |
2021-12-01 23:30:21 +0100 | <boxscape> | what if I want to use 2 as a binary operator |
2021-12-01 23:30:23 +0100 | <hololeap> | https://hackage.haskell.org/package/system-fileio-0.3.16.4/docs/Filesystem.html#v:withTextFile |
2021-12-01 23:30:33 +0100 | Alleria | (~textual@user/alleria) (Quit: Textual IRC Client: www.textualapp.com) |
2021-12-01 23:31:30 +0100 | <hololeap> | boxscape: that's the stinkiest code I've seen in a while |
2021-12-01 23:31:34 +0100 | <monochrom> | I don't know, but I know that withFile sets the same modes as openFile, which is at least text mode. |
2021-12-01 23:31:54 +0100 | <boxscape> | 😊 |
2021-12-01 23:32:06 +0100 | <geekosaur> | `` wants an identifier, and 2 isn't one |
2021-12-01 23:32:12 +0100 | <monochrom> | withFile is literally doing a bracket over openFile and hClose |
2021-12-01 23:32:23 +0100 | <boxscape_> | yes, I understand *why* it doesn't work, I just think it should |
2021-12-01 23:32:36 +0100 | <geekosaur> | moreover I suspect you'd be bitten by the implicit fromInteger if it did |
2021-12-01 23:32:41 +0100 | <int-e> | dmj`: There's a Hermes package, maybe that's what you wanted? hermes had exactly one upload, https://paste.debian.net/1221574/ is the .cabal file (which is maintained in the append-only index); maybe an accidental 'cabal upload' with misconfigured upstream hackage server? |
2021-12-01 23:33:19 +0100 | <boxscape_> | geekosaur I want fromInteger - let's say I have a Num instance for `String -> String -> String` and I write "hello" `2` "world" |
2021-12-01 23:33:49 +0100 | <monochrom> | I do guess that locale encoding is the default. You have to say like openBinaryFile or withBInaryFile to get verbatim bytes. |
2021-12-01 23:34:06 +0100 | <geekosaur> | and I find the whole notion of wanting a number to behave as an infix weird |
2021-12-01 23:34:19 +0100 | <boxscape_> | (to be fair at that point the desugaring would be strange, I admit) |
2021-12-01 23:34:43 +0100 | <dmj`> | int-e: hmm, since there is pending legal action is this package dead in the water? Is it possible the existing lowercase "hermes" package could be removed and allow for a different package to be uploaded? Or is any use of hermes on hackage not permitted whatsoever |
2021-12-01 23:35:07 +0100 | <int-e> | dmj`: https://hackage.haskell.org/package/Hermes |
2021-12-01 23:35:36 +0100 | <int-e> | hackage is case-sensitive (even though it tries not to be these days, but that happened as an afterthought) |
2021-12-01 23:37:15 +0100 | <int-e> | dmj`: I don't really know anything about it, I'm just looking at links and history and hackage's index |
2021-12-01 23:38:08 +0100 | <monochrom> | Well, Hermes is deprecated too, if you use it you will have tech debt. |
2021-12-01 23:38:24 +0100 | <monochrom> | Not to say that I know what hermes is about in the first place. |
2021-12-01 23:38:27 +0100 | <dmj`> | int-e: Okay, maybe I'll ask on #hackage, I'd like to remove the lowercase hermes if possible. |
2021-12-01 23:38:30 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-01 23:38:44 +0100 | <int-e> | Oh sure, but that's a much more common situation than the suggestion of legal action |
2021-12-01 23:39:08 +0100 | <monochrom> | Legal drama on Hackage... |
2021-12-01 23:39:18 +0100 | <dmj`> | Didn't realize there was an uppercase Hermes :) the legal action notice on https://hackage.haskell.org/package/hermes is concerning. |
2021-12-01 23:39:38 +0100 | <int-e> | (There doesn't need to be any legal action; if it was an accidental upload, surely hackage maintainers would just erase the upload and block the index page when asked nicely.) |
2021-12-01 23:40:04 +0100 | <dmj`> | monochrom: billions in settlements happening I'm sure |
2021-12-01 23:40:07 +0100 | <int-e> | it just says "legal reasons" |
2021-12-01 23:40:55 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-01 23:41:04 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-12-01 23:41:36 +0100 | <geekosaur> | and legal reasons might just be the OtherLicense |
2021-12-01 23:41:37 +0100 | <dmj`> | int-e: since it hasn't been touched in almost 7 years I had hoped the lawsuit was settled by now :) |
2021-12-01 23:41:59 +0100 | <maerwald> | still waiting for supreme court ruling |
2021-12-01 23:42:14 +0100 | <monochrom> | Judge Kattis is my most favourite judge. kattis.com Plus it is a lovely cat. <3 |
2021-12-01 23:42:21 +0100 | <int-e> | (I'm basing the idea that it was an accidental upload mainly on the fact that only a single version was ever uploaded.) |
2021-12-01 23:43:33 +0100 | <monochrom> | On April 1st, all GHC error messages are amended to say "for legal reasons" >:) |
2021-12-01 23:43:45 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-01 23:44:20 +0100 | <monochrom> | Could match Int with Bool for legal reasons. |
2021-12-01 23:44:25 +0100 | <monochrom> | err, Couldn't! |
2021-12-01 23:44:44 +0100 | <hpc> | on april 1st, errors on lines containing "::" should say T_PAAMAYIM_NEKUDOTAYIM |
2021-12-01 23:44:51 +0100 | <monochrom> | heh |
2021-12-01 23:44:51 +0100 | <Hecate> | monochrom: LOL |
2021-12-01 23:44:55 +0100 | <Hecate> | hpc: hahahaahah |
2021-12-01 23:45:06 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2021-12-01 23:45:06 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-01 23:45:16 +0100 | <boxscape> | Illegal type family synonym family application in instance for legal reasons |
2021-12-01 23:45:29 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-01 23:45:36 +0100 | <int-e> | dmj`: It's a different package. |
2021-12-01 23:46:35 +0100 | <int-e> | But whatever, I shouldn't care. |
2021-12-01 23:48:20 +0100 | nvmd | (~nvmd@user/nvmd) (Ping timeout: 252 seconds) |
2021-12-01 23:49:06 +0100 | <dmj`> | int-e: I think you're right though, probably just uploaded AllRightsReserved accidentally. |
2021-12-01 23:49:15 +0100 | <dmj`> | int-e: Different package, but different author too, so probably wasn't just a fat finger on the capitalization. |
2021-12-01 23:50:03 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-12-01 23:50:47 +0100 | <dmj`> | I'll ask in #hackage |
2021-12-01 23:51:46 +0100 | <dmj`> | "typeclass action lawsuit pending" |
2021-12-01 23:52:07 +0100 | <monochrom> | :) |
2021-12-01 23:52:14 +0100 | <dsal> | This whole thing about `2` sent me down a strange rabbit hole where I was trying to make a type called `Family` where `2 Fast 2 Furious` is a valid expression. I got it working, but it's pretty stupid. |
2021-12-01 23:52:32 +0100 | <monochrom> | Illegal instance Num [Char] for legal reasons >:) |
2021-12-01 23:52:53 +0100 | Guest1731 | (~Guest17@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
2021-12-01 23:53:07 +0100 | <monochrom> | Err, would be more funny with Illegal instance Monad ZipList for legal reasons! |
2021-12-01 23:54:37 +0100 | deadmarshal | (~deadmarsh@95.38.119.167) |
2021-12-01 23:54:48 +0100 | <monochrom> | dsal: Does it also cover "Fast & Furious 6", especially the & and the 6? |
2021-12-01 23:55:33 +0100 | <dsal> | Not even type families have strong enough bonds. |
2021-12-01 23:56:05 +0100 | <dsal> | This is one of those things I think I could do, but every character I enter seems more stupid than the last. |
2021-12-01 23:56:12 +0100 | <hpc> | sysadmins prefer nfs://underground |
2021-12-01 23:56:33 +0100 | <monochrom> | That's just because family movies are not Bond movies. >:) |
2021-12-01 23:56:42 +0100 | <dsal> | ha |
2021-12-01 23:56:57 +0100 | <int-e> | . o O ( NFT is the successor of NFS ) |
2021-12-01 23:57:21 +0100 | <dsal> | oh no |
2021-12-01 23:57:49 +0100 | <hpc> | i wonder what it would take to design a language around the principle of "you only die twice" |
2021-12-01 23:57:54 +0100 | <sclv> | for the record: the status is the resolution to this |
2021-12-01 23:57:56 +0100 | <int-e> | it's okay, they're both terrible :P |
2021-12-01 23:57:59 +0100 | <sclv> | there's no reason to chage or remove it |
2021-12-01 23:58:01 +0100 | <sclv> | its fine |
2021-12-01 23:58:10 +0100 | <hpc> | some kind of weird linear type system maybe? |
2021-12-01 23:58:24 +0100 | <dsal> | Could not impement "Die, Die, Die, my Darling" |
2021-12-01 23:58:51 +0100 | <sclv> | in _theory_ we could do a full rewrite and reset of the immutable index to clean out that package and one other like it, and a few spam packages |
2021-12-01 23:59:01 +0100 | <sclv> | in practice there's not enough reason to at this point, or really indefinitely |
2021-12-01 23:59:09 +0100 | <monochrom> | I think CPU hardware exceptions are designed around "you only die twice". CPUs have this notion of "double fault" when that happens and basically gives up. |
2021-12-01 23:59:09 +0100 | deadmarshal | (~deadmarsh@95.38.119.167) (Ping timeout: 252 seconds) |
2021-12-01 23:59:12 +0100 | <hpc> | /usr/bin/goldfinger |