Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 114 115 116 117 118 119 120 121 122 123 124 .. 5022
502,152 events total
2020-09-21 13:22:56 <merijn> siraben: The package is lacking proper bounds, so the answer is "you manually have to patch the package description to have the correct bounds"
2020-09-21 13:23:06 <Cheery> yup. I mean, if it had a textual representation where you use de-bruijn indices, how would you form let-expressions?
2020-09-21 13:23:08 <edwardk> nitrix: i did. though i admit my brain is currently a bit of goo on the floor from my current project
2020-09-21 13:23:14 <merijn> siraben: "What are the correct bounds?" 'you have to figure that out the hard way'
2020-09-21 13:23:29 <siraben> Ugh, if only there was an automated tool to do that!
2020-09-21 13:23:43 <Cheery> You could use (λx) y to represent let = y in x
2020-09-21 13:23:54 <merijn> There can't be, because "it compiles" isn't sufficient to identify "correct" bounds
2020-09-21 13:24:02 <edwardk> Cale: if you thought `constraints` was fun. wait until you meet it's polykinded cousin https://github.com/ekmett/haskell/blob/master/types/src/Data/Type/Constraint.hs
2020-09-21 13:24:06 <ggole> Just let term in body seems ok
2020-09-21 13:25:07 <cheater> tomsmeding: so i was wondering, does cmd.exe accept the EXACT same terminal escape codes as VT100 (just possibly less of them)? what if for windows, I told Vty to not query terminfo, but instead give it a specific finite amount of supported escape codes instead?
2020-09-21 13:25:22 Saten-san joins (~Saten-san@ip-83-134-202-127.dsl.scarlet.be)
2020-09-21 13:25:25 <cheater> tomsmeding: basically making it not use terminfo, but instead hard coded stuff
2020-09-21 13:27:04 <edwardk> Cheery: i tend to bolt lets in as an extra form in most of my type checkers. why? mainly because inference can be a bit better and you can make an ever so slightly faster evaluator that just recurses in with the arg in hand in debruijn terms you just wind up with let expression body where the body is counted as having one more expression bound in it, 'let expression' counts like a lambda in terms of var count.
2020-09-21 13:28:06 cybercraft parts (~Cybercraf@194.78.58.3) ("WeeChat 2.9")
2020-09-21 13:28:50 <edwardk> this whole 'plumbing around every part of every expression' feels very grothendieck construction-like to me.
2020-09-21 13:29:13 <edwardk> it is weird treating "Left" as a functor. and '(:) as a bifunctor
2020-09-21 13:30:39 shatriff joins (~vitaliish@176.52.219.10)
2020-09-21 13:30:56 <siraben> edwardk: error raised at compile time by the bound library; Exception when trying to run compile-time code: This is bad: AppT (ConT Language.Pcf.Clos) (VarT a_6989586621679111736) False, what could be causing it?
2020-09-21 13:31:44 <edwardk> wat?
2020-09-21 13:32:20 <siraben> edwardk: why doesn't this work? http://ix.io/2yi5
2020-09-21 13:32:28 <siraben> you're the author of bound right?
2020-09-21 13:32:54 <siraben> makeBound ''ExpC seems to be the culprit
2020-09-21 13:32:57 hackage signable 0.1 - Deterministic serialisation and signatures with proto-lens support https://hackage.haskell.org/package/signable-0.1 (coingaming)
2020-09-21 13:33:16 <merijn> siraben: The problem is that --allow-newer probably picks bound 2.x
2020-09-21 13:33:37 <merijn> siraben: And pcf uses bound 1.x
2020-09-21 13:33:41 <siraben> merijn: I've decided to remove the bounds completely and update the project to the newest libraries
2020-09-21 13:33:55 <siraben> So I've commented everything out and starting from top dow
2020-09-21 13:33:55 <siraben> down
2020-09-21 13:33:59 <edwardk> can you try expanding the type synonym for Clos in it?
2020-09-21 13:34:02 <merijn> siraben: Then I'd recommend consulting the changelog of dependencies and read what changed? :)
2020-09-21 13:34:04 × argent0 quits (~argent0@168.227.97.4) (Remote host closed the connection)
2020-09-21 13:34:09 <edwardk> it probably isn't seeing through that
2020-09-21 13:34:15 <siraben> merijn: Ok
2020-09-21 13:34:29 <siraben> edwardk: Ah, now it works
2020-09-21 13:34:38 <siraben> Interesting, didn't know type synonym expansion matters
2020-09-21 13:34:50 <edwardk> well, we have to walk through that syntax tree manually in TH
2020-09-21 13:34:52 Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com)
2020-09-21 13:35:03 <edwardk> and i guess we never had anybody try to hide expressions from us behind type synonyms before
2020-09-21 13:35:21 <edwardk> otherwise we have to figure out how to look them up instantiate them and keep walking somehow
2020-09-21 13:35:30 <edwardk> sounds like lots fo templatehaskell
2020-09-21 13:36:13 <siraben> edwardk: is there a problem with mutually recursive data?
2020-09-21 13:36:30 <siraben> I have, data A = .<B>., data B = ...<A> ... and makebound ''A; makeBound ''B
2020-09-21 13:36:32 <siraben> Seems to fail as well
2020-09-21 13:36:40 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-21 13:36:50 <edwardk> there is a 'trick' to working with bound
2020-09-21 13:37:06 <edwardk> you make one monad, and a bunch of left-modules over monads that carefully don't mention it
2020-09-21 13:37:09 <edwardk> then get parameterized on it
2020-09-21 13:37:41 <siraben> Left module over a monad is left distributivity over bind, right?
2020-09-21 13:37:43 <edwardk> https://github.com/ekmett/bound/blob/master/examples/Deriving.hs
2020-09-21 13:38:21 <edwardk> shows an example with patterns
2020-09-21 13:38:26 <edwardk> the patterns are in a separate data type
2020-09-21 13:38:35 <siraben> Ah, I'll take a look, thanks.
2020-09-21 13:38:37 <edwardk> that data type has an instance of the Bound class
2020-09-21 13:38:54 <edwardk> but note Pat carries the 'f' as a parameter and later we just instantiate that to Exp
2020-09-21 13:38:54 <hekkaidekapus> siraben: (In the shell) `printf '%s\n%s' 'packages: .' 'allow-newer: *:all' > cabal.project` in the pcf directory. Then build. You will have to make local patches to fix <https://paste.tomsmeding.com/84uGbbWh>.
2020-09-21 13:38:59 <edwardk> Pat isn't itself a monad
2020-09-21 13:39:03 <edwardk> it is just an instance of Bound
2020-09-21 13:39:43 <edwardk> Some times you dont' want to do this, so i then recommend writing the instances by hand, and making your own class for the (>>>=) equivalent operation, which is that left-module thing
2020-09-21 13:40:35 × drbean quits (~drbean@TC210-63-209-62.static.apol.com.tw) (Ping timeout: 258 seconds)
2020-09-21 13:40:52 IT92 joins (511495c6@198-149-20-81.sta.estpak.ee)
2020-09-21 13:41:14 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-21 13:41:30 <edwardk> siraben: https://github.com/ekmett/bound/tree/master/examples has a few examples, the overkill one shows what happens if you go all the way down the manual rabbit hole
2020-09-21 13:41:34 <siraben> I see
2020-09-21 13:41:40 <edwardk> deriving is closer to where you are now
2020-09-21 13:42:09 Sheilong joins (uid293653@gateway/web/irccloud.com/x-nsrjqtazcudlgiur)
2020-09-21 13:42:48 <IT92> Hi guys! I'm qurious how do I declare binary dependencies for my haskell package? Here is example, my library needs secp256k1 library, but Hackage CI machine obviously don't have it https://hackage.haskell.org/package/signable-0.1/reports/1
2020-09-21 13:42:57 <siraben> At least writing that somewhat boilerplatey monad instance is better than having to deal with manual substitution, heh.
2020-09-21 13:43:28 <merijn> IT92: Short answer: You don't
2020-09-21 13:43:42 <merijn> IT92: Are you using cabal-install?
2020-09-21 13:43:56 <IT92> merijn I'm using stack and nix
2020-09-21 13:44:30 <merijn> You can build/upload docs locally to get working docs in the absence of succesful hackage build, but not sure how to do that with stack
2020-09-21 13:44:56 <merijn> "cabal haddock --haddock-for-hackage" works, I assume stack has something similar
2020-09-21 13:45:09 <IT92> merijn thanks!
2020-09-21 13:45:30 × ixlun quits (~matthew@213.205.241.81) (Ping timeout: 256 seconds)
2020-09-21 13:46:40 <hekkaidekapus> siraben: hmm… Scrolling down, I see you already got the errors in <http://ix.io/2yhY>. Cheers.
2020-09-21 13:47:29 <siraben> Alright, so the only part that seems to have problems is the one that uses the c-dsl package, hm.
2020-09-21 13:47:54 <siraben> c-dsl has dependenices base (==4.), language-c (==0.4.)
2020-09-21 13:49:33 nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7928:db17:6f00:cd09)
2020-09-21 13:49:49 spew joins (uid195861@gateway/web/irccloud.com/x-ttozjtuhdixrdemb)
2020-09-21 13:51:18 gmt joins (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net)
2020-09-21 13:51:40 bahamas joins (~lucian@unaffiliated/bahamas)
2020-09-21 13:52:16 mmohammadi9812 joins (~mmohammad@2.178.188.114)
2020-09-21 13:53:47 × alp quits (~alp@88.126.45.36) (Ping timeout: 240 seconds)
2020-09-21 13:55:09 cpressey joins (~cpressey@79-65-248-204.host.pobb.as13285.net)
2020-09-21 13:55:13 Lycurgus joins (~niemand@98.4.96.130)
2020-09-21 13:56:04 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 246 seconds)
2020-09-21 13:56:15 × takuan_dozo quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-09-21 13:56:16 × gmt quits (~gmt@pool-71-105-108-44.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
2020-09-21 13:56:27 <siraben> Heh, relaxing that restriction on base seems to do the job.
2020-09-21 13:57:20 × ryansmccoy quits (~ryansmcco@193.37.254.27) (Ping timeout: 256 seconds)
2020-09-21 13:57:25 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-09-21 13:58:08 ryansmccoy joins (~ryansmcco@156.96.151.132)
2020-09-21 13:58:42 <siraben> merijn: is there a way to put --allow-newer in the cabal file?
2020-09-21 14:00:19 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-09-21 14:01:47 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-09-21 14:02:00 × jlamothe quits (~jlamothe@dev.jlamothe.net) (Quit: leaving)
2020-09-21 14:02:51 alp joins (~alp@2a01:e0a:58b:4920:e1db:5e81:371d:6a3c)
2020-09-21 14:03:40 <siraben> cabal is complaining about multiple main libraries http://ix.io/2yil
2020-09-21 14:04:13 <siraben> Oh if I write library c-dsl instead of library, it works.
2020-09-21 14:04:14 son0p joins (~son0p@181.136.122.143)

All times are in UTC.