Logs: freenode/#haskell
| 2021-03-16 03:19:46 | → | tanner__ joins (uid491848@gateway/web/irccloud.com/x-rtafqkufgdjftxay) |
| 2021-03-16 03:19:52 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) |
| 2021-03-16 03:20:03 | <siraben> | I think the Storable instance for it results in a null-terminated string |
| 2021-03-16 03:20:10 | <siraben> | Storable is used when converting it to a CStr |
| 2021-03-16 03:20:21 | × | electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2021-03-16 03:20:31 | <siraben> | but null-termination may just be an implementation detail |
| 2021-03-16 03:21:33 | <solidus-river> | I'm sending these over the wire to a c++ client and zmq doesn't try to be smart about messages |
| 2021-03-16 03:22:11 | <solidus-river> | but i'll find out when the other side blows up or not :D |
| 2021-03-16 03:22:27 | <siraben> | Ah if the library abstracts it away it should be fine |
| 2021-03-16 03:22:29 | <siraben> | (I guess) |
| 2021-03-16 03:25:40 | <qih> | All this compiling just so I can run a simple Github Pages site using Hakyll, should have just used the Github UI >8-/ |
| 2021-03-16 03:28:41 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-03-16 03:29:12 | × | m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 246 seconds) |
| 2021-03-16 03:30:39 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 2021-03-16 03:31:53 | × | theDon_ quits (~td@94.134.91.151) (Ping timeout: 260 seconds) |
| 2021-03-16 03:32:38 | → | conal joins (~conal@64.71.133.70) |
| 2021-03-16 03:32:44 | × | tabemann quits (~travisb@2600:1700:7990:24e0:1282:ff43:20c2:7b5f) (Remote host closed the connection) |
| 2021-03-16 03:32:59 | → | tabemann joins (~travisb@2600:1700:7990:24e0:101f:ae79:c83b:6c90) |
| 2021-03-16 03:33:05 | → | theDon joins (~td@94.134.91.58) |
| 2021-03-16 03:33:24 | × | tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 246 seconds) |
| 2021-03-16 03:33:37 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 276 seconds) |
| 2021-03-16 03:34:29 | → | tony__ joins (~Username@185.30.81.111) |
| 2021-03-16 03:34:59 | × | tony__ quits (~Username@185.30.81.111) (Client Quit) |
| 2021-03-16 03:39:10 | → | tomku joins (~tomku@unaffiliated/tomku) |
| 2021-03-16 03:40:26 | <koz> | solidus-river: If you need C strings, there's specific stuff for that. |
| 2021-03-16 03:40:33 | <koz> | (look up Haskell FFI, there's a few guides) |
| 2021-03-16 03:40:45 | <koz> | ByteString _in itself_ isn't what you need there. |
| 2021-03-16 03:50:12 | × | tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 246 seconds) |
| 2021-03-16 03:53:10 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 2021-03-16 03:58:24 | → | ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net) |
| 2021-03-16 04:00:06 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.121) (Ping timeout: 256 seconds) |
| 2021-03-16 04:00:59 | → | tomku joins (~tomku@unaffiliated/tomku) |
| 2021-03-16 04:01:04 | → | elusive joins (~Jeanne-Ka@static-198-54-134-171.cust.tzulo.com) |
| 2021-03-16 04:02:27 | × | slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection) |
| 2021-03-16 04:05:58 | → | frozenErebus joins (~frozenEre@94.128.82.20) |
| 2021-03-16 04:06:54 | × | Volt_ quits (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net) (Quit: ) |
| 2021-03-16 04:07:23 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) (Remote host closed the connection) |
| 2021-03-16 04:08:15 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) |
| 2021-03-16 04:11:41 | → | loller_ joins (uid358106@gateway/web/irccloud.com/x-cnpraiotvintahet) |
| 2021-03-16 04:13:14 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) (Ping timeout: 264 seconds) |
| 2021-03-16 04:14:50 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 265 seconds) |
| 2021-03-16 04:21:21 | <charukiewicz> | qih: If you're using stack, the good news is that you only need to do a big compilation once in a while, either when you clear your ~/.stack directory or bump the version of the Stackage LTS your project depends on. |
| 2021-03-16 04:23:40 | → | forgottenone joins (~forgotten@176.42.16.24) |
| 2021-03-16 04:23:47 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
| 2021-03-16 04:24:36 | <koz> | charukiewicz: The same is true of recent Cabals, which cache _more_ aggressively than Stack can sometimes. |
| 2021-03-16 04:25:13 | <koz> | (well, cabal-installs I should say, to be clear) |
| 2021-03-16 04:26:06 | × | ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection) |
| 2021-03-16 04:30:54 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 2021-03-16 04:31:02 | <charukiewicz> | koz: True, and that's a good feature of the newer versions of cabal. Though since dependencies aren't pinned system or project level stackage snapshot, I think you're a bit more likely to see compilations if you don't pin dependencies the same way in every project. Stackage simplifies this a bit, especially for a first timer. |
| 2021-03-16 04:31:32 | <koz> | charukiewicz: Yeah, but you should be pinning properly anyway, especially if you're writing a library. |
| 2021-03-16 04:31:45 | <koz> | I don't think relying on a resolver to magically fix this issue is a good idea. |
| 2021-03-16 04:32:16 | <charukiewicz> | Indeed for a library, but qih is just using Hakyll, where again, for a beginner, I recommend just letting the resolver take over |
| 2021-03-16 04:33:34 | <koz> | Even then, learning to pin properly is a good practice, and not even that hard. In fact, _not_ learning this sooner is a disservice to a beginner, not a help IMHO. |
| 2021-03-16 04:34:19 | koz | is now known as koz_ |
| 2021-03-16 04:34:35 | <koz_> | Huh, didn't even notice my nick change, argh. |
| 2021-03-16 04:35:59 | → | vicfred joins (vicfred@gateway/vpn/mullvad/vicfred) |
| 2021-03-16 04:37:20 | <charukiewicz> | If you're using a pinned stackage LTS or nixpkgs commit, I don't really see a benefit of specifying tight version bounds in your cabal file (referring to applications, not libraries here). You're implicitly already pinning a particular version of every one of your dependencies through whatever snapshot/commit hash you pick. |
| 2021-03-16 04:38:00 | <koz_> | Why drag in all the additional hassle of Stack when you can just use pins to do the exact same thing? It means learning _its_ undocumented messes as well as Cabal's. |
| 2021-03-16 04:38:15 | × | tanner_ quits (~tanner@216.106.138.184) (Quit: tanner_) |
| 2021-03-16 04:38:25 | <koz_> | Literally, in my view, Stack adds nothing anymore to anything other than a false sense of convenience and a tonne of undocumented annoyances. |
| 2021-03-16 04:38:37 | <koz_> | However, that is my view and I think I've documented it adequately, so I'll stop. |
| 2021-03-16 04:38:43 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1) |
| 2021-03-16 04:38:56 | → | tanner_ joins (~tanner@216.106.138.184) |
| 2021-03-16 04:40:02 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 2021-03-16 04:40:22 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:c98d:ec81:e94d:3657) () |
| 2021-03-16 04:40:40 | <curiousgay> | I thought stack is a modern replacement to cabal-install |
| 2021-03-16 04:40:53 | <koz_> | curiousgay: Lol. That's not really accurate in any sense. |
| 2021-03-16 04:41:09 | → | DTZUZU joins (~DTZUZO@205.ip-149-56-132.net) |
| 2021-03-16 04:43:08 | <charukiewicz> | curiousgay: It's true that if you're using stack on a project, it's true that you probably don't need to use the cabal cli tool. That being said, it's not really a replacement. It layers additional machinery on top of cabal and tries to offer a better UX. Generally I think it is a better UX, despite not being my build tool of choice. |
| 2021-03-16 04:43:23 | × | tanner_ quits (~tanner@216.106.138.184) (Ping timeout: 245 seconds) |
| 2021-03-16 04:43:34 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2021-03-16 04:43:48 | <koz_> | I think it has a few nice UX things - it's test output _is_ nicer by default, for example. |
| 2021-03-16 04:43:50 | × | DTZUZU_ quits (~DTZUZO@207.81.119.43) (Ping timeout: 265 seconds) |
| 2021-03-16 04:44:04 | <koz_> | (you can get the same with cabal-install, just that the flag you need to pass is not memorable) |
| 2021-03-16 04:44:32 | <koz_> | (and I keep having to look it up every time) |
| 2021-03-16 04:44:35 | <charukiewicz> | I've found that no matter what tool you're using, you probably want to save off your build/repl/test commands in a Makefile |
| 2021-03-16 04:45:07 | <koz_> | charukiewicz: The original 'build system' rofl. |
| 2021-03-16 04:45:12 | × | swarmcollective quits (~joseph@cpe-24-208-140-96.insight.res.rr.com) (Quit: WeeChat 2.8) |
| 2021-03-16 04:47:11 | <curiousgay> | koz_: that sounds like stack deliberately fragments community by not providing a tool that runs cabal-install behind the scenes, but instead creates its own ecosystem |
| 2021-03-16 04:47:25 | <koz_> | curiousgay: Some people would make this argument. |
| 2021-03-16 04:48:02 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
| 2021-03-16 04:53:05 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-03-16 04:55:15 | → | bobweb joins (ac381148@172.56.17.72) |
| 2021-03-16 04:55:29 | → | soulseeker_ joins (~soulseeke@90.214.167.201) |
| 2021-03-16 04:55:50 | × | polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 264 seconds) |
| 2021-03-16 04:56:14 | × | lupulo quits (~lupulo@163.117.64.56) (Read error: Connection reset by peer) |
| 2021-03-16 04:59:11 | <bobweb> | Hi. Please tell me how to code a Gen String that only returns strings composed of English letters (case insensitive). My basic approach is: stringGen :: Gen [Char]; stringGen = suchThat arbitrary (elem (['a'..'z'] ++ ['A'..'Z'])). Thanks. |
| 2021-03-16 04:59:49 | <koz_> | suchThat arbitrary will run quite slowly. |
| 2021-03-16 05:01:00 | <bobweb> | @koz Just working through a text trying to learn the basics right now... |
| 2021-03-16 05:01:00 | <lambdabot> | Maybe you meant: yow do |
| 2021-03-16 05:01:33 | <koz_> | You probably want something like 'liftArbitrary (elem (['a' .. 'z'] <> [ |
| 2021-03-16 05:01:37 | <bobweb> | @koz what to you recommend? |
| 2021-03-16 05:01:37 | <lambdabot> | Maybe you meant: yow do |
| 2021-03-16 05:01:38 | → | cobreadmonster joins (499efd7f@haskell/developer/breadmonster) |
| 2021-03-16 05:01:41 | <koz_> | 'A' .. 'Z'])) |
| 2021-03-16 05:01:42 | <koz_> | ' |
| 2021-03-16 05:02:11 | <koz_> | Sorry about the line breaks. |
| 2021-03-16 05:02:25 | <bobweb> | OK, lift is coming up in the next chapter or two. |
| 2021-03-16 05:02:32 | <bobweb> | No worries. |
| 2021-03-16 05:02:44 | <koz_> | It works because [] has the liftArbitrary method defined for it. |
All times are in UTC.