Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 403 404 405 406 407 408 409 410 411 412 413 .. 5022
502,152 events total
2020-10-04 06:13:37 vk3wtf joins (~doc@14-202-30-62.static.tpgi.com.au)
2020-10-04 06:14:00 <gewaltdisney> cool, ghci seems to be the way then :)
2020-10-04 06:15:00 × bitmagie quits (~Thunderbi@200116b8069e56008db808514c00860b.dip.versatel-1u1.de) (Quit: bitmagie)
2020-10-04 06:15:53 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-04 06:16:49 GyroW_ joins (~GyroW@d54C03E98.access.telenet.be)
2020-10-04 06:16:49 × GyroW_ quits (~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 06:16:49 GyroW_ joins (~GyroW@unaffiliated/gyrow)
2020-10-04 06:18:13 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds)
2020-10-04 06:20:49 × jgt quits (~jgt@188.239.64.32) (Ping timeout: 246 seconds)
2020-10-04 06:21:33 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Quit: Lost terminal)
2020-10-04 06:24:06 p0a joins (~user@unaffiliated/p0a)
2020-10-04 06:24:18 <p0a> Hello how can I offer some documentation corrections in a package on hackage?
2020-10-04 06:24:37 <gewaltdisney> curious why you say its the worst dsal
2020-10-04 06:25:30 <dsal> It's hard to do multiline, and if you're doing anything remotely complicated, you're going to be sad about having to either throw away a bunch of state or try to recreate it in a file. It's easier to just have a file.
2020-10-04 06:25:37 <sshine> p0a, 1) find the project on GitHub (link is on Hackage), 2) search for the thing you want to correct, 3) submit a pull request.
2020-10-04 06:26:00 <sshine> p0a, if you want a t-shirt for your efforts, sign up for Hacktoberfest before you do this.
2020-10-04 06:26:54 <p0a> sshine: thank you! I am against paraphanelia tho (I still shiver about being given a yo-yo in a math conference)
2020-10-04 06:28:16 <nshepperd> true, yoyos are spooky
2020-10-04 06:28:37 <sshine> also, yoyos mainly collect dust.
2020-10-04 06:28:45 thir joins (~thir@pd9e1baba.dip0.t-ipconnect.de)
2020-10-04 06:29:09 <sshine> p0a, there's no guarantee that the package is hosted on GitHub, but it's so often the case.
2020-10-04 06:29:28 <p0a> Yeah, it's sqlite-simple which is on github. I didn't realize there's github links, I definitely know what to do now
2020-10-04 06:30:07 <sshine> gewaltdisney, I'd go with Emacs + haskell-mode since there's a keyboard shortcut for sending your file to be evaluated in a split-screen REPL. perhaps this is equally doable with VSCode or some other editor. but that's the user experience I'd aim for. :)
2020-10-04 06:30:28 <p0a> I can't get Emacs and haskell-mode to work with stack projects, am I doing something wrong?
2020-10-04 06:30:43 <p0a> I can give the error if needed
2020-10-04 06:30:53 <sshine> gewaltdisney, typing into GHCi is too limiting for anything above one-liners, and you can't easily save.
2020-10-04 06:31:32 sshine hasn't run Emacs for a year now and can't remember.
2020-10-04 06:31:48 <p0a> NEvermind. I was running haskell-process-cabal-build on a stack project, that's why. lol
2020-10-04 06:31:54 <sshine> hehe :)
2020-10-04 06:32:11 <p0a> sshine: as with many other issues, I solve it as I'm about to explain it on IRC
2020-10-04 06:32:12 <sshine> when I use editor/IDE tooling, I mostly tab into the console and run build commands, anyways...
2020-10-04 06:32:37 <p0a> Yeah but one useful feature is to be able to examine the type of a symbol/expression in the source
2020-10-04 06:32:45 <sshine> p0a, that's the story of why I never ask questions on StackOverflow. I want to provide enough context for people to be able to help me, and that's usually enough context for me to help myself.
2020-10-04 06:32:57 <p0a> hah
2020-10-04 06:33:18 <sshine> like, I want to rule out the "did you look in <obvious place X>?" and "did you try <obvious thing Y>?"
2020-10-04 06:34:21 <sshine> with obvious being anything I can easily come up with while formulating the question, of course. :) it's just that if I ever try to bite off more than I can chew, I usually have to ask a *lot* of questions.
2020-10-04 06:34:46 <p0a> So a basic question now, but can I use sqlite-simple with RIO?
2020-10-04 06:34:55 <sshine> why not?
2020-10-04 06:35:11 <p0a> For example, SQLText is !Text, but RIO has RIO.Text
2020-10-04 06:35:21 <gewaltdisney> sshine thanks! I use emacs but am new to haskell (coming from ocaml). i'll figure out how to set things up this way
2020-10-04 06:35:25 <p0a> I'm not sure how that works. Does it know to use RIO.Text instead of Data.Text?
2020-10-04 06:35:33 <sshine> p0a, RIO.Text is just a re-export
2020-10-04 06:36:03 × ericsagnes quits (~ericsagne@2405:6580:0:5100:9458:e3c2:d11d:f00a) (Ping timeout: 272 seconds)
2020-10-04 06:36:08 ixian joins (~mgold@terra.bitplane.org)
2020-10-04 06:36:24 <p0a> I don't know what you mean
2020-10-04 06:36:30 <sshine> p0a, https://hackage.haskell.org/package/rio-0.1.19.0/docs/src/RIO.Text.html <- all it does is import Data.Text and then only export some of that.
2020-10-04 06:36:58 <p0a> okay, but it's called RIO.Text and not Data.Text. So it works anyway?
2020-10-04 06:37:20 <sshine> so RIO.Text is just convenience for Data.Text. I think the points RIO is trying to make are 1) Text is so common, let's just have it in our version of Prelude, and 2) let's not include the bad functions.
2020-10-04 06:38:09 <sshine> so I don't think you even need to 'import RIO.Text' if you have followed one of the recommended ways of using RIO as your Prelude replacement.
2020-10-04 06:38:34 <p0a> Right the introduction to RIO mentions these things more or less, I am just not sure how haskell code works. In the sense that if I write a module that imports Data.Text (how else would they have SQLText be !Text), how can that then be replaced by RIO.Text.Text?
2020-10-04 06:38:34 <sshine> p0a, https://github.com/commercialhaskell/rio#import-practices
2020-10-04 06:39:13 <p0a> I did read that but I'm still confused about how a module that was built for/with Data.Text would work ok with RIO
2020-10-04 06:39:31 <p0a> say I have f :: Data.Text.Text -> Int with f _ = 1. How would that function work if I import RIO instead?
2020-10-04 06:39:36 <sshine> so, sqlite-simple may import Data.Text explicitly and your module may import RIO.Text implicitly, but in the end, the same module that exports the same data type is referred to in two places, and they get unified...
2020-10-04 06:40:10 <sshine> I think it's actually pretty neat that that works. I remember that you *don't* get that kind of convenience across Standard ML functor (as in parameterised module) application.
2020-10-04 06:40:18 <p0a> the signature wouldn't match would it? f ("foo" :: RIO.Text.Text)
2020-10-04 06:40:47 <sshine> the type's name is just 'Text'. when you see it as e.g. 'RIO.Text.Text', that's mostly an indicator of how you imported it.
2020-10-04 06:41:00 <p0a> Aha. Tricky
2020-10-04 06:41:19 <p0a> Thank you
2020-10-04 06:41:31 <sshine> if RIO.Text defined 'newtype Text = Derpy Text deriving ...', then RIO.Text.Text would kinda be the same type but you'd get a type mismatch error.
2020-10-04 06:42:08 <sshine> but that wouldn't benefit the purpose of RIO's RIO.Text module.
2020-10-04 06:42:25 <sshine> they just want to import Text-related stuff automatically and not have partial functions.
2020-10-04 06:43:18 ym555 joins (~ym@41.42.210.219)
2020-10-04 06:44:13 <koz_> sshine: Derpy Text rofl.
2020-10-04 06:44:20 <sshine> I think that if you had to explicitly import RIO.Text, then this would actually be confusing: is their Text even the same? but since it's automatically imported, the purpose of the library is just to provide a list of the Text functions they like (and provide a place for extending this collection without having to deal with upstream).
2020-10-04 06:44:45 <sshine> sorry, s/the library/the module/
2020-10-04 06:48:16 ericsagnes joins (~ericsagne@2405:6580:0:5100:1d5c:d7d1:5cb4:1102)
2020-10-04 06:53:37 × Jeanne-Kamikaze quits (~Jeanne-Ka@68.235.43.166) (Quit: Leaving)
2020-10-04 06:54:48 HaeB1 joins (~HaeB@178.239.168.171)
2020-10-04 06:57:36 <p0a> When I use `stack new projectname rio' there's some code that let's me use command line arguments
2020-10-04 06:57:50 <p0a> I can't understand from looking at the source, is that a hand-crafted solution or does it use getOpt somewhere?
2020-10-04 06:58:21 <p0a> Is it logOptionsHandle?
2020-10-04 06:59:42 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-04 07:01:33 GyroW joins (~GyroW@d54C03E98.access.telenet.be)
2020-10-04 07:01:33 × GyroW quits (~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 07:01:33 GyroW joins (~GyroW@unaffiliated/gyrow)
2020-10-04 07:01:43 jgt joins (~jgt@188.239.64.32)
2020-10-04 07:01:55 × GyroW_ quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-04 07:05:45 × jgt quits (~jgt@188.239.64.32) (Ping timeout: 240 seconds)
2020-10-04 07:05:55 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2020-10-04 07:06:05 <dsal> I've never seen this rio template, but I don't think I like it.
2020-10-04 07:06:50 <p0a> Okay, I think I figured out that I now need to read the intro to rio from https://www.fpcomplete.com/haskell/library/rio/
2020-10-04 07:06:50 × polyrain quits (~polyrain@2001:8003:e501:6901:44d8:84ba:175f:dd38) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 07:07:03 <p0a> Are there any other sources to learn rio from? A book perhaps?
2020-10-04 07:09:31 <dsal> I've just seen blog posts and stuff. It looks like it wants to be the next big thing, but makes me learn stuff and accept opinions without me seeing the obvious benefit.
2020-10-04 07:10:04 <p0a> what about their exceptions? I read a bit on it and it seemed cool
2020-10-04 07:11:00 <dsal> I don't know. I've read some of the stuff and the goal sounded interesting. I like unliftio, but too much of this "I've solved all the problems" kinds of things from that camp. -- someone who can't quit stack
2020-10-04 07:11:49 <p0a> Would you recommend I do my project without rio then?
2020-10-04 07:12:28 <dsal> Not really. Part of my problem is having to unlearn stuff to learn new stuff to get marginal benefit. If you don't have patterns you're comfortable with, RIO might be good for you.
2020-10-04 07:12:41 <p0a> that's what I was thinking dsal
2020-10-04 07:13:12 <p0a> I haven't developed a style yet and rio appears to be developed by experts
2020-10-04 07:17:39 GyroW_ joins (~GyroW@d54c03e98.access.telenet.be)
2020-10-04 07:17:39 × GyroW_ quits (~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-04 07:17:39 GyroW_ joins (~GyroW@unaffiliated/gyrow)
2020-10-04 07:18:35 × GyroW quits (~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-04 07:22:46 × thir quits (~thir@pd9e1baba.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 07:23:56 thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 07:24:34 no-n joins (sid257727@gateway/web/irccloud.com/x-rjqspinjxdvineod)
2020-10-04 07:24:41 × HaskellYogi quits (~vivekrama@49.207.213.15) (Remote host closed the connection)
2020-10-04 07:25:49 HaskellYogi joins (~vivekrama@49.207.213.15)

All times are in UTC.