Logs on 2021-06-07 (liberachat/#haskell)
| 00:01:02 | → | haskellGuestGuy joins (~haskellGu@81.96.113.213) |
| 00:01:31 | × | ddellacosta quits (~ddellacos@89.45.224.248) (Ping timeout: 264 seconds) |
| 00:01:36 | <Flux> | can i make it not recompile it every time i type stack repl hasktorch |
| 00:02:42 | × | prite quits (~pritam@user/pritambaral) (Ping timeout: 264 seconds) |
| 00:03:35 | × | xff0x quits (~xff0x@2001:1a81:53fc:900:3f16:186f:3986:9c65) (Ping timeout: 252 seconds) |
| 00:04:08 | → | xff0x joins (~xff0x@2001:1a81:53fc:900:d0f6:e7c5:21c7:3f71) |
| 00:04:28 | <Flux> | what's the easiest way to install new version of ghci? |
| 00:05:52 | <haskellGuestGuy> | anyone connecting to this server/channel via limeChat IRC? |
| 00:06:19 | <shapr> | Flux: I use ghcup |
| 00:06:20 | <geekosaur> | Flux, with stack you select a different resolver in stack.yaml |
| 00:06:22 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 00:06:41 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 00:06:59 | <geekosaur> | consult stackage.org to see what resolvers come with what ghc(i) versions |
| 00:08:25 | <Flux> | ghcup doesn't support 8.10.4? :0 |
| 00:08:42 | <geekosaur> | it does |
| 00:08:55 | <geekosaur> | but stack won't use things you install with ghcup |
| 00:09:12 | <geekosaur> | it uses things it installs based on the resolver you select |
| 00:10:55 | <Axman6> | haskellGuestGuy: no, but if you ask your question we might be able to help anyway |
| 00:11:07 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 264 seconds) |
| 00:11:54 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 00:12:32 | → | chris_ joins (~chris@81.96.113.213) |
| 00:13:23 | <Flux> | when i type ghci --version i am getting "The Glorious Glasgow Haskell Compilation System, version 9.0.0.20210113" |
| 00:13:25 | <Flux> | what is happening T_T |
| 00:13:40 | <Flux> | i don't see this in my ~/.ghc |
| 00:14:59 | <geekosaur> | o.O that is a beta release of what became 9.0.1 |
| 00:15:02 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 00:15:31 | <Flux> | how do i fix this LOL |
| 00:15:33 | <geekosaur> | maerwald, any idea what's up here? |
| 00:15:40 | <yushyin> | isn't it glorious? ;) |
| 00:15:52 | <shapr> | Flux: how'd you get a beta release? |
| 00:16:00 | <Flux> | no idea |
| 00:16:47 | × | chris_ quits (~chris@81.96.113.213) () |
| 00:17:02 | → | chris_ joins (~chris@81.96.113.213) |
| 00:18:09 | <yushyin> | where did you get this ghci, where is the binary located? might give you a clue as to how it was installed. |
| 00:18:11 | <geekosaur> | I'm going to guess you used ghcup to blindly install the latest ghc on or around 20210113, and got that prerelease |
| 00:18:26 | <geekosaur> | like today there's a 20210422 prerelease of 9.2.0 |
| 00:18:33 | <Flux> | how do i find where the binary is located |
| 00:18:52 | × | chris_ quits (~chris@81.96.113.213) (Client Quit) |
| 00:18:55 | <Flux> | what should the binary be called |
| 00:19:02 | <Axman6> | `which ghci` |
| 00:19:08 | <yushyin> | try `which ghci' or `where ghci' |
| 00:19:13 | → | chris_ joins (~chris@81.96.113.213) |
| 00:19:14 | × | eight quits (~eight@user/eight) (Read error: Connection reset by peer) |
| 00:19:18 | <Flux> | oh it is just /usr/local/bin/ghci |
| 00:19:18 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 00:19:24 | → | eight joins (~eight@user/eight) |
| 00:19:25 | <chris_> | l |
| 00:19:33 | × | eight quits (~eight@user/eight) (Client Quit) |
| 00:19:45 | <chris_> | axeman6 think i've managed to get limeChat working thx |
| 00:19:47 | <Axman6> | what does `ls -l /usr/local/bin/ghci` say? |
| 00:20:05 | <Axman6> | chris_: looks like it's working to me, welcome! |
| 00:20:12 | <Flux> | lrwxrwxrwx 1 root root 19 Jan 16 23:04 /usr/local/bin/ghci -> ghci-9.0.0.20210113 |
| 00:20:23 | <Flux> | hmm i symlinked it somehow |
| 00:20:24 | <Flux> | weird |
| 00:20:46 | <monochrom> | "ghcup tui" exists. |
| 00:21:00 | <haskellGuestGuy> | chris_ test |
| 00:21:04 | <monochrom> | ghcup also makes those symlinks. |
| 00:21:23 | <haskellGuestGuy> | chris_ test |
| 00:21:41 | <geekosaur> | but ghcup's look like: lrwxrwxrwx 1 allbery allbery 22 Feb 7 12:42 /home/allbery/.ghcup/bin/ghci -> ../ghc/8.10.4/bin/ghci* |
| 00:22:12 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 00:22:18 | <monochrom> | Ah, right. |
| 00:23:00 | <Axman6> | I'm so glad ghcup exists, working with ghc versions was such a pain before it. |
| 00:23:40 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 00:23:56 | <yushyin> | yeah, /usr/local/bin is not usually the path ghcup nor stack installs binaries to, right? |
| 00:24:09 | <monochrom> | Right. |
| 00:24:09 | <geekosaur> | neither one, yes |
| 00:24:33 | <geekosaur> | nor post system package managers (aside from *bsd) |
| 00:24:37 | <geekosaur> | *most |
| 00:25:15 | <geekosaur> | that said there's also brew on macos |
| 00:25:32 | <yushyin> | so check if the path is owned by your package manager and if not just rm it? |
| 00:25:33 | <geekosaur> | but I'd expect that to use a cask, especially for a prerelease |
| 00:25:35 | <Flux> | strange |
| 00:26:37 | <Flux> | rm all 3 of these? ghc-9.0.0.20210113ghci-9.0.0.20210113ghc-pkg-9.0.0.20210113 |
| 00:27:00 | <janus> | Flux: you can use apt-file to check if your package manager installed those |
| 00:27:12 | <janus> | if you are on a debian derivative |
| 00:27:33 | <Flux> | did not know about apt-file |
| 00:27:35 | <Flux> | but yes i am on ubuntu |
| 00:27:52 | <janus> | but apt-file may not work well with third-party packages, i think |
| 00:27:57 | × | chris_ quits (~chris@81.96.113.213) () |
| 00:28:03 | <janus> | so maybe better try with "dpkg -L ghc<tab>" |
| 00:28:15 | <janus> | and you can use tab completion to try to find a package name |
| 00:28:23 | <Flux> | tab completion only shows ghc and ghc-8.8.2 |
| 00:28:40 | <janus> | ok well then i guess it's not from the package manager |
| 00:28:56 | <janus> | Flux: maybe reconsider how many sources you install ghc from |
| 00:29:01 | → | chris_ joins (~chris@81.96.113.213) |
| 00:29:07 | <Flux> | whoops no idea |
| 00:29:10 | <Flux> | now i know |
| 00:29:12 | <janus> | because i find it confusing to have one from ghcup, one from the OS, one from stack |
| 00:29:24 | <Flux> | yeah |
| 00:29:31 | <Flux> | this is likely from when i had no idea what was happening |
| 00:29:37 | <Flux> | should i just use cabal or something instead |
| 00:29:55 | <Flux> | will that resolve my issues |
| 00:30:10 | → | ddellacosta joins (~ddellacos@89.46.62.43) |
| 00:30:11 | <janus> | depends on the issue ;) |
| 00:30:18 | <sclv> | cabal is a distinct tool from ghc installers |
| 00:30:28 | <sclv> | you use it in conjunction with a ghc from ghcup or the os, not as opposed to |
| 00:30:35 | <Flux> | yeah i meant |
| 00:30:37 | <Flux> | cabal as opposed to stack |
| 00:30:38 | <Flux> | :P |
| 00:31:09 | <sclv> | well i tend to encourage people using cabal over stack, but i don't want to promise it has anything to do with this particular issue :-) |
| 00:31:34 | → | ddellaco_ joins (~ddellacos@89.46.62.157) |
| 00:31:56 | <janus> | since you're working with a giant complicated project like hasktorch, maybe ask them what they use, and then use the same |
| 00:31:59 | <sclv> | note that ghcup installs to .ghcup usually and you should make sure your .bashrc will source ~/.ghcup/env to automatically get its installed versions in scope |
| 00:32:08 | <Flux> | cabal and stack options both exist |
| 00:32:15 | <Flux> | for hasktorch |
| 00:32:24 | <Flux> | i think i chose stack randomly |
| 00:33:20 | <sclv> | if your ghc is coming from ghcup you can just run "ghcup" to get a nice help that explains how to pick and switch ghcs |
| 00:34:05 | <janus> | Flux: try doing ls /usr/local/bin/*20210113 because i think there are more binaries than the ones you listed |
| 00:34:13 | chris_ | is now known as teaSlurper |
| 00:34:51 | × | ddellacosta quits (~ddellacos@89.46.62.43) (Ping timeout: 252 seconds) |
| 00:35:32 | <geekosaur> | have they fixed the bit where hsc2hs and friends are only installed nonversioned yet? (hm, I should check that locally) |
| 00:35:45 | × | ddellaco_ quits (~ddellacos@89.46.62.157) (Ping timeout: 245 seconds) |
| 00:35:52 | <geekosaur> | ah, yes |
| 00:36:09 | <janus> | ghcup versions all of them, iirc |
| 00:36:49 | <Flux> | if i install a version of ghc with ghcup |
| 00:36:53 | <Flux> | am i supposed to be able to run ghci |
| 00:36:54 | <yushyin> | is this what happens if people randomly `curl ... | sh' from the internet? :) |
| 00:38:34 | <geekosaur> | source ~/.ghcup/env |
| 00:38:34 | <geekosaur> | and arrange for your shell to do that on startup, so it can find things installed via ghcup |
| 00:38:34 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
| 00:38:35 | <yushyin> | Flux: if you selected a ghc version as your default in ghcup and set up your PATH correctly, yes. |
| 00:38:36 | <glguy> | sclv, I stopped trying to figure out the command line (not that it was particularly complicated) and always use `ghcup tui` now |
| 00:38:44 | × | softwarm quits (~softwarm@2600:8801:db01:8f0:60c3:f8d4:403b:5c34) (Quit: Client closed) |
| 00:38:50 | → | geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 00:39:00 | <geekosaur> | hm, I stand corrected, I see no env in there on my system. I just added ~/.ghcup/bin to $PATH locally but my $PATH management is somewhat complex |
| 00:39:05 | → | ddellacosta joins (~ddellacos@86.106.121.235) |
| 00:40:17 | <Flux> | yushyin: how do i set a ghc version as default in ghcup |
| 00:40:17 | × | Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer) |
| 00:40:27 | <Flux> | is it just ghcup set |
| 00:40:39 | → | Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 00:40:44 | <geekosaur> | or the equivalent using ghcup tui, yes |
| 00:40:45 | <yushyin> | try `ghcup tui' |
| 00:40:54 | <Flux> | oh nice |
| 00:40:57 | <Flux> | looks nice |
| 00:43:30 | → | lavaman joins (~lavaman@98.38.249.169) |
| 00:43:51 | <Flux> | hmm so if i want to use stack and ghcup how would that work |
| 00:44:04 | <Flux> | + what are the things to be cautious about |
| 00:44:53 | <sclv> | they're orthogonal |
| 00:45:00 | <sclv> | stack manages ghcs in its own special way and ghcup in another |
| 00:45:03 | <sclv> | the two never intersect |
| 00:45:05 | <hololeap> | is there any big reason why type families cannot be partially applied, or is it just something that is in the process of being implemented? |
| 00:45:31 | <boxscape> | hololeap there are reasons but it is in the process of being proposed https://github.com/ghc-proposals/ghc-proposals/pull/242 |
| 00:45:34 | <sclv> | so they don't work together, but they don't hurt one another (except you get even more ghc installs littering your system) |
| 00:46:01 | <hololeap> | boxscape: cool thanks |
| 00:46:31 | <boxscape> | hololeap the main reason is that when you know `f x ~ g y` you can usually deduce that `x ~ y` and `f ~ g`, but that's not true if f and g are type families, which makes things more complicated |
| 00:46:44 | <sclv> | here's a direct link to the proposal: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0242-unsaturated-type-families.rst |
| 00:47:22 | <boxscape> | hololeap oh whoops it was actually already accepted so I guess it is in the process of being implemented |
| 00:48:39 | × | haskellGuestGuy quits (~haskellGu@81.96.113.213) (Quit: Client closed) |
| 00:51:44 | <Flux> | are there nice resources to understand how stack works |
| 00:51:57 | <Flux> | i feel like there are plenty of half-detailed tutorials |
| 00:52:07 | <Axman6> | what about the stack documentation? |
| 00:52:23 | → | yd502 joins (~yd502@180.168.212.6) |
| 00:52:32 | <Flux> | i am generally too lazy to read through documentation in full whoops |
| 00:52:53 | <Axman6> | so the answer is yes, you just don't want to read it ;) |
| 00:52:57 | <yushyin> | wow ... |
| 00:53:13 | <Flux> | lmao |
| 00:53:20 | <Flux> | you right |
| 00:53:36 | <Flux> | sometimes i just want to absorb information effortlessly |
| 00:53:36 | → | yd502_ joins (~yd502@180.168.212.6) |
| 00:53:36 | <Flux> | :) |
| 00:53:43 | × | vicfred quits (~vicfred@user/vicfred) (Ping timeout: 264 seconds) |
| 00:53:48 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 00:56:09 | × | dcompoze quits (~dcompoze@5E98D6D9.static.tld.pl) (Quit: WeeChat 3.1) |
| 00:56:43 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 264 seconds) |
| 01:02:07 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 264 seconds) |
| 01:02:52 | × | ddellacosta quits (~ddellacos@86.106.121.235) (Remote host closed the connection) |
| 01:09:20 | → | ddellacosta joins (~ddellacos@86.106.143.144) |
| 01:09:45 | <Flux> | is there a way to make ghci not show all the packages being loaded |
| 01:09:57 | <geekosaur> | -v0, I think |
| 01:10:45 | <Flux> | stack ghci -v0? |
| 01:10:47 | <Flux> | didn't seem to work |
| 01:11:00 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
| 01:11:28 | <geekosaur> | with stack you'd need: stack ghci --ghci-options=-v0 or something like that |
| 01:12:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:12:12 | <Flux> | o |
| 01:15:09 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 01:16:03 | × | xff0x quits (~xff0x@2001:1a81:53fc:900:d0f6:e7c5:21c7:3f71) (Ping timeout: 272 seconds) |
| 01:17:19 | → | xff0x joins (~xff0x@2001:1a81:5240:1700:ccf7:e726:9438:c4ca) |
| 01:17:50 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 01:18:27 | → | teaSlurper joins (~chris@81.96.113.213) |
| 01:18:42 | → | yd502_ joins (~yd502@180.168.212.6) |
| 01:19:39 | × | Flux quits (~Flux@41337027.cst.lightpath.net) (Quit: Client closed) |
| 01:23:02 | → | teaSlurp_ joins (~chris@81.96.113.213) |
| 01:23:07 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 268 seconds) |
| 01:30:17 | × | madnight quits (~madnight@static.59.103.201.195.clients.your-server.de) (Excess Flood) |
| 01:30:27 | → | madnight joins (~madnight@static.59.103.201.195.clients.your-server.de) |
| 01:30:39 | × | hololeap quits (hololeap@user/hololeap) (Read error: Connection reset by peer) |
| 01:32:03 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 01:32:12 | × | gmc quits (sid58314@charlton.irccloud.com) (Ping timeout: 244 seconds) |
| 01:32:21 | → | gmc joins (sid58314@id-58314.charlton.irccloud.com) |
| 01:32:43 | × | Katarushisu quits (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (Ping timeout: 244 seconds) |
| 01:33:03 | → | Katarushisu joins (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) |
| 01:33:09 | × | Square quits (~a@178.62.91.8) (Ping timeout: 272 seconds) |
| 01:33:47 | × | jlamothe quits (~jlamothe@198.251.57.81) (Ping timeout: 272 seconds) |
| 01:33:59 | → | DontKnowWhatImDo joins (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) |
| 01:34:01 | → | jlamothe joins (~jlamothe@198.251.57.81) |
| 01:34:31 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
| 01:34:56 | → | Square joins (~a@178.62.91.8) |
| 01:35:46 | × | statusbot quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
| 01:35:58 | → | statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
| 01:36:01 | × | ddellacosta quits (~ddellacos@86.106.143.144) (Remote host closed the connection) |
| 01:36:20 | × | SeemedLikeAGoodI quits (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) (Ping timeout: 244 seconds) |
| 01:39:03 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 01:39:26 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
| 01:39:35 | <cdsmith> | I want some kind of constraint that lets me access a type-level Symbol at runtime as a String. Does that sound like something that exists? |
| 01:39:44 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 01:39:55 | <Axman6> | KnownSymbol? |
| 01:39:56 | <geekosaur> | KnownSymbol? |
| 01:40:03 | <Axman6> | @quote stereo |
| 01:40:03 | <lambdabot> | monochrom says: Welcome to #haskell, where @remember's are in majestic stereo! |
| 01:40:07 | <cdsmith> | Ah, sounds promising. Yes |
| 01:42:45 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 01:43:57 | × | li quits (~li@libera/staff/li) (Read error: Connection reset by peer) |
| 01:44:42 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 01:44:48 | → | li joins (~li@libera/staff/li) |
| 01:45:38 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 01:45:49 | × | noddy quits (~user@user/noddy) (Ping timeout: 272 seconds) |
| 01:46:00 | <int-e> | @quote fugue |
| 01:46:00 | <lambdabot> | monochrom says: Welcome to #haskell, where your questions are answered in contrapuntal fugues. |
| 01:46:20 | → | noddy joins (~user@user/noddy) |
| 01:49:15 | × | whiteline quits (~whiteline@c-64c6e253.54725-0-757473696b74.bbcust.telenor.se) (Ping timeout: 244 seconds) |
| 01:49:27 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 01:49:37 | → | whiteline joins (~whiteline@c-64c6e253.54725-0-757473696b74.bbcust.telenor.se) |
| 01:49:46 | × | matijja quits (~matijja@193.77.181.208) (Ping timeout: 244 seconds) |
| 01:50:30 | → | matijja joins (~matijja@193.77.181.208) |
| 01:50:50 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 01:51:25 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 01:51:50 | × | ell quits (~ellie@user/ellie) (Ping timeout: 244 seconds) |
| 01:52:03 | → | ell joins (~ellie@user/ellie) |
| 01:52:47 | × | Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
| 01:54:34 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 01:57:48 | × | polux quits (~polux@51.15.169.172) (Read error: Connection reset by peer) |
| 01:57:53 | → | polux0 joins (~polux@51.15.169.172) |
| 01:58:52 | × | blizzard quits (~winter@2603-6011-f901-9e5b-78b5-8b2f-cdb2-4171.res6.spectrum.com) (Ping timeout: 272 seconds) |
| 01:59:43 | × | jespada quits (~jespada@90.254.242.55) (Ping timeout: 264 seconds) |
| 02:00:19 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 264 seconds) |
| 02:00:26 | → | ddellacosta joins (~ddellacos@86.106.143.248) |
| 02:00:55 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 02:00:58 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:01:08 | × | whiteline quits (~whiteline@c-64c6e253.54725-0-757473696b74.bbcust.telenor.se) (Ping timeout: 244 seconds) |
| 02:01:25 | → | jespada joins (~jespada@90.254.242.55) |
| 02:01:27 | × | Adeon quits (sid418992@tooting.irccloud.com) (Ping timeout: 272 seconds) |
| 02:01:27 | × | shachaf quits (~shachaf@user/shachaf) (Ping timeout: 272 seconds) |
| 02:01:31 | → | whiteline joins (~whiteline@c-64c6e253.54725-0-757473696b74.bbcust.telenor.se) |
| 02:01:35 | → | shachaf joins (~shachaf@user/shachaf) |
| 02:01:37 | → | Adeon joins (sid418992@id-418992.tooting.irccloud.com) |
| 02:02:05 | × | teaSlurp_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 02:02:21 | → | blizzard joins (~winter@2603-6011-f901-9e5b-78b5-8b2f-cdb2-4171.res6.spectrum.com) |
| 02:02:42 | → | teaSlurper joins (~chris@81.96.113.213) |
| 02:05:24 | → | yd502 joins (~yd502@180.168.212.6) |
| 02:06:05 | × | tapas quits (sid467876@charlton.irccloud.com) (Ping timeout: 272 seconds) |
| 02:06:07 | → | yd502_ joins (~yd502@180.168.212.6) |
| 02:06:14 | → | tapas joins (sid467876@id-467876.charlton.irccloud.com) |
| 02:07:23 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:07:23 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (strontium.libera.chat (Nickname regained by services))) |
| 02:07:23 | finn_elija | is now known as FinnElija |
| 02:07:59 | → | yd502__ joins (~yd502@180.168.212.6) |
| 02:08:25 | × | Ekho quits (~Ekho@user/ekho) (Ping timeout: 272 seconds) |
| 02:08:25 | × | int-e quits (~noone@int-e.eu) (Ping timeout: 272 seconds) |
| 02:08:43 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
| 02:09:15 | × | urdh quits (~urdh@h88-129-148-132.cust.a3fiber.se) (Ping timeout: 272 seconds) |
| 02:10:00 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 02:10:03 | → | urdh joins (~urdh@h88-129-148-132.cust.a3fiber.se) |
| 02:11:06 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 02:11:41 | → | teaSlurper joins (~chris@81.96.113.213) |
| 02:13:00 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 02:13:11 | → | yd502_ joins (~yd502@180.168.212.6) |
| 02:13:27 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 02:13:29 | × | hueso quits (~root@152.170.216.40) (Ping timeout: 272 seconds) |
| 02:13:45 | → | Ekho joins (~Ekho@user/ekho) |
| 02:13:57 | → | hueso joins (~root@152.170.216.40) |
| 02:16:01 | × | thaumavorio quits (~thaumavor@thaumavor.io) (Ping timeout: 272 seconds) |
| 02:16:19 | → | int-e joins (~noone@int-e.eu) |
| 02:16:51 | × | yd502__ quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds) |
| 02:16:51 | × | meejah quits (~meejah@rutas.meejah.ca) (Ping timeout: 272 seconds) |
| 02:16:59 | → | meejah joins (~meejah@rutas.meejah.ca) |
| 02:17:20 | → | thaumavorio joins (~thaumavor@thaumavor.io) |
| 02:18:36 | → | eight joins (~eight@user/eight) |
| 02:19:44 | × | wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 244 seconds) |
| 02:20:05 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:20:17 | × | ddellacosta quits (~ddellacos@86.106.143.248) (Remote host closed the connection) |
| 02:21:13 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 02:24:46 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 02:26:06 | × | td_ quits (~td@muedsl-82-207-238-175.citykom.de) (Ping timeout: 264 seconds) |
| 02:26:47 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 272 seconds) |
| 02:26:55 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 02:27:57 | → | td_ joins (~td@muedsl-82-207-238-142.citykom.de) |
| 02:28:03 | × | ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 272 seconds) |
| 02:28:07 | → | yd502__ joins (~yd502@180.168.212.6) |
| 02:28:09 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 02:28:17 | → | ralu joins (~ralu@static.211.245.203.116.clients.your-server.de) |
| 02:29:07 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 02:30:08 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:31:17 | → | ddellacosta joins (~ddellacos@89.46.62.38) |
| 02:32:07 | × | myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds) |
| 02:33:19 | × | blizzard quits (~winter@2603-6011-f901-9e5b-78b5-8b2f-cdb2-4171.res6.spectrum.com) (Ping timeout: 272 seconds) |
| 02:33:39 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 02:35:43 | × | ddellacosta quits (~ddellacos@89.46.62.38) (Ping timeout: 264 seconds) |
| 02:35:51 | × | yd502__ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 02:36:12 | → | yd502 joins (~yd502@180.168.212.6) |
| 02:36:19 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 264 seconds) |
| 02:37:02 | → | blizzard joins (~winter@2603-6011-f901-9e5b-78b5-8b2f-cdb2-4171.res6.spectrum.com) |
| 02:40:38 | → | ephemient joins (uid407513@id-407513.tooting.irccloud.com) |
| 02:42:47 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 02:42:53 | → | yd502_ joins (~yd502@180.168.212.6) |
| 02:43:27 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds) |
| 02:45:38 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 02:45:55 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 264 seconds) |
| 02:47:50 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 02:50:25 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:52:14 | → | sh9 joins (~sh9@softbank060116136158.bbtec.net) |
| 02:52:31 | → | myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net) |
| 02:53:35 | <teaSlurper> | how do you exit ghci repl |
| 02:53:53 | → | ddellacosta joins (~ddellacos@86.106.143.40) |
| 02:54:19 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 02:54:47 | <teaSlurper> | got it ctrl + d |
| 02:55:22 | <Axman6> | you can also use :quit (or just :q) |
| 02:55:45 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 02:57:23 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 02:58:39 | × | ddellacosta quits (~ddellacos@86.106.143.40) (Ping timeout: 272 seconds) |
| 03:01:47 | → | ddellacosta joins (~ddellacos@86.106.143.196) |
| 03:03:54 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 03:05:07 | × | boxscape quits (~boxscape@user/boxscape) (Ping timeout: 264 seconds) |
| 03:05:16 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 03:09:24 | → | ordinate joins (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) |
| 03:09:25 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 03:09:32 | <ordinate> | good evening everyone |
| 03:11:18 | → | thiross joins (~thiross@39.170.37.82) |
| 03:15:25 | × | thiross quits (~thiross@39.170.37.82) (Remote host closed the connection) |
| 03:17:21 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 03:17:39 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds) |
| 03:21:03 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:21:25 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 03:23:40 | → | vwork joins (~vwork@50-249-207-86-static.hfc.comcastbusiness.net) |
| 03:23:55 | <vwork> | . |
| 03:24:50 | → | yd502 joins (~yd502@180.168.212.6) |
| 03:25:31 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
| 03:25:37 | → | on9er joins (~WebUser@2a04:92c7:e:64e::5438) |
| 03:26:28 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 03:27:25 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 245 seconds) |
| 03:28:27 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 03:29:07 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
| 03:29:40 | Lord_of_Life_ | is now known as Lord_of_Life |
| 03:32:13 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds) |
| 03:32:19 | → | ddellaco_ joins (~ddellacos@89.45.224.100) |
| 03:33:32 | <teaSlurper> | in cabal if i want to export something i need to declare it in the exposed modules in .cabal file right? |
| 03:34:17 | × | ddellaco_ quits (~ddellacos@89.45.224.100) (Remote host closed the connection) |
| 03:34:25 | → | yd502 joins (~yd502@180.168.212.6) |
| 03:35:15 | × | ddellacosta quits (~ddellacos@86.106.143.196) (Ping timeout: 252 seconds) |
| 03:35:25 | → | Toast52_ joins (~Toast52@151.192.167.120) |
| 03:35:39 | → | otto_s_ joins (~user@p5de2f9fb.dip0.t-ipconnect.de) |
| 03:36:51 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 03:39:34 | × | otto_s quits (~user@p4ff27879.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 03:40:08 | → | noglog joins (~egigs@097-101-149-192.res.spectrum.com) |
| 03:40:30 | → | Abhoc joins (~Fred@107.126.47.49) |
| 03:41:43 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 264 seconds) |
| 03:45:48 | → | a6a45081-2b83 joins (~aditya@223.235.239.159) |
| 03:47:21 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 03:54:51 | × | alx741 quits (~alx741@181.196.69.96) (Quit: alx741) |
| 03:56:27 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:56:54 | × | on9er quits (~WebUser@2a04:92c7:e:64e::5438) (Quit: Leaving) |
| 03:57:40 | <ordinate> | yeah thats how it works |
| 03:57:47 | <ordinate> | afaik |
| 04:00:16 | <teaSlurper> | thx @ordinate |
| 04:00:31 | <ordinate> | npnp! lemme kno if i got it wrong |
| 04:00:48 | <teaSlurper> | i need to learn a bit of haskell for my dissertation project |
| 04:00:54 | <teaSlurper> | for computer music |
| 04:00:58 | <teaSlurper> | based thing |
| 04:01:06 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 04:03:02 | <ordinate> | oh dang, computer music is literally my entire jam |
| 04:03:13 | <ordinate> | pure data? |
| 04:05:50 | × | sh9 quits (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 3.0.1) |
| 04:06:46 | <teaSlurper> | is pure data written in haskell? i'm going through a haskell based book called school of music |
| 04:06:52 | <teaSlurper> | uses a haskell lib called euterpea |
| 04:07:10 | <teaSlurper> | teaches u haskell and music concepts at same time |
| 04:07:29 | → | wishful-night joins (~wishful-n@2804:14c:c0:8dbb:3f6f:c291:c6bb:42f8) |
| 04:09:08 | <ordinate> | nah pd is written in c, just the first thing that springs to mind when the phrase "computer music" is brought up |
| 04:09:19 | <ordinate> | ill have to check out that book tho |
| 04:11:07 | <teaSlurper> | cool |
| 04:11:17 | <teaSlurper> | what are you using haskell for @ordinate? |
| 04:11:37 | <ordinate> | surprisingly, also multimedia |
| 04:12:14 | <ordinate> | im currently developing my first "real" haskell project which is a newgrounds game of all things |
| 04:12:24 | <ordinate> | felt like that was funny enough to pursue for 3+ months so far |
| 04:12:28 | <teaSlurper> | ohh, game development? |
| 04:12:58 | <teaSlurper> | is the game playable? |
| 04:13:20 | <ordinate> | yes! though not currently all there graphically |
| 04:13:31 | × | myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds) |
| 04:13:34 | <teaSlurper> | github or? |
| 04:13:56 | <ordinate> | https://github.com/nikshalark/apl is what i have so far |
| 04:14:11 | <ordinate> | i'm no professional, excuse the mess |
| 04:14:21 | <Toast52_> | Isn't newgrounds flash games? Or are new games using html5 |
| 04:14:43 | <ordinate> | yeah newgrounds accepts html5 now |
| 04:14:47 | <ordinate> | has for a few years |
| 04:15:06 | <ordinate> | would be absolutely hilarious to use a haskell2as package |
| 04:16:42 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
| 04:16:42 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 04:16:46 | <teaSlurper> | i followed you on there |
| 04:16:57 | <teaSlurper> | i may try and run the project tomorrow |
| 04:17:05 | <teaSlurper> | miso is like a gui haskell library is it? |
| 04:17:10 | <ordinate> | thanks! i wouldnt advise that! |
| 04:17:25 | <ordinate> | miso is a haskell library for frontend web development |
| 04:17:33 | <teaSlurper> | i see |
| 04:17:33 | <wishful-night> | chess in haskell is cool, I tried implementing vanilla chess in haskell but then when it came time to implement move generation and validation I realized my data structures sucked and I should've gone with a bitboard, ended up just getting lazy and moving on to another project |
| 04:17:36 | <ordinate> | which, as far as i understand, is all the parts the user can look at |
| 04:17:56 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 04:18:16 | <ordinate> | running the project as of right now will just give you the title screen, all the actual game code is written but not yet hooked onto miso |
| 04:18:39 | <teaSlurper> | i see, so you have the game logic, but not the view/ui code linked up? |
| 04:18:45 | <ordinate> | not in the slightest |
| 04:19:08 | <teaSlurper> | are you going to use a design pattern of some sort to decouple the ui/view code from game logic code? |
| 04:20:03 | <teaSlurper> | chess seems like quite a complex thing to implement |
| 04:20:34 | <ordinate> | i agree chess is extremely fucking complicated, can attest as im rated a measly 600 on chess.com |
| 04:22:12 | <ordinate> | i dropped out of college, i have no knowledge of "design patterns" tho they seem incredibly useful |
| 04:23:17 | <dibblego> | this is good practice for implementing chess: https://github.com/system-f/fp-course/blob/master/projects/TicTacToe/TicTacToe.markdown |
| 04:24:14 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:24:27 | <ordinate> | my method would be to have some function that takes my board representation and displays it as whatever canvas bullshit i need |
| 04:25:16 | <teaSlurper> | yeah |
| 04:25:33 | <ordinate> | augh the fp-course.... still have yet to start on it. i have so many THINGS to read |
| 04:26:31 | <ordinate> | agon.pdf, simple ci server in haskell ebook, haskell in-depth, most of the stuff on stephen diehl's website |
| 04:27:34 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds) |
| 04:27:54 | × | a6a45081-2b83 quits (~aditya@223.235.239.159) (Quit: Konversation terminated!) |
| 04:31:57 | <ordinate> | sorry for ramblin!!! talkin on irc is hard to keep terse |
| 04:32:46 | → | ddellacosta joins (~ddellacos@89.46.62.56) |
| 04:32:53 | ← | vwork parts (~vwork@50-249-207-86-static.hfc.comcastbusiness.net) (Leaving) |
| 04:33:10 | → | a6a45081-2b83 joins (~aditya@223.235.239.159) |
| 04:33:41 | × | a6a45081-2b83 quits (~aditya@223.235.239.159) (Client Quit) |
| 04:34:13 | × | hmmmas quits (~chenqisu1@183.217.201.236) (Quit: Leaving.) |
| 04:36:10 | → | ddellaco_ joins (~ddellacos@89.45.224.230) |
| 04:37:24 | × | ddellacosta quits (~ddellacos@89.46.62.56) (Ping timeout: 252 seconds) |
| 04:37:45 | → | tose joins (~tose@ip-85-160-1-174.eurotel.cz) |
| 04:40:54 | × | ddellaco_ quits (~ddellacos@89.45.224.230) (Ping timeout: 245 seconds) |
| 04:41:03 | × | Toast52_ quits (~Toast52@151.192.167.120) (Quit: Leaving) |
| 04:42:27 | → | pe200012 joins (~pe200012@58.248.179.178) |
| 04:42:28 | × | pe200012 quits (~pe200012@58.248.179.178) (Remote host closed the connection) |
| 04:42:54 | → | pe200012 joins (~pe200012@58.248.179.178) |
| 04:44:20 | → | eggplant_ joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 04:44:32 | × | ordinate quits (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Quit: Leaving) |
| 04:45:55 | × | Toast52 quits (~Toast52@151.192.167.120) (Ping timeout: 264 seconds) |
| 04:46:04 | → | schuelermine joins (~schuelerm@user/schuelermine) |
| 04:46:34 | → | SkamDart joins (~SkamDart@ip70-187-232-148.oc.oc.cox.net) |
| 04:46:57 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d950:8679:5786:8899) (Ping timeout: 272 seconds) |
| 04:48:27 | × | schuelermine quits (~schuelerm@user/schuelermine) (Client Quit) |
| 04:50:17 | × | tose quits (~tose@ip-85-160-1-174.eurotel.cz) (Quit: WeeChat 3.0) |
| 04:50:33 | → | tose joins (~tose@ip-85-160-1-174.eurotel.cz) |
| 04:51:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:55:32 | <SkamDart> | @help |
| 04:55:32 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
| 04:55:38 | <SkamDart> | list |
| 04:56:17 | <SkamDart> | @list |
| 04:56:17 | <lambdabot> | What module? Try @listmodules for some ideas. |
| 04:56:20 | <SkamDart> | @listmodules |
| 04:56:21 | <lambdabot> | activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search |
| 04:56:21 | <lambdabot> | seen slap source spell system tell ticker todo topic type undo unlambda unmtl version where |
| 04:56:31 | <SkamDart> | @hoogle |
| 04:56:31 | <lambdabot> | package base |
| 04:56:31 | <lambdabot> | package bytestring |
| 04:56:31 | <lambdabot> | package containers |
| 04:56:40 | <SkamDart> | @hoogle a -> a |
| 04:56:40 | <lambdabot> | Prelude id :: a -> a |
| 04:56:40 | <lambdabot> | Data.Function id :: a -> a |
| 04:56:40 | <lambdabot> | GHC.Base breakpoint :: a -> a |
| 04:58:16 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 04:59:24 | <dminuoso> | SkamDart: You can use a /query to play with lambdabot |
| 05:08:19 | → | ddellacosta joins (~ddellacos@86.106.143.100) |
| 05:11:30 | × | noglog quits (~egigs@097-101-149-192.res.spectrum.com) (Quit: Reconnecting) |
| 05:12:59 | × | ddellacosta quits (~ddellacos@86.106.143.100) (Ping timeout: 245 seconds) |
| 05:15:42 | → | noglog joins (~egigs@097-101-149-192.res.spectrum.com) |
| 05:17:15 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 05:18:14 | × | nattiestnate quits (~nate@180.242.128.159) (Quit: WeeChat 3.1) |
| 05:18:19 | × | tose quits (~tose@ip-85-160-1-174.eurotel.cz) (Ping timeout: 264 seconds) |
| 05:23:22 | → | jorjor joins (~jorgemene@85.251.190.6.dyn.user.ono.com) |
| 05:25:16 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: node-irc says goodbye) |
| 05:25:31 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 05:25:31 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 05:25:41 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Client Quit) |
| 05:25:58 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 05:26:32 | → | v01d4lph4 joins (~v01d4lph4@user/v01d4lph4) |
| 05:26:36 | → | yd502_ joins (~yd502@180.168.212.6) |
| 05:28:20 | ← | vaibhavsagar[m] parts (~vaibhavsa@2001:470:69fc:105::ffe) () |
| 05:28:28 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 05:28:47 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:29:39 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 245 seconds) |
| 05:29:57 | × | pe200012 quits (~pe200012@58.248.179.178) (Remote host closed the connection) |
| 05:30:22 | → | pe200012 joins (~pe200012@58.248.179.178) |
| 05:33:19 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
| 05:33:45 | Pixi_ | is now known as Pixi |
| 05:35:43 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:36:44 | → | tose joins (~tose@ip-85-160-1-174.eurotel.cz) |
| 05:37:24 | polux0 | is now known as polux |
| 05:37:25 | × | unyu quits (~pyon@user/pyon) (Ping timeout: 245 seconds) |
| 05:37:51 | → | vicfred joins (~vicfred@user/vicfred) |
| 05:39:21 | → | unyu joins (~pyon@user/pyon) |
| 05:41:39 | → | ddellacosta joins (~ddellacos@89.45.224.230) |
| 05:41:58 | → | Toast52 joins (~Toast52@151.192.167.120) |
| 05:46:31 | × | ddellacosta quits (~ddellacos@89.45.224.230) (Ping timeout: 264 seconds) |
| 05:46:45 | × | noglog quits (~egigs@097-101-149-192.res.spectrum.com) (Quit: Reconnecting) |
| 05:46:57 | → | noglog joins (~egigs@097-101-149-192.res.spectrum.com) |
| 05:48:13 | × | noglog quits (~egigs@097-101-149-192.res.spectrum.com) (Client Quit) |
| 05:48:20 | → | noglog_ joins (~egigs@097-101-149-192.res.spectrum.com) |
| 05:49:20 | → | Bartosz joins (~textual@24.35.90.211) |
| 05:50:11 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 05:53:49 | × | jorjor quits (~jorgemene@85.251.190.6.dyn.user.ono.com) (Ping timeout: 245 seconds) |
| 05:54:57 | × | Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds) |
| 05:55:31 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 06:01:28 | × | noglog_ quits (~egigs@097-101-149-192.res.spectrum.com) (Quit: .) |
| 06:02:01 | × | Abhoc quits (~Fred@107.126.47.49) (Quit: Leaving) |
| 06:02:48 | → | lavaman joins (~lavaman@98.38.249.169) |
| 06:02:59 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 245 seconds) |
| 06:04:06 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 06:06:49 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 06:07:00 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:11:19 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds) |
| 06:12:02 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 06:13:06 | → | imdoor joins (~imdoor@balticom-142-78-50.balticom.lv) |
| 06:21:13 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:458d:db56:1c93:24ea) |
| 06:22:04 | → | ddellacosta joins (~ddellacos@86.106.143.87) |
| 06:26:43 | × | ddellacosta quits (~ddellacos@86.106.143.87) (Ping timeout: 264 seconds) |
| 06:28:28 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 06:28:50 | → | img joins (~img@user/img) |
| 06:31:34 | × | img quits (~img@user/img) (Client Quit) |
| 06:32:13 | → | img joins (~img@user/img) |
| 06:33:12 | → | chele joins (~chele@user/chele) |
| 06:33:54 | → | ddellacosta joins (~ddellacos@89.46.62.125) |
| 06:34:02 | × | bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:34:55 | × | tose quits (~tose@ip-85-160-1-174.eurotel.cz) (Quit: WeeChat 3.0) |
| 06:37:40 | → | ThatsWhatIDo joins (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) |
| 06:38:43 | × | ddellacosta quits (~ddellacos@89.46.62.125) (Ping timeout: 264 seconds) |
| 06:39:30 | × | DontKnowWhatImDo quits (~whateverm@pool-108-54-183-148.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
| 06:42:08 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 06:42:35 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:8fa1:cc04:6abc:7131) |
| 06:43:12 | × | aerona quits (~aerona@2600:6c54:4600:f300:1c:eb15:276e:4179) (Quit: Leaving) |
| 06:43:53 | → | hmmmas joins (~chenqisu1@183.217.201.236) |
| 06:44:16 | × | wishful-night quits (~wishful-n@2804:14c:c0:8dbb:3f6f:c291:c6bb:42f8) (Quit: Client closed) |
| 06:45:23 | → | jorjor joins (~jorgemene@85.251.190.6.dyn.user.ono.com) |
| 06:47:58 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 06:51:51 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:53:38 | → | Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr) |
| 06:57:29 | → | lavaman joins (~lavaman@98.38.249.169) |
| 06:57:48 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 06:58:45 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
| 06:58:46 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Client Quit) |
| 07:02:03 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 07:06:23 | → | bfrk joins (~Thunderbi@200116b8451fe900af67d936efb17ea9.dip.versatel-1u1.de) |
| 07:07:15 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 07:10:20 | → | michalz joins (~user@185.246.204.43) |
| 07:12:06 | → | Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
| 07:12:50 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:16:08 | × | Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:16:26 | × | SkamDart quits (~SkamDart@ip70-187-232-148.oc.oc.cox.net) (Quit: Lost terminal) |
| 07:16:33 | → | benin03 joins (~benin@183.82.206.136) |
| 07:17:05 | × | xff0x quits (~xff0x@2001:1a81:5240:1700:ccf7:e726:9438:c4ca) (Ping timeout: 268 seconds) |
| 07:17:11 | → | fabfianda joins (~fabfianda@net-93-148-121-206.cust.vodafonedsl.it) |
| 07:17:28 | → | xff0x joins (~xff0x@2001:1a81:5240:1700:e30e:a0ca:64b7:1a12) |
| 07:21:38 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:26:09 | → | hylisper joins (~ykm@111.119.208.67) |
| 07:27:09 | × | barrucadu quits (~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 244 seconds) |
| 07:27:22 | → | barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk) |
| 07:28:24 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds) |
| 07:29:05 | × | mnrmnaugh quits (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
| 07:29:31 | × | gawen quits (~gawen@user/gawen) (Ping timeout: 272 seconds) |
| 07:29:52 | → | gawen joins (~gawen@user/gawen) |
| 07:30:47 | × | emergence quits (~emergence@vm0.max-p.me) (Ping timeout: 272 seconds) |
| 07:30:58 | → | emergence joins (~emergence@vm0.max-p.me) |
| 07:33:52 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:34:00 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 07:37:50 | → | kuribas joins (~user@ptr-25vy0i8kfrck8zt2w0u.18120a2.ip6.access.telenet.be) |
| 07:38:07 | → | ddellacosta joins (~ddellacos@89.45.224.61) |
| 07:38:43 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 264 seconds) |
| 07:39:18 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 07:39:53 | <kuribas> | I have DuplicateRecordFields in my project.cabal, but still flycheck is complaining about it... |
| 07:42:32 | × | michalz quits (~user@185.246.204.43) (Read error: No route to host) |
| 07:42:34 | × | ddellacosta quits (~ddellacos@89.45.224.61) (Ping timeout: 245 seconds) |
| 07:42:58 | → | mc47 joins (~yecinem@89.246.239.190) |
| 07:42:59 | × | ell quits (~ellie@user/ellie) (Quit: The Lounge - https://thelounge.chat) |
| 07:43:20 | → | ell joins (~ellie@user/ellie) |
| 07:43:24 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds) |
| 07:46:42 | → | agumonkey joins (~user@88.160.31.174) |
| 07:51:14 | × | sm2n quits (~sm2n@user/sm2n) (Read error: Connection reset by peer) |
| 07:51:28 | → | sm2n joins (~sm2n@user/sm2n) |
| 07:53:40 | <kuribas> | Multiple declarations of ‘id_field’ |
| 07:53:42 | <kuribas> | etc... |
| 07:53:49 | <kuribas> | cabal new-build works just fine |
| 07:55:03 | × | Guest5439 quits (~ubuntu@ec2-13-49-142-87.eu-north-1.compute.amazonaws.com) (Ping timeout: 272 seconds) |
| 07:55:16 | → | ubuntu joins (~ubuntu@ec2-13-49-142-87.eu-north-1.compute.amazonaws.com) |
| 07:55:29 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 07:55:39 | ubuntu | is now known as Guest2041 |
| 07:55:49 | → | yd502 joins (~yd502@180.168.212.6) |
| 07:56:21 | <kuribas> | back to huge list in each file I guess, **sigh** |
| 07:57:09 | <kuribas> | I don't even get why it's recompiling it... |
| 07:57:16 | <kuribas> | Maybe because of the template haskell? |
| 07:58:09 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 07:58:53 | → | pavonia joins (~user@user/siracusa) |
| 07:59:08 | × | imdoor quits (~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor) |
| 08:00:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:01:41 | × | kuribas quits (~user@ptr-25vy0i8kfrck8zt2w0u.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 08:01:57 | → | kuribas joins (~user@ptr-25vy0i8kfrck8zt2w0u.18120a2.ip6.access.telenet.be) |
| 08:02:21 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 08:02:31 | <kuribas> | haskell tooling gets in the way, once again... |
| 08:03:09 | → | zhe joins (~chatzilla@183.233.237.114) |
| 08:04:20 | → | pera joins (~pera@user/pera) |
| 08:04:33 | × | edwtjo quits (~edwtjo@user/edwtjo) (Ping timeout: 272 seconds) |
| 08:04:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:04:56 | → | edwtjo joins (~edwtjo@h-79-136-7-145.A213.priv.bahnhof.se) |
| 08:04:56 | × | edwtjo quits (~edwtjo@h-79-136-7-145.A213.priv.bahnhof.se) (Changing host) |
| 08:04:56 | → | edwtjo joins (~edwtjo@user/edwtjo) |
| 08:05:51 | × | agumonkey quits (~user@88.160.31.174) (Ping timeout: 252 seconds) |
| 08:07:11 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:09:09 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 08:10:37 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds) |
| 08:13:20 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 08:18:16 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:18:18 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 08:18:29 | × | eldritch_ quits (~eldritch@134.209.221.71) (Ping timeout: 272 seconds) |
| 08:18:43 | → | eldritch_ joins (~eldritch@134.209.221.71) |
| 08:19:45 | → | agumonkey joins (~user@88.160.31.174) |
| 08:20:49 | × | koolazer quits (~koo@user/koolazer) (Ping timeout: 272 seconds) |
| 08:21:07 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:21:08 | → | koolazer joins (~koo@user/koolazer) |
| 08:21:12 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:22:25 | × | zhe quits (~chatzilla@183.233.237.114) (Quit: ChatZilla 0.9.96 [SeaMonkey 2.53.7.1/20210410170740]) |
| 08:23:10 | × | eggplant_ quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Remote host closed the connection) |
| 08:23:14 | → | mpt joins (~tom@2a02:908:1862:49e0::5) |
| 08:25:01 | × | sshine quits (~simon@hubris.eta.solutions) (Ping timeout: 244 seconds) |
| 08:25:09 | → | sshine joins (~simon@hubris.eta.solutions) |
| 08:25:29 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
| 08:25:32 | × | Eoco quits (~ian@x-160-94-179-157.acm.umn.edu) (Ping timeout: 244 seconds) |
| 08:25:49 | → | Eoco joins (~ian@x-160-94-179-157.acm.umn.edu) |
| 08:28:58 | <tomsmeding> | kuribas: I think the default-extensions field in a .cabal file aren't read by ghci; perhaps via a roundabout way this is the same thing? |
| 08:29:15 | <kuribas> | perhaps |
| 08:29:30 | <kuribas> | I thought they *where* read by ghci? |
| 08:30:18 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 08:31:56 | <tomsmeding> | kuribas: tbh I don't know, I'm only going off this comment here: https://github.com/AccelerateHS/accelerate/blob/master/accelerate.cabal#L562 |
| 08:34:04 | <tomsmeding> | kuribas: perhaps at some point we'll have -XGHC2021, maybe that will help your case :) |
| 08:34:51 | <kuribas> | tomsmeding: I just don't feel like debugging and doing tooling stuff at this point. |
| 08:35:57 | → | agumonke` joins (~user@88.160.31.174) |
| 08:37:34 | × | agumonkey quits (~user@88.160.31.174) (Ping timeout: 245 seconds) |
| 08:38:13 | <kuribas> | tomsmeding: flycheck has worked for my thusfar. |
| 08:38:46 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 08:39:00 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 08:39:23 | <tomsmeding> | kuribas: including default-extensions from the cabal file? |
| 08:39:47 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 08:40:07 | <kuribas> | I never used that before |
| 08:41:40 | <tomsmeding> | hm a 'cabal repl' in a random project does seem to pick up default-extensions |
| 08:41:42 | <tomsmeding> | ¯\_(ツ)_/¯ |
| 08:42:07 | <kuribas> | maybe my ghc is too old? |
| 08:42:38 | <tomsmeding> | wouldn't expect an issue like this to happen with old ghcs specifically, but how old? :p |
| 08:43:59 | <kuribas> | 8.6.5 |
| 08:45:39 | → | yd502_ joins (~yd502@180.168.212.6) |
| 08:48:19 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 264 seconds) |
| 08:49:30 | <tomsmeding> | kuribas: can you try to run 'cabal repl' and then ':set' inside this project? https://paste.tomsmeding.com/EfGGcx3C |
| 08:49:40 | <tomsmeding> | (protip: there's the "Download paste" button at the bottom) |
| 08:50:13 | <kuribas> | tomsmeding: I don't think flycheck uses the repl |
| 08:51:39 | <kuribas> | :set to what? |
| 08:52:28 | <kuribas> | options currently set: none. base language is: Haskell2010 with the following modifiers: -XExplicitForAll -XPatternSignatures -XScopedTypeVariables |
| 08:52:28 | <kuribas> | |
| 08:52:59 | <kuribas> | looks like it does set the extension in ghci |
| 08:53:06 | → | ddellacosta joins (~ddellacos@86.106.121.165) |
| 08:53:10 | <kuribas> | so I don't think that's the problem |
| 08:55:51 | <tomsmeding> | ah indeed it doesn't, it invokes ghc directly or via stack |
| 08:56:14 | <kuribas> | tomsmeding: where are you from? |
| 08:56:25 | <tomsmeding> | kuribas: and interestingly it sets the one from the cabal file, not the one from the LANGUAGE pragma in Main.hs |
| 08:56:30 | <kuribas> | the netherlands? |
| 08:56:35 | <tomsmeding> | kuribas: hollands mensje |
| 08:56:39 | <kuribas> | ok :) |
| 08:57:33 | × | ddellacosta quits (~ddellacos@86.106.121.165) (Ping timeout: 252 seconds) |
| 08:58:01 | <tomsmeding> | maybe the flycheck haskell auto-detection magic isn't rerunning or something when you add an extension to the cabal file? |
| 08:58:23 | <tomsmeding> | but anyway you said you didn't feel like debugging and now I'm asking you to do that anyway, so I'll stop :p |
| 08:59:51 | <kuribas> | I did all that |
| 08:59:59 | <kuribas> | recompile, restart emacs, etc... |
| 09:00:16 | <tomsmeding> | rip |
| 09:00:33 | <maerwald> | did you try to close all windows? xD |
| 09:00:36 | <kuribas> | yeah, I'll send a message to the flycheck github. |
| 09:01:03 | <tomsmeding> | "please close all other programs before running this installer" |
| 09:01:42 | <tomsmeding> | (before proceeding to some hideous full-screen thing) |
| 09:01:59 | <kuribas> | hmm, I could try removing .ghc.environment... |
| 09:04:39 | → | Haitang joins (~Taier@64-79-70-207.xlhdns.com) |
| 09:04:48 | <Haitang> | hi |
| 09:06:01 | <kuribas> | hey |
| 09:06:21 | ← | Haitang parts (~Taier@64-79-70-207.xlhdns.com) () |
| 09:06:40 | <tomsmeding> | bye |
| 09:06:52 | → | dhil joins (~dhil@195.213.192.47) |
| 09:07:22 | <tomsmeding> | kuribas: I forgot to say, that :set output is the same as what I get on ghc 8.10.4 |
| 09:07:27 | <kuribas> | tomsmeding: at this point I don't feel much about spending time in improving tooling. I would be more inclined to pay for it. |
| 09:07:32 | <kuribas> | tomsmeding: right |
| 09:08:43 | × | azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 264 seconds) |
| 09:09:15 | → | azeem joins (~azeem@176.200.235.0) |
| 09:09:19 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 09:10:15 | × | azeem quits (~azeem@176.200.235.0) (Read error: Connection reset by peer) |
| 09:10:20 | → | prite joins (~pritam@user/pritambaral) |
| 09:11:03 | → | azeem joins (~azeem@176.200.235.0) |
| 09:12:34 | × | agumonke` quits (~user@88.160.31.174) (Read error: Connection reset by peer) |
| 09:13:09 | → | agumonke` joins (~user@88.160.31.174) |
| 09:14:37 | × | azeem quits (~azeem@176.200.235.0) (Read error: Connection reset by peer) |
| 09:14:50 | → | azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) |
| 09:19:17 | × | azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 09:23:32 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 09:24:58 | → | yd502 joins (~yd502@180.168.212.6) |
| 09:26:07 | × | yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 264 seconds) |
| 09:26:38 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 272 seconds) |
| 09:27:24 | → | benin030 joins (~benin@183.82.206.136) |
| 09:27:56 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 09:27:59 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Ping timeout: 245 seconds) |
| 09:28:15 | → | ddellacosta joins (~ddellacos@86.106.143.10) |
| 09:29:14 | × | benin03 quits (~benin@183.82.206.136) (Ping timeout: 245 seconds) |
| 09:29:26 | benin030 | is now known as benin03 |
| 09:29:27 | → | azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) |
| 09:31:36 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 09:32:01 | × | prite quits (~pritam@user/pritambaral) (Quit: Konversation terminated!) |
| 09:33:18 | × | ddellacosta quits (~ddellacos@86.106.143.10) (Ping timeout: 252 seconds) |
| 09:34:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 09:34:29 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds) |
| 09:36:36 | × | agumonke` quits (~user@88.160.31.174) (Ping timeout: 252 seconds) |
| 09:37:03 | → | Torro joins (Torro@gateway/vpn/protonvpn/torro) |
| 09:39:24 | <kuribas> | is there a *good* way to add orphan instances? |
| 09:39:54 | <kuribas> | when there is only one instance that really makes sense? |
| 09:39:54 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 09:40:27 | <Taneb> | kuribas: I think it depends if you're writing a library that you're going to share with other people |
| 09:41:11 | <kuribas> | For my current problem it is cassava FromNamedRecord/ToNamedRecord for Aeson Value. |
| 09:41:24 | <kuribas> | I don't want to newtype it, because Value is the right datatype to use. |
| 09:41:43 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 09:41:54 | <Taneb> | That feels like a weird instance? |
| 09:42:26 | <kuribas> | I mean ToField/FromField, sorry :) |
| 09:44:18 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 09:45:53 | × | mpt quits (~tom@2a02:908:1862:49e0::5) (Ping timeout: 272 seconds) |
| 09:47:58 | ← | bfrk parts (~Thunderbi@200116b8451fe900af67d936efb17ea9.dip.versatel-1u1.de) () |
| 09:54:46 | → | nkpart joins (uid3844@id-3844.highgate.irccloud.com) |
| 09:55:05 | × | dunkeln quits (~dunkeln@94.129.65.28) (Quit: leaving) |
| 09:56:14 | → | boxscape joins (~boxscape@user/boxscape) |
| 09:57:09 | × | azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds) |
| 09:58:40 | × | boxscape quits (~boxscape@user/boxscape) (Client Quit) |
| 09:59:08 | → | boxscape joins (~boxscape@user/boxscape) |
| 10:01:33 | → | azeem joins (~azeem@176.200.235.0) |
| 10:02:27 | → | ddellacosta joins (~ddellacos@86.106.143.74) |
| 10:06:44 | × | ddellacosta quits (~ddellacos@86.106.143.74) (Ping timeout: 245 seconds) |
| 10:09:30 | × | JimL quits (~quassel@ti0577q162-3381.bb.online.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 10:11:42 | → | michalz joins (~user@185.246.204.107) |
| 10:12:24 | <boxscape> | % const 4 (undefined :: Constraint) |
| 10:12:24 | <yahb> | boxscape: 4 |
| 10:12:28 | <boxscape> | seems really strange that this works |
| 10:12:36 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 10:12:40 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 10:12:41 | <boxscape> | I would neither expect undefined :: Constraint to be well-typed, nor const a b if b :: Constraint |
| 10:13:24 | <boxscape> | oh but I guess it's because Constraint is a regular data type rather than just a kind |
| 10:14:04 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
| 10:14:30 | → | neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) |
| 10:17:59 | <Taneb> | :k Constraint |
| 10:18:00 | <lambdabot> | * |
| 10:18:14 | <boxscape> | % :i Constraint |
| 10:18:15 | <yahb> | boxscape: type Constraint :: *; data Constraint; -- Defined in `GHC.Types' |
| 10:18:49 | <boxscape> | doesn't look any different from Void, really |
| 10:20:12 | × | GIANTWORLDKEEPER quits (~pjetcetal@2.95.204.25) (Ping timeout: 265 seconds) |
| 10:23:00 | → | larkfisherman joins (~larkfishe@217.75.204.126) |
| 10:23:04 | → | pasko__ joins (~larkfishe@217.75.204.126) |
| 10:23:38 | <vaibhavsagar[m]> | how are people implementing timeouts when using the `websocket` library? |
| 10:23:52 | <vaibhavsagar[m]> | System.Timeout or something else? |
| 10:24:59 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 10:25:27 | <vaibhavsagar[m]> | I'm not seeing anything included by default and my first impulse was to use `race` from `async` but it seems like the `timeout` in `base` is simpler and better for my purposes |
| 10:26:01 | → | yd502 joins (~yd502@180.168.212.6) |
| 10:26:24 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 268 seconds) |
| 10:28:05 | → | oxide joins (~lambda@user/oxide) |
| 10:29:14 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Ping timeout: 245 seconds) |
| 10:29:25 | <dminuoso> | vaibhavsagar[m]: Hold on, what kind of timeouts are you talking about? |
| 10:30:29 | <vaibhavsagar[m]> | when I am receiving a message over a websocket, and I want to wait no more than x seconds |
| 10:31:08 | <dminuoso> | vaibhavsagar[m]: Keep in mind the subtle bound issue of `timeout` |
| 10:31:15 | <vaibhavsagar[m]> | I think the library is pretty simple/barebones in that sense, since it doesn't seem to include any way of handling timeouts by default |
| 10:31:38 | <vaibhavsagar[m]> | what issue? |
| 10:31:41 | <dminuoso> | Int is only guaranteed to give you [-2^29..2^29-1] |
| 10:31:45 | <dminuoso> | And timeout wants nanoseconds. |
| 10:31:46 | → | shryke joins (~shryke@91.103.43.254) |
| 10:31:57 | <vaibhavsagar[m]> | oh yeah, I know timeout wants microseconds |
| 10:32:08 | <dminuoso> | % 2^29 - 1 |
| 10:32:08 | <yahb> | dminuoso: 536870911 |
| 10:32:30 | <vaibhavsagar[m]> | that's not a problem for my use case I think |
| 10:32:52 | <vaibhavsagar[m]> | I'm planning to wait maybe 5 minutes at most |
| 10:32:52 | <dminuoso> | Well you asked for "n seconds" |
| 10:33:02 | <dminuoso> | Oh sorry, its in microseconds. |
| 10:33:19 | <vaibhavsagar[m]> | yeah, which is the same as n*10^6 microseconds |
| 10:33:24 | <vaibhavsagar[m]> | I read the docs |
| 10:33:26 | <dminuoso> | So anything up to 536 seconds will work, anything more is going to be implementation dependent |
| 10:33:28 | <dminuoso> | Right |
| 10:33:47 | <vaibhavsagar[m]> | you're not actually answering my question at all |
| 10:33:57 | <vaibhavsagar[m]> | so `timeout` is fine then it sounds like |
| 10:34:07 | <dminuoso> | timeout could work, just remember to send pings manually with `websockets` |
| 10:34:37 | <dminuoso> | STM is probably a more robust choice |
| 10:35:04 | <dminuoso> | websockets does not handle pings *or* answering to pings for you |
| 10:35:09 | <dminuoso> | You gotta do that yourself :) |
| 10:35:12 | <vaibhavsagar[m]> | I'm communicating with an external application over websockets |
| 10:35:18 | <vaibhavsagar[m]> | I don't see how STM is better |
| 10:35:54 | <vaibhavsagar[m]> | the external application is developed by a third party in a non-Haskell language |
| 10:36:03 | <dminuoso> | ah wait, websockets comes with withPingThread, actually |
| 10:36:07 | → | ddellacosta joins (~ddellacos@89.46.62.115) |
| 10:36:22 | <vaibhavsagar[m]> | yes, I did notice that |
| 10:36:57 | <dminuoso> | vaibhavsagar[m]: depending on how you want to run things, you might have multiple threads, one of which responds to pings with pong |
| 10:37:03 | <dminuoso> | so stm could be used to coordinate these threads |
| 10:38:01 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 10:38:55 | → | ddellaco_ joins (~ddellacos@89.45.224.251) |
| 10:41:19 | × | ddellacosta quits (~ddellacos@89.46.62.115) (Ping timeout: 245 seconds) |
| 10:41:30 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 252 seconds) |
| 10:43:29 | × | ddellaco_ quits (~ddellacos@89.45.224.251) (Ping timeout: 244 seconds) |
| 10:50:39 | → | themc47 joins (~yecinem@89.246.239.190) |
| 10:51:52 | <vaibhavsagar[m]> | hmm, I need to look into this, thanks |
| 10:52:59 | × | mc47 quits (~yecinem@89.246.239.190) (Ping timeout: 245 seconds) |
| 10:53:02 | × | larkfisherman quits (~larkfishe@217.75.204.126) (Quit: Leaving) |
| 10:53:07 | × | pasko__ quits (~larkfishe@217.75.204.126) (Quit: Leaving) |
| 10:53:16 | <dminuoso> | vaibhavsagar[m]: The thing is, websockets gives you two asynchronous channels (much like stdin/stdout). If you have just one message and you want to respond to it, websockets is just un-needed overkill |
| 10:53:29 | <dminuoso> | Might as well just go play HTTP with say JSON ontop then |
| 10:53:58 | <vaibhavsagar[m]> | I don't get to choose the communication channel |
| 10:54:09 | <vaibhavsagar[m]> | that decision has already been made for me |
| 10:54:16 | <vaibhavsagar[m]> | and there are multiple messages |
| 10:54:25 | <vaibhavsagar[m]> | so websockets are not the worst idea |
| 10:54:48 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.1) |
| 10:56:03 | <vaibhavsagar[m]> | I already have a proof-of-concept working, we're not about to change it now :) |
| 10:56:27 | → | lavaman joins (~lavaman@98.38.249.169) |
| 10:56:32 | <dminuoso> | websockets is really odd, it's almost as if people re-invented TCP.. |
| 10:56:41 | <dminuoso> | Ontop of HTTP. |
| 10:57:15 | <vaibhavsagar[m]> | ¯_(ツ)_/¯ |
| 10:58:36 | × | themc47 quits (~yecinem@89.246.239.190) (Quit: Leaving) |
| 10:58:52 | → | mc47 joins (~yecinem@89.246.239.190) |
| 11:00:45 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 11:01:00 | <tdammers> | case in point, you do get the entire HTTP stack below those websockets, so in practice that means you won't have to worry about encryption and authentication specifically for websockets, you can just piggy-back on whatever you already have in place for your other HTTP stuff |
| 11:01:11 | <tdammers> | so yeah, it's a bit odd, but also quite helpful that way |
| 11:02:22 | <dminuoso> | tdammers: TLS is really straight foward to add, so Im not convinced this is a good argument. But yeah, authentication sure. |
| 11:02:34 | × | hendursa1 quits (~weechat@user/hendursaga) (Remote host closed the connection) |
| 11:02:38 | <dminuoso> | otoh HTTP is a deeply semantic protocol that is very often mistreated |
| 11:02:57 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 11:03:00 | → | larkfisherman joins (~larkfishe@217.75.204.126) |
| 11:04:45 | <tdammers> | true on both accounts |
| 11:05:11 | × | wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 11:05:18 | → | notzmv joins (~zmv@user/notzmv) |
| 11:05:32 | <tdammers> | (also note that I didn't say it's correct or elegant in any way, just that it's helpful and that I understand why you'd want it) |
| 11:05:51 | <dminuoso> | Mostly though, I think it's just a force of habit. |
| 11:06:15 | × | yd502 quits (~yd502@180.168.212.6) (Ping timeout: 252 seconds) |
| 11:06:46 | <dminuoso> | And perhaps it integrates better with existing tooling. You want to log whats going on? No need to write a wireshark decoder, put it in HTTP with JSON, and you can decipher it straight from `tcpdump` |
| 11:07:06 | <dminuoso> | And perhaps your fancy webserver already does this with fancy coloring and indention |
| 11:09:39 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds) |
| 11:14:27 | <tdammers> | exactly |
| 11:14:49 | <tdammers> | you already have all the HTTP machinery in place |
| 11:18:07 | → | ddellacosta joins (~ddellacos@86.106.143.243) |
| 11:19:52 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 11:20:35 | → | teaSlurper joins (~chris@81.96.113.213) |
| 11:22:39 | × | hmmmas quits (~chenqisu1@183.217.201.236) (Quit: Leaving.) |
| 11:22:45 | × | ddellacosta quits (~ddellacos@86.106.143.243) (Ping timeout: 252 seconds) |
| 11:24:55 | × | Toast52 quits (~Toast52@151.192.167.120) (Ping timeout: 264 seconds) |
| 11:25:31 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
| 11:26:30 | → | xsperry joins (~as@user/xsperry) |
| 11:26:44 | × | pe200012 quits (~pe200012@58.248.179.178) (Ping timeout: 245 seconds) |
| 11:28:07 | → | pe200012 joins (~pe200012@58.248.179.178) |
| 11:28:31 | × | wonko quits (~wjc@62.115.229.50) (Ping timeout: 264 seconds) |
| 11:29:13 | ← | Kaivo parts (~Kaivo@user/kaivo) (WeeChat 3.0.1) |
| 11:29:46 | × | fendor quits (~fendor@178.115.130.234.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 11:30:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:34:37 | → | pe200012_ joins (~pe200012@58.248.179.178) |
| 11:34:51 | × | pe200012 quits (~pe200012@58.248.179.178) (Ping timeout: 252 seconds) |
| 11:35:08 | → | Toast52 joins (~Toast52@151.192.167.120) |
| 11:35:36 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 11:39:20 | × | involans quits (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 252 seconds) |
| 11:39:42 | → | involans joins (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) |
| 11:40:04 | × | benin03 quits (~benin@183.82.206.136) (Ping timeout: 245 seconds) |
| 11:40:21 | × | azeem quits (~azeem@176.200.235.0) (Ping timeout: 252 seconds) |
| 11:41:48 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 11:44:06 | × | malvo quits (~malvo@malvo.org) (Ping timeout: 268 seconds) |
| 11:45:22 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:49:09 | × | pera quits (~pera@user/pera) (Ping timeout: 252 seconds) |
| 11:52:04 | → | argento joins (~argent0@168-227-96-51.ptr.westnet.com.ar) |
| 11:55:17 | → | pera joins (~pera@204.red-79-159-199.dynamicip.rima-tde.net) |
| 11:55:41 | pera | is now known as Guest9847 |
| 11:58:19 | → | ddellacosta joins (~ddellacos@86.106.143.217) |
| 11:58:19 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
| 11:58:30 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:58:38 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 12:00:28 | × | blizzard quits (~winter@2603-6011-f901-9e5b-78b5-8b2f-cdb2-4171.res6.spectrum.com) (Ping timeout: 244 seconds) |
| 12:01:26 | → | azeem joins (~azeem@176.201.37.236) |
| 12:01:48 | × | involans quits (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 252 seconds) |
| 12:02:10 | → | ubert joins (~Thunderbi@p200300ecdf259d3dfcd415488b1ba362.dip0.t-ipconnect.de) |
| 12:02:59 | × | ddellacosta quits (~ddellacos@86.106.143.217) (Ping timeout: 245 seconds) |
| 12:04:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 12:05:54 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:458d:db56:1c93:24ea) (Ping timeout: 245 seconds) |
| 12:06:05 | → | nattiestnate joins (~nate@180.242.128.159) |
| 12:06:09 | × | srk quits (~sorki@user/srk) (Ping timeout: 244 seconds) |
| 12:06:26 | → | danidiaz joins (~ESDPC@47.61.17.254) |
| 12:06:56 | → | fendor joins (~fendor@178.115.130.234.wireless.dyn.drei.com) |
| 12:08:30 | → | involans joins (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) |
| 12:09:04 | → | srk joins (~sorki@user/srk) |
| 12:12:59 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds) |
| 12:15:27 | × | unyu quits (~pyon@user/pyon) (Ping timeout: 244 seconds) |
| 12:16:13 | × | fendor quits (~fendor@178.115.130.234.wireless.dyn.drei.com) (Remote host closed the connection) |
| 12:18:00 | → | unyu joins (~pyon@user/pyon) |
| 12:18:19 | → | fendor joins (~fendor@178.115.130.234.wireless.dyn.drei.com) |
| 12:19:28 | × | Toast52 quits (~Toast52@151.192.167.120) (Quit: Leaving) |
| 12:21:48 | <janus> | dminuoso: websockets provide message framing. a big plus imho |
| 12:22:09 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 245 seconds) |
| 12:23:09 | → | chaosite joins (~chaosite@user/chaosite) |
| 12:26:24 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 12:27:04 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 12:28:59 | <dminuoso> | janus: "message framing" is just a fancy way of saying "adding a length header" |
| 12:29:14 | <dminuoso> | Writing wire protocols is not hard. |
| 12:30:54 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Ping timeout: 245 seconds) |
| 12:31:29 | <janus> | not so hard if you have coroutines and stuff ;) harder if you have only BSD sockets and threads and you want DDoS protection and such :P |
| 12:33:33 | × | nkpart quits (uid3844@id-3844.highgate.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:33:43 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds) |
| 12:33:55 | × | jorjor quits (~jorgemene@85.251.190.6.dyn.user.ono.com) (Ping timeout: 264 seconds) |
| 12:34:04 | <guest61> | does if then else have a scope? |
| 12:35:03 | → | waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
| 12:35:26 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 12:35:39 | <guest61> | binding declared inside if then else , can't be found outside if then else |
| 12:36:40 | <guest61> | I'd like to say variable, but haskell variable can't be reassigned |
| 12:39:02 | <dminuoso> | guest61: Correct! |
| 12:39:27 | <dminuoso> | guest61: So first thing to realize, is that expression evaluation is not even defined in Haskell. |
| 12:39:50 | <ski> | having conditional declarations could be useful |
| 12:40:31 | <dminuoso> | guest61: So what does "outside" even mean? |
| 12:41:37 | <ski> | (also conditional commands, hmm) |
| 12:41:48 | <dminuoso> | If inside do-notation, you can either use an IORef (an manipulate it branch expressions), or you can feed values back out |
| 12:42:20 | <dminuoso> | do { f <- if foo then ([1,2,3] <$ someThing) else getList; ... } |
| 12:42:21 | → | pbrisbin joins (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) |
| 12:43:45 | <ski> | guest61 : by "have a scope", for a construct, presumably you mean it interacting non-trivially with scoping, in some way ? |
| 12:44:35 | → | ddellacosta joins (~ddellacos@86.106.121.24) |
| 12:44:54 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 12:44:57 | × | larkfisherman quits (~larkfishe@217.75.204.126) (Remote host closed the connection) |
| 12:45:42 | <ski> | in any case .. `if'-`then'-`else' (expressions) doesn't introduce a new scope, nor interact in some other unusual way with scoping .. iow, what is in scope of the whole expression is also what is in scope in the three subexpressions |
| 12:46:27 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 12:46:56 | <ski> | guest61 : however, you said "binding declared inside if then else", but that's (perhaps unfortunately) simply not a thing, in Haskell, since there are no conditional declarations (nor commands), just conditional expressions |
| 12:46:59 | <Athas> | What's the most efficient way to construct large Text values? E.g. for serialisation. |
| 12:47:08 | <Athas> | Or imagine a prettyprinter that doesn't have to be "pretty". |
| 12:47:23 | <ski> | you can't e.g. say |
| 12:47:27 | <ski> | if ... |
| 12:47:39 | <ski> | then x:xs = ... |
| 12:47:47 | <ski> | y = ... |
| 12:47:56 | <ski> | else (x,y) = ... |
| 12:48:06 | <ski> | xs = ... |
| 12:48:49 | × | ddellacosta quits (~ddellacos@86.106.121.24) (Ping timeout: 245 seconds) |
| 12:49:32 | <ski> | guest61 : did you have a particular situation, or example, of something you wanted to do ? |
| 12:49:44 | → | larkfisherman joins (~larkfishe@217.75.204.126) |
| 12:50:14 | → | teaSlurper joins (~chris@81.96.113.213) |
| 12:51:50 | × | jakzale quits (uid499518@id-499518.charlton.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:53:47 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 12:54:46 | → | david__ joins (~david@77-171-152-62.fixed.kpn.net) |
| 12:55:28 | <ski> | guest61 : if you're talking about using `let'-`in' expressions, inside a conditional (`if'-`then'-`else'), then this is not in any way different from using a `let'-`in' inside any other construct -- the bindings declared between `let' and `in' are only in scope in the portion after the `in', never in scope anywhere else (such as outside your `if'-`then'-`else' expression, that wrapped the `let'-`in' |
| 12:55:34 | <ski> | expression) |
| 12:56:03 | → | shapr joins (~user@108.28.144.11) |
| 12:56:28 | → | jippiedoe joins (~david@77-171-152-62.fixed.kpn.net) |
| 12:56:31 | ← | david__ parts (~david@77-171-152-62.fixed.kpn.net) () |
| 12:58:28 | <ski> | .. being able to say things like `do {if foo then {f <- [1,2,3] <$ someThing)} else {f <- getList}; ...}' could be quite useful, at times |
| 13:01:10 | <tomsmeding> | Athas: what about Data.Text.Lazy.Builder ? |
| 13:01:16 | → | alx741 joins (~alx741@181.196.69.96) |
| 13:01:44 | <Athas> | tomsmeding: ah, yes. Is it much faster than just consing up Texts and mappending them? |
| 13:02:17 | <tomsmeding> | don't know, to be honest; but if it weren't, it wouldn't exist, I'd think |
| 13:06:19 | × | nattiestnate quits (~nate@180.242.128.159) (Quit: WeeChat 3.1) |
| 13:06:22 | <gentauro> | Athas: https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/Data-ByteString-Lazy-Char8.html#v:fromChunks |
| 13:06:26 | <gentauro> | ? |
| 13:06:50 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:5a3:b172:cf1b:f959) |
| 13:08:26 | × | v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
| 13:08:58 | <ski> | a more general thing would be to allow something like `do { foo do {x <- ...; y <- ...}; ..x..y.. }', where `foo :: forall a. m a -> n a', `m' and `n' being the two monads in question |
| 13:08:59 | → | v01d4lph4 joins (~v01d4lph4@user/v01d4lph4) |
| 13:09:29 | → | notzmv joins (~zmv@user/notzmv) |
| 13:10:40 | × | Guest9847 quits (~pera@204.red-79-159-199.dynamicip.rima-tde.net) (Quit: leaving) |
| 13:12:17 | × | jneira quits (~jneira@166.red-81-39-172.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 13:12:45 | × | danidiaz quits (~ESDPC@47.61.17.254) (Ping timeout: 252 seconds) |
| 13:13:18 | × | v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 252 seconds) |
| 13:13:21 | → | safinaskar joins (~user@109.252.90.89) |
| 13:13:28 | <safinaskar> | hi! do you want a quiz? |
| 13:13:45 | <safinaskar> | what does this expression do: s == s? |
| 13:13:59 | <safinaskar> | this is code from my real program and i put it there for reason |
| 13:14:00 | → | ddellacosta joins (~ddellacos@86.106.121.204) |
| 13:14:07 | <safinaskar> | why i put it there? what this code does? |
| 13:14:12 | <shryke> | seq? |
| 13:14:32 | <safinaskar> | shryke: you are very close :) |
| 13:14:53 | <tomsmeding> | assuming nothing shadows (==) from base, that runs the (==) method of the Eq instance of the type of `s`, assuming it has any |
| 13:15:12 | <tomsmeding> | for any _decent_ Eq instance it will indeed amount to deepseq :p |
| 13:15:23 | <safinaskar> | tomsmeding: yes, you are right! |
| 13:15:49 | <safinaskar> | tomsmeding: i use it as (s `deepseq` True) replacement without dependency on deepseq! |
| 13:16:12 | <tomsmeding> | quite neat |
| 13:16:20 | → | kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz) |
| 13:16:37 | <maralorn> | tomsmeding: Wasn‘t there some magic for "Seq" that it keeps thunks even when you access all entries? |
| 13:17:14 | <tomsmeding> | maralorn: you mean lowercase 'seq'? |
| 13:17:22 | <maralorn> | No, uppercase. |
| 13:17:30 | <dminuoso> | tomsmeding: Why would (==) amount to deepseq? |
| 13:17:37 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 13:17:53 | <kenran> | Can I re-export instances that I've imported somehow? I'm doing `import Test.QuickCheck.Instances.ByteString as Bla` and at the top `module Foo (module Bla) where` but I'm getting "the export item Bla exports nothing" |
| 13:17:54 | <tomsmeding> | dminuoso: to establish structural equality, you have to evaluate the whole structure, assuming a normal ADT |
| 13:18:04 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 13:18:11 | <boxscape> | tomsmeding not if the first element of the structure you check is already not equal |
| 13:18:19 | <tomsmeding> | maralorn: which Seq do you mean? I know Data.Sequence, but that's probably not what you mean here |
| 13:18:27 | <tomsmeding> | boxscape: `s == s` |
| 13:18:31 | <boxscape> | oh whoops |
| 13:18:33 | <maralorn> | I think fingertrees are constructed in a way that they contain some internal thunks even when they look completely evaluated to the user. |
| 13:18:34 | <dminuoso> | tomsmeding: Not trying to be picky, but you'd have to do more than just evaluate.. |
| 13:18:36 | <maralorn> | Yeah, I mean Data.Sequence |
| 13:18:45 | <boxscape> | tomsmeding wait was that what we were talking about? |
| 13:18:55 | <int-e> | maralorn: you can have such magic for Eq too... newtype Indifferent a = Indifferent a; instance Eq (Indifferent a) where _ == _ = True |
| 13:19:14 | <boxscape> | tomsmeding ah yes, I see it now |
| 13:19:19 | × | ddellacosta quits (~ddellacos@86.106.121.204) (Ping timeout: 272 seconds) |
| 13:20:00 | <tomsmeding> | maralorn: no idea, but a functional pearl I read recently about the finger tree data structure suggested it's just a normal (though non-uniformly recursive) ADT |
| 13:20:33 | <tomsmeding> | dminuoso: fair point, it does more computation, but semantically that shouldn't matter (for structural equality on ADTs) |
| 13:21:14 | <dminuoso> | tomsmeding: Oh it just clicked. I didn't understand the presented riddle. |
| 13:21:31 | <dminuoso> | It's not about Eq instances, its rather why would `s == s` ever be a useful thing to write. |
| 13:21:46 | <int-e> | testing for NaN |
| 13:21:51 | <dminuoso> | heh |
| 13:22:13 | <int-e> | but I like "poor people's deepSeq" |
| 13:22:14 | <tomsmeding> | my trick was always 'length (show s) `seq` ()', but perhaps this one is nicer |
| 13:22:19 | <boxscape> | % isNaN s = s /= s |
| 13:22:19 | <yahb> | boxscape: |
| 13:22:23 | <tomsmeding> | indeed except if you have NaNs... |
| 13:23:29 | → | ddellacosta joins (~ddellacos@86.106.121.74) |
| 13:23:35 | <dminuoso> | Im curious why deepseq would be a good default for Eq though |
| 13:23:42 | <kenran> | Oh, it seems like the instances I import are automatically reexported?! |
| 13:23:53 | <dminuoso> | kenran: Yes. |
| 13:23:57 | <dminuoso> | You cannot not export an instance |
| 13:24:01 | <dminuoso> | Open world assumption. |
| 13:24:06 | <kenran> | TIL, thanks. |
| 13:25:06 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 13:27:33 | <tomsmeding> | dminuoso: (==) only becomes deepseq when it's called on two equal arguments |
| 13:27:40 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 13:28:37 | × | siraben quits (~siraben@user/siraben) (Quit: node-irc says goodbye) |
| 13:28:37 | × | kadoban quits (~kadoban@user/kadoban) (Quit: node-irc says goodbye) |
| 13:28:37 | × | MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Quit: node-irc says goodbye) |
| 13:28:37 | × | psydroid quits (~psydroidm@user/psydroid) (Quit: node-irc says goodbye) |
| 13:28:37 | × | sm[m] quits (~sm@plaintextaccounting/sm) (Quit: node-irc says goodbye) |
| 13:28:37 | × | peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: node-irc says goodbye) |
| 13:28:37 | × | ac quits (~aloiscoch@2001:470:69fc:105::65) (Quit: node-irc says goodbye) |
| 13:28:37 | × | maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: node-irc says goodbye) |
| 13:28:37 | × | fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: node-irc says goodbye) |
| 13:28:37 | × | maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: node-irc says goodbye) |
| 13:28:37 | × | ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Quit: node-irc says goodbye) |
| 13:28:37 | × | fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Quit: node-irc says goodbye) |
| 13:28:37 | × | the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Quit: node-irc says goodbye) |
| 13:28:37 | × | Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: node-irc says goodbye) |
| 13:28:37 | × | hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Quit: node-irc says goodbye) |
| 13:28:37 | × | srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: node-irc says goodbye) |
| 13:28:37 | × | Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Quit: node-irc says goodbye) |
| 13:28:37 | × | jaror[m] quits (~jaror@2001:470:69fc:105::265) (Quit: node-irc says goodbye) |
| 13:28:37 | × | adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Quit: node-irc says goodbye) |
| 13:28:37 | × | tomferon[m] quits (~tomferon@2001:470:69fc:105::268) (Quit: node-irc says goodbye) |
| 13:28:37 | × | ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Quit: node-irc says goodbye) |
| 13:28:37 | × | bb010g quits (~bb010gmat@2001:470:69fc:105::9a5) (Quit: node-irc says goodbye) |
| 13:28:37 | × | Drezil quits (~drezilkif@2001:470:69fc:105::7f8) (Quit: node-irc says goodbye) |
| 13:28:37 | × | Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Quit: node-irc says goodbye) |
| 13:28:38 | × | cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: node-irc says goodbye) |
| 13:28:38 | × | marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: node-irc says goodbye) |
| 13:28:38 | × | zwro[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: node-irc says goodbye) |
| 13:28:38 | × | cdepillabout[m] quits (~cdepillab@2001:470:69fc:105::3d3) (Quit: node-irc says goodbye) |
| 13:28:38 | × | amesgen[m] quits (~amesgenam@2001:470:69fc:105::82b) (Quit: node-irc says goodbye) |
| 13:28:38 | × | kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (Quit: node-irc says goodbye) |
| 13:28:38 | × | Soft quits (~soft-matr@2001:470:69fc:105::c75) (Quit: node-irc says goodbye) |
| 13:28:38 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Quit: node-irc says goodbye) |
| 13:28:39 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: node-irc says goodbye) |
| 13:28:39 | × | eddiemundo quits (~eddiemund@2001:470:69fc:105::a9c) (Quit: node-irc says goodbye) |
| 13:28:46 | → | safinaskar2 joins (~safinaska@109-252-90-89.nat.spd-mgts.ru) |
| 13:28:52 | <tomsmeding> | % :t (deepseq, join (==) `seq` (), \a -> length (show a) `seq` ()) |
| 13:28:52 | <yahb> | tomsmeding: ; <interactive>:1:2: error: Variable not in scope: deepseq |
| 13:29:03 | <tomsmeding> | :t (deepseq, join (==) `seq` (), \a -> length (show a) `seq` ()) |
| 13:29:04 | <lambdabot> | error: Variable not in scope: deepseq |
| 13:29:26 | <dminuoso> | tomsmeding: as in, `s == s` is a poor-mans deepseq without NFData? |
| 13:29:38 | <dminuoso> | assuming a sensible Eq instance? |
| 13:29:53 | <tomsmeding> | yeah |
| 13:30:08 | <tomsmeding> | and an ADT structure |
| 13:30:44 | <dminuoso> | What does "an ADT structure" mean? Is there a precise definition? Sorry to ask this many questions, Im just a bit clueless. :) |
| 13:32:09 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Ping timeout: 245 seconds) |
| 13:32:31 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 13:32:58 | × | ddellacosta quits (~ddellacos@86.106.121.74) (Remote host closed the connection) |
| 13:33:26 | → | ddellacosta joins (~ddellacos@86.106.121.74) |
| 13:34:24 | → | ddellaco_ joins (~ddellacos@89.46.62.69) |
| 13:34:45 | <guest61> | dminuoso ski, https://paste.ubuntu.com/p/MGC3RvDPY9/ |
| 13:35:07 | × | hylisper quits (~ykm@111.119.208.67) (Ping timeout: 264 seconds) |
| 13:35:09 | × | shryke quits (~shryke@91.103.43.254) (Quit: WeeChat 3.1) |
| 13:35:19 | <dminuoso> | This looks ripe for improvements. |
| 13:35:24 | → | GIANTWORLDKEEPER joins (~pjetcetal@2.95.204.25) |
| 13:35:34 | <dminuoso> | Packet with error bombs. :) |
| 13:35:36 | <guest61> | trying to create a bunch of variables |
| 13:35:51 | → | hylisper joins (~ykm@111.119.208.67) |
| 13:36:26 | <guest61> | how you call creat a variable? |
| 13:36:32 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 13:36:49 | <guest61> | bind something? identity? |
| 13:36:57 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 13:36:58 | <guest61> | declare a variable? |
| 13:37:13 | ← | safinaskar parts (~user@109.252.90.89) () |
| 13:37:20 | → | ikex joins (~ash@user/ikex) |
| 13:37:26 | safinaskar2 | is now known as safinaskar |
| 13:37:53 | <dminuoso> | guest61: In Haskell, a variable is not a mutable store/reference |
| 13:38:02 | <dminuoso> | Perhaps, think of it as a name for an expression. |
| 13:38:03 | × | ddellacosta quits (~ddellacos@86.106.121.74) (Ping timeout: 252 seconds) |
| 13:38:40 | <guest61> | why expression? could not be a statement? |
| 13:38:46 | <dminuoso> | We dont have statements in the language |
| 13:39:03 | <guest61> | an IO action is not a statement? |
| 13:40:05 | <guest61> | the code I paste, how to change it? |
| 13:40:18 | <safinaskar> | is there pointer equality in Haskell, which fail backs to normal equality? is it okey to use (reallyUnsafePtrEquality# a b == 1# || a == b)? (this code looks scary) |
| 13:41:00 | <dminuoso> | guest61: IO actions model statements, but they are not part of the syntax. |
| 13:41:09 | <dminuoso> | Or rather, >>=/>> for IO models statements. |
| 13:41:13 | → | Topsi joins (~Tobias@dyndsl-095-033-093-145.ewe-ip-backbone.de) |
| 13:41:32 | <dminuoso> | guest61: So there's a number of things to improve in your code. Would you like to hear about them? |
| 13:41:41 | <guest61> | yes |
| 13:41:59 | <dminuoso> | Then let's go through them all, alongside we will find a more elegant solution for your problem, |
| 13:42:21 | <guest61> | ok |
| 13:42:25 | → | __monty__ joins (~toonn@user/toonn) |
| 13:42:26 | <dminuoso> | First off, you make use of functions dubbed "unsafe". Namely `fromJust` and (!!). Both you should really forget about., |
| 13:42:51 | <dminuoso> | Part of the reason is, they have a failure mode that you cannot sensibly recover from. |
| 13:43:04 | <dminuoso> | % n :: Maybe Int |
| 13:43:04 | <yahb> | dminuoso: ; <interactive>:89:1: error: Variable not in scope: n :: Maybe Int |
| 13:43:07 | <dminuoso> | % n :: Maybe Int; n = Nothing |
| 13:43:07 | <yahb> | dminuoso: |
| 13:43:09 | <safinaskar> | guest61: it seems you don't know basic things. i suggest reading http://learnyouahaskell.com/ |
| 13:43:09 | <guest61> | but I already check Nothing first |
| 13:43:29 | <dminuoso> | guest61: Great, but you threw this knowledge away. |
| 13:44:10 | <guest61> | checkParameters :: [Maybe a] |
| 13:44:38 | <guest61> | the first line, I use elemIndices to check if there is Nothing in it |
| 13:44:43 | <guest61> | then I use fromJust |
| 13:44:51 | <guest61> | so its safe I think |
| 13:44:58 | × | Sose quits (~username@mobile-access-6df047-172.dhcp.inet.fi) (Ping timeout: 268 seconds) |
| 13:45:05 | <dminuoso> | guest61: Probably, until you restructure your code slightly - then the type system cannot warn you. |
| 13:45:21 | <dminuoso> | It's highly idiomatic and brittle to write code in this style |
| 13:45:25 | <dminuoso> | *unidiomatic |
| 13:45:37 | <guest61> | also that checkParameters length is fixed, so !! won't out of the index, that's safe too |
| 13:46:06 | <dminuoso> | guest61: Perhaps, but you are in IO. So we can still error out with a better diagnostic. |
| 13:46:38 | <dminuoso> | guest61: Im guessing the data comes from a file, right? |
| 13:46:41 | <guest61> | wait a sec, I can paste the code old way, more ugly |
| 13:46:54 | <dminuoso> | Presumably something you grab from `lines <$> readLines`? |
| 13:47:02 | <dminuoso> | err `lines <$> readFile path` |
| 13:47:27 | → | fluffyballoon joins (~fluffybal@2620:72:0:6480::e5) |
| 13:47:40 | <dminuoso> | guest61: So lets ignore the (!!) right now. What you could do is this: |
| 13:48:19 | <guest61> | https://paste.ubuntu.com/p/GPGT3VWZcH/ |
| 13:48:58 | <guest61> | see that's more ugly... |
| 13:49:21 | <guest61> | yes, read data from a file and parse |
| 13:49:50 | <dminuoso> | getParam :: Int -> [Maybe a] -> IO a; getParam p xs = maybe (fail ("Missing parameter " <> show p)) pure (xs !! p) |
| 13:49:59 | × | madnight quits (~madnight@static.59.103.201.195.clients.your-server.de) (Quit: ZNC 1.7.1 - https://znc.in) |
| 13:50:09 | <dminuoso> | guest61: ^- this is not an elegant final solution, but this little combinator will let you avoid a lot of pain here. |
| 13:50:11 | → | madnight joins (~madnight@static.59.103.201.195.clients.your-server.de) |
| 13:50:13 | × | safinaskar quits (~safinaska@109-252-90-89.nat.spd-mgts.ru) (Quit: Client closed) |
| 13:50:16 | <dminuoso> | Then you can write code in this style: |
| 13:50:41 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 13:51:19 | → | hendursaga joins (~weechat@user/hendursaga) |
| 13:51:41 | <guest61> | but those variables are need in the rest code, they can't be IO a, They need to be Text |
| 13:51:56 | <dminuoso> | do { let param p = getParam p checkParameters; mode <- param 0; server <- param 1; ... password <- maybe (pure "") pure (checkParameters !! 4); ... } |
| 13:51:56 | → | ddellacosta joins (~ddellacos@86.106.143.61) |
| 13:51:58 | <guest61> | otherwise I need to change a lot functions |
| 13:51:58 | <dminuoso> | guest61: ^- |
| 13:52:59 | × | pe200012_ quits (~pe200012@58.248.179.178) (Ping timeout: 245 seconds) |
| 13:53:19 | → | pe200012_ joins (~pe200012@120.236.162.3) |
| 13:53:21 | <dminuoso> | guest61: This has the added benefit of giving a graceful error, if due to some unforseen circumstance (perhaps you missed a Nothing, or a parameter got removed/added) there's suddenly an unexpected Nothing. |
| 13:53:27 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 252 seconds) |
| 13:53:48 | <ski> | let password = fromMaybe ""(checkParameters !! 4) |
| 13:54:13 | <dminuoso> | ^- this is more a drop-in replacement for what you have, without addressing the rest. |
| 13:54:19 | <dminuoso> | Oh, I guess I should have written: |
| 13:54:27 | <dminuoso> | do { let param p = getParam p checkParameters; mode <- param 0; server <- param 1; ... password <- fromMaybe "" pure (checkParameters !! 4); ... } |
| 13:54:29 | → | geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 13:54:29 | <dminuoso> | Thanks, ski. |
| 13:54:31 | <guest61> | fromMaybe is better |
| 13:54:37 | <guest61> | than my fromJust |
| 13:55:14 | <guest61> | what's this do ? Maybe or IO? |
| 13:55:37 | <dminuoso> | % :t fromMaybe |
| 13:55:37 | <yahb> | dminuoso: a -> Maybe a -> a |
| 13:55:38 | <guest61> | oh IO |
| 13:55:49 | <dminuoso> | oh hah wait |
| 13:55:57 | <dminuoso> | do { let param p = getParam p checkParameters; mode <- param 0; server <- param 1; ... password <- fromMaybe (pure "") pure (checkParameters !! 4); ... } |
| 13:55:59 | <dminuoso> | Here we go. |
| 13:56:19 | <dminuoso> | You could do other tricks too, like stay in Either String and collect the error there |
| 13:56:43 | × | neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 244 seconds) |
| 13:57:04 | × | ddellacosta quits (~ddellacos@86.106.143.61) (Ping timeout: 272 seconds) |
| 13:57:13 | <guest61> | no need, just simple Text is what other functions need, no more wrapped |
| 13:57:40 | <guest61> | otherwise I need to change a lot of functions |
| 13:59:02 | <ski> | better with `let' than `<-' and `pure', for `password' |
| 14:00:46 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 14:01:05 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 14:01:54 | <guest61> | if there's Nothing in thst list, so it would return "missing parameter"? |
| 14:02:38 | <guest61> | But there's another questions, see my second paste, the missing msg is different |
| 14:03:06 | <guest61> | missing different variables, show different msg |
| 14:03:39 | <guest61> | oh you did |
| 14:03:54 | <guest61> | I forgot <> p |
| 14:04:18 | <guest61> | that's more elegant |
| 14:05:04 | <guest61> | I will try it later, thanks, dminuoso, ski |
| 14:06:35 | <ski> | guest61 : what's the length of `checkParameters' ? |
| 14:06:35 | × | o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 245 seconds) |
| 14:07:08 | <guest61> | 8 |
| 14:08:17 | → | yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se) |
| 14:08:24 | × | azeem quits (~azeem@176.201.37.236) (Ping timeout: 245 seconds) |
| 14:09:45 | <guest61> | ghc tells me <|> is ambitious, there are Control.Applicative and Text.ParserComBinators.Parsec.<|>, but I don't want to qualified Control.Applivative neither Parsec |
| 14:09:58 | <guest61> | any suggestions? |
| 14:10:43 | <guest61> | why <|> could be like id? |
| 14:10:46 | → | azeem joins (~azeem@176.201.16.12) |
| 14:10:50 | <guest61> | id is so arbi |
| 14:10:52 | <guest61> | arbitrary |
| 14:10:58 | → | o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) |
| 14:11:24 | <guest61> | not |
| 14:14:44 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:15:27 | <yushyin> | guest61: usually import the <|> from control.applicative unqualified and others qualified but with a shorter renamed namespace |
| 14:16:05 | <guest61> | yeah, I hate that |
| 14:16:28 | <yushyin> | you can also hide the other <|> and not import it at all |
| 14:17:11 | <guest61> | but <|> from Control and Text both are used |
| 14:18:52 | <Lycurgus> | ambitious |
| 14:19:04 | <Lycurgus> | hubristic even |
| 14:23:14 | → | fizbin joins (~fizbin@2600:1002:b128:230e:1cbd:13c5:3322:f6cc) |
| 14:24:13 | × | ddellaco_ quits (~ddellacos@89.46.62.69) (Remote host closed the connection) |
| 14:24:41 | → | ddellacosta joins (~ddellacos@89.46.62.69) |
| 14:26:25 | → | oxide joins (~lambda@user/oxide) |
| 14:26:57 | → | jneira joins (~jneira@166.red-81-39-172.dynamicip.rima-tde.net) |
| 14:28:19 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:28:29 | <yushyin> | You could define another operator as an alias to one of the others. |
| 14:28:54 | <DigitalKiwi> | <|> voted most likely to succeed in the year book |
| 14:29:22 | × | ddellacosta quits (~ddellacos@89.46.62.69) (Ping timeout: 272 seconds) |
| 14:29:46 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 14:30:10 | → | ukari joins (~ukari@user/ukari) |
| 14:30:41 | <boxscape> | Guest2041 you should be able to use Control.Applicative's for both, I think? There is an `Alternative` instance for Parsec |
| 14:30:48 | → | zeenk joins (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) |
| 14:30:49 | <boxscape> | uhh, wrong guest, sorry |
| 14:30:52 | <boxscape> | guest61 |
| 14:33:16 | × | Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Remote host closed the connection) |
| 14:33:19 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 264 seconds) |
| 14:33:38 | → | ddellacosta joins (~ddellacos@89.46.62.86) |
| 14:35:42 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 14:37:01 | <yushyin> | if that's the case, it's very likely the same implementation, yup. |
| 14:37:15 | × | ddellacosta quits (~ddellacos@89.46.62.86) (Remote host closed the connection) |
| 14:37:43 | → | ddellacosta joins (~ddellacos@89.46.62.86) |
| 14:37:52 | <boxscape> | yeah I checked, they're both implemented as mplus |
| 14:37:57 | <geekosaur> | I* was under the (possibly incorrect) impression the Parsec one is monadic, for performance reasons |
| 14:37:59 | <geekosaur> | ah |
| 14:42:24 | × | ddellacosta quits (~ddellacos@89.46.62.86) (Ping timeout: 252 seconds) |
| 14:42:50 | → | ddellacosta joins (~ddellacos@89.46.62.34) |
| 14:43:10 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 14:43:30 | × | azeem quits (~azeem@176.201.16.12) (Ping timeout: 252 seconds) |
| 14:45:19 | × | fluffyballoon quits (~fluffybal@2620:72:0:6480::e5) (Quit: Client closed) |
| 14:47:40 | → | azeem joins (~azeem@176.201.16.12) |
| 14:48:03 | → | ddellaco_ joins (~ddellacos@89.46.62.34) |
| 14:48:14 | → | hiptobecubic joins (~john@c-73-55-99-95.hsd1.fl.comcast.net) |
| 14:48:53 | → | awth13 joins (~user@193.27.14.133) |
| 14:49:56 | × | ddellacosta quits (~ddellacos@89.46.62.34) (Ping timeout: 244 seconds) |
| 14:50:02 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 14:50:25 | → | ukari joins (~ukari@user/ukari) |
| 14:54:16 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 14:54:20 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 14:54:30 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 14:54:35 | → | ddellacosta joins (~ddellacos@86.106.121.23) |
| 14:54:49 | → | noglog joins (~egigs@097-101-149-192.res.spectrum.com) |
| 14:54:57 | <noglog> | is there a way to turn -Wmissing-methods into an error? |
| 14:57:01 | <noglog> | hm, manual says -Werror=missing-methods should work. Thanks |
| 14:57:17 | × | ddellaco_ quits (~ddellacos@89.46.62.34) (Ping timeout: 272 seconds) |
| 14:57:46 | → | lavaman joins (~lavaman@98.38.249.169) |
| 14:59:28 | → | ddellaco_ joins (~ddellacos@89.45.224.178) |
| 15:01:14 | × | o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 15:01:45 | → | nattiestnate joins (~nate@180.242.128.159) |
| 15:01:54 | × | ddellacosta quits (~ddellacos@86.106.121.23) (Remote host closed the connection) |
| 15:02:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:02:56 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 15:03:00 | → | infandum joins (~user@207.44.105.67.res-cmts.all2.ptd.net) |
| 15:03:48 | → | o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) |
| 15:03:49 | × | ddellaco_ quits (~ddellacos@89.45.224.178) (Ping timeout: 245 seconds) |
| 15:04:25 | <infandum> | I am using optparse-generic. My program has different commands, each sharing some arguments. One set of arguments in particular are shared across many commands. Is it possible to have a set of value constructors copied over the "or"s in the data keyword? |
| 15:05:34 | <infandum> | Like, Options1 { arg1, arg2, arg3} | Options2 { arg1, arg2, arg4 } | etc. -> Options1 { argSet, arg3 } | Options2 { argSet, arg4 } | etc. |
| 15:06:01 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 15:07:08 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 15:07:09 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds) |
| 15:07:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 15:07:30 | → | ddellacosta joins (~ddellacos@86.106.121.47) |
| 15:07:34 | × | argento quits (~argent0@168-227-96-51.ptr.westnet.com.ar) (Ping timeout: 245 seconds) |
| 15:08:00 | × | ikex quits (~ash@user/ikex) (Ping timeout: 272 seconds) |
| 15:11:33 | × | kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 252 seconds) |
| 15:12:12 | → | ddellaco_ joins (~ddellacos@86.106.121.89) |
| 15:12:46 | → | blizzard joins (~winter@2603-6011-f901-9e5b-78b5-8b2f-cdb2-4171.res6.spectrum.com) |
| 15:13:20 | → | maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee) |
| 15:13:42 | × | ddellacosta quits (~ddellacos@86.106.121.47) (Ping timeout: 244 seconds) |
| 15:14:01 | → | ac joins (~aloiscoch@2001:470:69fc:105::65) |
| 15:14:01 | → | sm[m] joins (~sm@plaintextaccounting/sm) |
| 15:14:01 | → | MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22) |
| 15:14:01 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 15:14:01 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 15:14:02 | → | peddie joins (~peddie@2001:470:69fc:105::25d) |
| 15:14:02 | → | psydroid joins (~psydroidm@2001:470:69fc:105::165) |
| 15:14:02 | → | siraben joins (~siraben@user/siraben) |
| 15:14:02 | → | fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db) |
| 15:14:02 | → | ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a) |
| 15:14:02 | → | the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f) |
| 15:14:02 | → | kadoban joins (~kadoban@user/kadoban) |
| 15:14:05 | → | Las[m] joins (~lasmatrix@2001:470:69fc:105::74e) |
| 15:14:07 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 15:14:13 | → | zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4) |
| 15:14:13 | → | hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd) |
| 15:14:13 | → | Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0) |
| 15:14:13 | → | srid[m] joins (~sridmatri@2001:470:69fc:105::1c2) |
| 15:14:14 | → | Artem[m] joins (~artemtype@2001:470:69fc:105::75b) |
| 15:14:14 | → | Drezil joins (~drezilkif@2001:470:69fc:105::7f8) |
| 15:14:14 | → | cdepillabout[m] joins (~cdepillab@2001:470:69fc:105::3d3) |
| 15:14:14 | → | kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d) |
| 15:14:14 | → | bb010g joins (~bb010gmat@2001:470:69fc:105::9a5) |
| 15:14:14 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 15:14:14 | → | amesgen[m] joins (~amesgenam@2001:470:69fc:105::82b) |
| 15:14:14 | → | tomferon[m] joins (~tomferon@2001:470:69fc:105::268) |
| 15:14:14 | → | marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8) |
| 15:14:14 | → | eddiemundo joins (~eddiemund@2001:470:69fc:105::a9c) |
| 15:14:14 | → | Soft joins (~soft-matr@2001:470:69fc:105::c75) |
| 15:14:14 | → | adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d) |
| 15:14:15 | → | jaror[m] joins (~jaror@2001:470:69fc:105::265) |
| 15:14:15 | → | cdsmith joins (~cdsmithma@2001:470:69fc:105::284) |
| 15:14:16 | → | ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2) |
| 15:15:16 | × | fizbin quits (~fizbin@2600:1002:b128:230e:1cbd:13c5:3322:f6cc) (Remote host closed the connection) |
| 15:15:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 15:18:18 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
| 15:18:52 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 15:18:56 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 15:19:56 | × | o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 15:20:11 | → | o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) |
| 15:21:27 | × | Cajun quits (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed) |
| 15:21:44 | × | jippiedoe quits (~david@77-171-152-62.fixed.kpn.net) (Ping timeout: 245 seconds) |
| 15:24:55 | → | myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net) |
| 15:25:20 | <ski> | guest61 : <https://paste.tomsmeding.com/6uIVuqff> |
| 15:26:22 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 15:27:41 | × | azeem quits (~azeem@176.201.16.12) (Ping timeout: 272 seconds) |
| 15:28:19 | → | ddellacosta joins (~ddellacos@89.46.62.48) |
| 15:30:00 | <ski> | guest61 : would you still like to output a message, in case of missing password (even while chosing empty string as default) ? |
| 15:30:28 | → | argento joins (~argent0@168-227-96-51.ptr.westnet.com.ar) |
| 15:30:51 | × | ddellaco_ quits (~ddellacos@86.106.121.89) (Ping timeout: 272 seconds) |
| 15:30:55 | → | azeem joins (~azeem@176.201.16.12) |
| 15:31:59 | × | azeem quits (~azeem@176.201.16.12) (Read error: Connection reset by peer) |
| 15:32:15 | → | azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) |
| 15:32:19 | × | xff0x quits (~xff0x@2001:1a81:5240:1700:e30e:a0ca:64b7:1a12) (Ping timeout: 272 seconds) |
| 15:32:41 | → | xff0x joins (~xff0x@2001:1a81:5240:1700:9a39:76e8:fdb4:2fab) |
| 15:33:59 | × | larkfisherman quits (~larkfishe@217.75.204.126) (Remote host closed the connection) |
| 15:34:58 | → | Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr) |
| 15:37:17 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:8fa1:cc04:6abc:7131) (Quit: WeeChat 2.8) |
| 15:42:21 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 15:43:27 | × | argento quits (~argent0@168-227-96-51.ptr.westnet.com.ar) (Ping timeout: 252 seconds) |
| 15:45:04 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 245 seconds) |
| 15:45:11 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan) |
| 15:45:40 | → | geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 15:46:31 | × | MQ-17J quits (~MQ-17J@8.21.10.116) (Ping timeout: 264 seconds) |
| 15:46:46 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 244 seconds) |
| 15:47:51 | → | koishi_ joins (~koishi_@67.209.186.120.16clouds.com) |
| 15:48:48 | → | pe200012 joins (~pe200012@58.248.179.178) |
| 15:49:13 | × | pe200012_ quits (~pe200012@120.236.162.3) (Ping timeout: 272 seconds) |
| 15:49:22 | → | fizbin joins (~fizbin@2600:1002:b128:230e:1cbd:13c5:3322:f6cc) |
| 15:50:45 | → | malvo joins (~malvo@malvo.org) |
| 15:50:58 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:52:16 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:52:34 | × | ddellacosta quits (~ddellacos@89.46.62.48) (Ping timeout: 245 seconds) |
| 15:53:34 | × | koishi_ quits (~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection) |
| 15:54:14 | × | fizbin quits (~fizbin@2600:1002:b128:230e:1cbd:13c5:3322:f6cc) (Ping timeout: 272 seconds) |
| 15:56:19 | → | ddellacosta joins (~ddellacos@89.46.62.125) |
| 15:57:05 | → | o1lo01ol_ joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) |
| 15:57:05 | × | o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
| 15:58:51 | × | pe200012 quits (~pe200012@58.248.179.178) (Remote host closed the connection) |
| 15:59:17 | → | pe200012 joins (~pe200012@119.145.72.136) |
| 16:00:20 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:01:08 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 16:01:46 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 16:04:56 | → | ddellaco_ joins (~ddellacos@86.106.121.178) |
| 16:05:23 | × | hylisper quits (~ykm@111.119.208.67) (Quit: Lost terminal) |
| 16:05:25 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Remote host closed the connection) |
| 16:09:33 | → | mnrmnaugh joins (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) |
| 16:10:04 | × | ddellaco_ quits (~ddellacos@86.106.121.178) (Ping timeout: 272 seconds) |
| 16:10:56 | × | noglog quits (~egigs@097-101-149-192.res.spectrum.com) (Quit: leaving) |
| 16:12:50 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 16:13:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 16:14:49 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 16:15:46 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds) |
| 16:17:09 | → | cfricke joins (~cfricke@user/cfricke) |
| 16:18:43 | → | tremon joins (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
| 16:19:33 | × | platz quits (~platz@user/platz) (Quit: leaving) |
| 16:20:44 | × | vgtw quits (~vgtw@c-9164205c.07-348-756d651.bbcust.telenor.se) (Quit: ZNC - https://znc.in) |
| 16:20:45 | × | o1lo01ol_ quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 16:21:09 | → | o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) |
| 16:21:45 | × | boxscape quits (~boxscape@user/boxscape) (Quit: Connection closed) |
| 16:22:20 | → | boxscape joins (~boxscape@user/boxscape) |
| 16:22:59 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:5a3:b172:cf1b:f959) (Ping timeout: 245 seconds) |
| 16:24:59 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 16:25:35 | → | benin03 joins (~benin@183.82.206.136) |
| 16:26:01 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 16:28:17 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 16:28:27 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 16:29:42 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:90ee:6146:8033:6016) |
| 16:31:56 | × | jespada quits (~jespada@90.254.242.55) (Ping timeout: 252 seconds) |
| 16:31:58 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 16:32:36 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 16:33:30 | × | mnrmnaugh quits (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Ping timeout: 272 seconds) |
| 16:34:25 | → | jespada joins (~jespada@90.254.242.55) |
| 16:35:19 | → | teaSlurper joins (~chris@81.96.113.213) |
| 16:36:16 | → | benin034 joins (benin@gateway/vpn/protonvpn/benin) |
| 16:36:48 | × | benin03 quits (~benin@183.82.206.136) (Ping timeout: 252 seconds) |
| 16:36:49 | benin034 | is now known as benin03 |
| 16:38:15 | <dminuoso> | infandum: Yes. |
| 16:40:03 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 16:40:33 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 16:40:43 | <dminuoso> | infandum: Because the parser is a permutation parser, you can just glue them together in any way you like |
| 16:40:54 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 16:40:56 | <dminuoso> | Roughly what you'd do is this: data COpts = COpts { num :: Int, path :: String }; data Commands = Command1 COpts ... | Command2 COpts ...; And then you can write a parser for `commonOpts :: Parser COpts`, such that you can wrie |
| 16:40:56 | → | vicfred joins (~vicfred@user/vicfred) |
| 16:41:25 | <dminuoso> | `Command1 <$> commonOpts <*> ...` and `Command2 <$> commonOpts <*>...` |
| 16:42:20 | <dminuoso> | And because its a permutation parser, you can also change the applicative order in any way you like |
| 16:42:34 | <dminuoso> | Such as `Command1 <$> fooStuff <*> commonOpts <*> ...` |
| 16:43:00 | → | ddellaco_ joins (~ddellacos@86.106.121.178) |
| 16:43:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:43:52 | <dminuoso> | Oh heh. wait. optparse-generic haha. my pattern detection just read this as optparse-applicative. |
| 16:44:04 | <dminuoso> | But I suppose the same still holds true. |
| 16:46:08 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 16:46:58 | <guest61> | ski, I'd like it output which parameters is missing |
| 16:46:59 | → | mnrmnaugh joins (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) |
| 16:47:03 | → | ukari joins (~ukari@user/ukari) |
| 16:47:30 | → | Topsi1 joins (~Tobias@dyndsl-095-033-093-145.ewe-ip-backbone.de) |
| 16:47:42 | → | benin030 joins (~benin@183.82.206.136) |
| 16:47:48 | × | ddellaco_ quits (~ddellacos@86.106.121.178) (Ping timeout: 252 seconds) |
| 16:48:00 | → | Topsi2 joins (~Tobias@dyndsl-095-033-093-145.ewe-ip-backbone.de) |
| 16:48:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 16:48:32 | <guest61> | dminuoso, could fmap ap apply on parsers? what's the meaning? |
| 16:49:27 | × | Topsi quits (~Tobias@dyndsl-095-033-093-145.ewe-ip-backbone.de) (Ping timeout: 252 seconds) |
| 16:49:36 | <dminuoso> | guest61: Imagine you have some function taking 3 arguments, and you want to run three parsers each of which yields some result that would into that function |
| 16:49:38 | × | amk quits (~amk@176.61.106.150) (Read error: Connection reset by peer) |
| 16:49:39 | <guest61> | <$> <*> ... is liftA2 |
| 16:49:58 | × | benin03 quits (benin@gateway/vpn/protonvpn/benin) (Ping timeout: 272 seconds) |
| 16:49:58 | benin030 | is now known as benin03 |
| 16:50:16 | → | amk joins (~amk@176.61.106.150) |
| 16:52:11 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 16:52:20 | × | spatchkaa_ quits (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Quit: Leaving) |
| 16:52:30 | × | Topsi1 quits (~Tobias@dyndsl-095-033-093-145.ewe-ip-backbone.de) (Ping timeout: 272 seconds) |
| 16:52:33 | → | spatchkaa_ joins (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) |
| 16:52:36 | spatchkaa_ | is now known as spatchkaa |
| 16:52:52 | × | o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 16:53:09 | → | vgtw joins (~vgtw@c-9164205c.07-348-756d651.bbcust.telenor.se) |
| 16:53:13 | → | o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) |
| 16:53:18 | × | spatchkaa quits (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Client Quit) |
| 16:53:40 | <ski> | guest61 : `fmap f someParser' is a parser that will attempt to parse according to `someParser', and if that succeeds, it'll post-process the result by passing it to `f' |
| 16:53:56 | × | Topsi2 quits (~Tobias@dyndsl-095-033-093-145.ewe-ip-backbone.de) (Quit: Leaving.) |
| 16:54:02 | → | spatchkaa joins (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) |
| 16:54:55 | <dminuoso> | guest61: Imagine you wanted to parse `foo123bar` into a 3-tuple containing a word, number and a word, then you could write `let word = satisfy isLetter in (,,) <$> word <*> number <*> word` |
| 16:55:45 | × | bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 245 seconds) |
| 16:56:09 | → | Topsi joins (~Tobias@dyndsl-095-033-093-145.ewe-ip-backbone.de) |
| 16:57:10 | <kuribas> | is there a way to stop TH from recompiling a module, if it is pure code? |
| 16:57:44 | <dminuoso> | kuribas: manually splice? Ive been pondering for a while how to engineer this into GHC as a feature |
| 16:58:31 | <kuribas> | I don't have side effects in my slices... |
| 16:58:38 | <kuribas> | but GHC probably doesn't know that |
| 16:58:48 | <kuribas> | dminuoso: even a pragma would be nice |
| 16:58:54 | <guest61> | ok |
| 16:59:24 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 16:59:59 | <ski> | guest61 : in general, `f <$> actA <*> actB <*> actC <*> actD' always has the same meaning : an action that will first execute `actA' (call the result `a'), then `actB' (call the result `b'), then `actC' (call the result `c'), then `actD' (call the result `d'), finally deliver as overall result `f a b c d' |
| 17:00:05 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:00:10 | <dminuoso> | for some value of "first" |
| 17:00:20 | <ski> | (and this would be the same as `liftA4 f actA actB actC actD') |
| 17:00:21 | <dminuoso> | And "then" :-) |
| 17:00:30 | <ski> | yes |
| 17:00:58 | <dminuoso> | In the above case of permutation parsers like optparse-applicative, there's no particular order |
| 17:01:27 | <ski> | the particularities of what "execute" (including the significance (if any) of the execution order) means, depends on the idiom in question. in your case, it was parsing |
| 17:01:29 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:01:37 | → | emliunix_ joins (~emliunix@103.138.74.69) |
| 17:02:10 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:02:40 | <ski> | (still, `Command1 <$> fooStuff <*> commonOpts <*> ...' is not the same as `Command1 <$> commonOpts <*> fooStuff <*> ...', since these pass the results as different arguments to `Command1') |
| 17:02:52 | → | agumonke` joins (~user@88.160.31.174) |
| 17:02:53 | × | emliunix quits (~emliunix@103.138.74.59) (Remote host closed the connection) |
| 17:03:11 | <ski> | guest61 : any questions about the paste ? |
| 17:03:40 | <guest61> | ski, not yet, I will try it tomorrow |
| 17:04:42 | → | roconnor_ joins (~roconnor@host-45-58-218-136.dyn.295.ca) |
| 17:05:09 | → | emliunix__ joins (~emliunix@218.190.244.125) |
| 17:05:18 | × | roconnor_ quits (~roconnor@host-45-58-218-136.dyn.295.ca) (Client Quit) |
| 17:05:39 | <ski> | (i took the liberty of removing all your `$'s, in addition to some other changes, like changing `print' to `putStrLn' to `hPutStrLn stderr', changing `read' to `readIO', using `catMaybes' instead of `filter (/= Nothing)' and subsequent `fmap fromJust', various matching with `case'-`of', rather than using `if'-`then'-`else', some alignment to more easily see the general structure, ..) |
| 17:06:00 | × | emliunix_ quits (~emliunix@103.138.74.69) (Remote host closed the connection) |
| 17:06:01 | × | nattiestnate quits (~nate@180.242.128.159) (Quit: WeeChat 3.1) |
| 17:06:30 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 17:06:33 | → | bitmapper joins (uid464869@id-464869.tooting.irccloud.com) |
| 17:07:10 | <sclv> | kuribas: ping |
| 17:07:37 | <kuribas> | sclv: pong |
| 17:07:54 | <ski> | guest61 : er, sorry. just noticed i had forgotten to remove some left-over code. try <https://paste.tomsmeding.com/1AU9FcLc> instead |
| 17:07:59 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:90ee:6146:8033:6016) (Ping timeout: 245 seconds) |
| 17:08:13 | <sclv> | i noticed you made a bunch of hasqlator-msyql uploads in quick succession |
| 17:08:28 | <kuribas> | sclv: yeah, I should test a bit better, sorry |
| 17:08:54 | <sclv> | ok, just wanted to check in and discourage that (i only noticed because i'm working on the docbuilder so the new packages feed is relevant at this moment) |
| 17:09:05 | × | Torro quits (Torro@gateway/vpn/protonvpn/torro) (Quit: leaving) |
| 17:09:45 | → | notzmv joins (~zmv@user/notzmv) |
| 17:10:18 | × | ddellacosta quits (~ddellacos@89.46.62.125) (Remote host closed the connection) |
| 17:10:46 | → | ddellacosta joins (~ddellacos@89.46.62.125) |
| 17:11:22 | <kuribas> | sclv: understood |
| 17:11:41 | <dminuoso> | • No instance for (ParseFields (Nested Common)) |
| 17:11:43 | <dminuoso> | instance ParseField (Nested Common) where |
| 17:11:55 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 17:11:56 | <dminuoso> | Sometimes I feel like GHC is playing pranks on me |
| 17:12:05 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:12:14 | <dminuoso> | This is so subtle to spot.. |
| 17:12:45 | → | lbseale joins (~lbseale@ip72-194-54-201.sb.sd.cox.net) |
| 17:12:46 | <monochrom> | Oh heh |
| 17:13:17 | <monochrom> | See, if names were in Chinese, you wouldn't have this problem. :) |
| 17:14:38 | → | ddellaco_ joins (~ddellacos@89.46.62.217) |
| 17:15:36 | <kuribas> | dminuoso: I don't even see the problem... |
| 17:15:41 | <guest61> | ok |
| 17:15:45 | <ski> | numerus |
| 17:15:51 | <monochrom> | plural vs singular in ParseField(s) |
| 17:16:15 | <kuribas> | ah right :) |
| 17:16:40 | <kuribas> | in clojure, such errors just lead to problems in an unrelated part of the code. |
| 17:17:07 | <kuribas> | often the database. honeysql has no problem with generating garbage queries. |
| 17:17:19 | <kuribas> | even though it could do better validation. |
| 17:17:42 | × | waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 244 seconds) |
| 17:18:45 | <boxscape> | Does ghcup for WSL2 build ghc or install a binary? |
| 17:18:49 | × | ddellaco_ quits (~ddellacos@89.46.62.217) (Ping timeout: 245 seconds) |
| 17:19:02 | <maerwald> | boxscape: depends what you ask it to |
| 17:19:06 | <maerwald> | default binary |
| 17:19:06 | <boxscape> | ah |
| 17:19:08 | <boxscape> | ok, thanks |
| 17:19:23 | × | ddellacosta quits (~ddellacos@89.46.62.125) (Remote host closed the connection) |
| 17:19:32 | → | ddellacosta joins (~ddellacos@89.46.62.125) |
| 17:20:02 | <dminuoso> | kuribas: Neither did I. Out of disbelief, I started throwing all extensions and type level creativities at it, and the type error just wouldn't change.. |
| 17:20:46 | × | o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 17:21:13 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:21:50 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:22:48 | × | kuribas quits (~user@ptr-25vy0i8kfrck8zt2w0u.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 17:23:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:23:53 | → | Deide joins (~Deide@wire.desu.ga) |
| 17:23:53 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
| 17:23:53 | → | Deide joins (~Deide@user/deide) |
| 17:24:56 | × | agumonke` quits (~user@88.160.31.174) (Read error: Connection reset by peer) |
| 17:25:04 | <boxscape> | just use -fdefer-type-errors and all your problems will disappear |
| 17:26:18 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 17:26:51 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:28:24 | × | chaosite quits (~chaosite@user/chaosite) (Ping timeout: 245 seconds) |
| 17:29:22 | → | lbseale_ joins (~lbseale@ip72-194-54-201.sb.sd.cox.net) |
| 17:29:36 | → | ddellaco_ joins (~ddellacos@86.106.121.44) |
| 17:30:04 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds) |
| 17:30:45 | → | benin031 joins (~benin@106.198.85.3) |
| 17:30:54 | × | ddellacosta quits (~ddellacos@89.46.62.125) (Ping timeout: 245 seconds) |
| 17:31:13 | × | Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Quit: ran away) |
| 17:31:46 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
| 17:32:21 | × | lbseale quits (~lbseale@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds) |
| 17:33:02 | × | benin03 quits (~benin@183.82.206.136) (Ping timeout: 272 seconds) |
| 17:33:02 | benin031 | is now known as benin03 |
| 17:33:40 | × | xff0x quits (~xff0x@2001:1a81:5240:1700:9a39:76e8:fdb4:2fab) (Ping timeout: 272 seconds) |
| 17:33:45 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 268 seconds) |
| 17:34:53 | → | xff0x joins (~xff0x@185.65.135.235) |
| 17:35:33 | <dminuoso> | @tell infandum Here, you can use this simple newtype wrapped to bury common options like Common in multiple commands. https://gist.github.com/dminuoso/d68598ffb112cbe61c3759a530e2d837 |
| 17:35:33 | <lambdabot> | Consider it noted. |
| 17:36:52 | → | teaSlurper joins (~chris@81.96.113.213) |
| 17:37:30 | × | phma quits (phma@2001:5b0:211f:f668:98fc:87:ee60:b793) (Read error: Connection reset by peer) |
| 17:37:43 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:37:47 | → | stefan-_ joins (~cri@42dots.de) |
| 17:40:36 | × | myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 17:43:11 | → | agumonke` joins (~user@88.160.31.174) |
| 17:43:21 | × | xff0x quits (~xff0x@185.65.135.235) (Ping timeout: 252 seconds) |
| 17:45:03 | → | xff0x joins (~xff0x@2001:1a81:5240:1700:9a39:76e8:fdb4:2fab) |
| 17:45:19 | × | jespada quits (~jespada@90.254.242.55) (Ping timeout: 264 seconds) |
| 17:46:56 | → | jespada joins (~jespada@90.254.242.55) |
| 17:46:58 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 272 seconds) |
| 17:47:22 | → | myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net) |
| 17:49:42 | → | ddellacosta joins (~ddellacos@89.45.224.178) |
| 17:54:21 | × | ddellacosta quits (~ddellacos@89.45.224.178) (Ping timeout: 252 seconds) |
| 17:54:59 | → | jippiedoe joins (~david@77-171-152-62.fixed.kpn.net) |
| 17:55:37 | → | phma joins (phma@2001:5b0:211f:5688:a0:2a2f:464e:6b06) |
| 17:57:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 17:57:44 | → | JimL joins (~quassel@ti0577q162-3381.bb.online.no) |
| 17:59:00 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 272 seconds) |
| 17:59:34 | → | safinaskar joins (~user@109-252-90-89.nat.spd-mgts.ru) |
| 17:59:50 | <tomsmeding> | dminuoso: that error is sneaky as hell |
| 17:59:54 | → | Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:dc63:473e:1d9e:8708) |
| 17:59:59 | <safinaskar> | is there a way to make this code compile? f :: a -> a; f x = (x :: a) |
| 18:00:20 | <dminuoso> | safinaskar: -fdefer-type-errors |
| 18:00:23 | dminuoso | chuckles |
| 18:00:31 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 18:00:42 | <boxscape> | f :: forall a . a -> a; f x = (x :: a) |
| 18:00:46 | <boxscape> | with -XScopedTypeVariables |
| 18:01:11 | <boxscape> | % f :: forall a . a -> a; f x = (x :: a) |
| 18:01:11 | <yahb> | boxscape: |
| 18:01:13 | <dminuoso> | Do we have `f :: a -> a; f @b x = (x :: b)` already? |
| 18:01:23 | <dminuoso> | Buried in some extension perhaps? |
| 18:01:38 | <boxscape> | dminuoso I've opened a ticket about implementing it but the -XTypeAbstractions proposal needs to be sorted out first |
| 18:01:50 | <boxscape> | https://github.com/ghc-proposals/ghc-proposals/pull/238/ |
| 18:03:11 | × | ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Ping timeout: 244 seconds) |
| 18:03:11 | × | hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Ping timeout: 244 seconds) |
| 18:03:11 | × | fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Ping timeout: 244 seconds) |
| 18:03:11 | × | the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Ping timeout: 244 seconds) |
| 18:03:11 | × | psydroid quits (~psydroidm@2001:470:69fc:105::165) (Ping timeout: 244 seconds) |
| 18:03:11 | × | maralorn quits (~maralorn@2001:470:69fc:105::251) (Ping timeout: 244 seconds) |
| 18:03:11 | × | fgaz quits (~fgaz@2001:470:69fc:105::842) (Ping timeout: 244 seconds) |
| 18:03:11 | × | sm[m] quits (~sm@plaintextaccounting/sm) (Ping timeout: 244 seconds) |
| 18:03:11 | × | siraben quits (~siraben@user/siraben) (Ping timeout: 244 seconds) |
| 18:03:30 | × | cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Ping timeout: 272 seconds) |
| 18:03:30 | × | eddiemundo quits (~eddiemund@2001:470:69fc:105::a9c) (Ping timeout: 272 seconds) |
| 18:03:30 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 272 seconds) |
| 18:03:31 | × | peddie quits (~peddie@2001:470:69fc:105::25d) (Ping timeout: 272 seconds) |
| 18:03:31 | × | ac quits (~aloiscoch@2001:470:69fc:105::65) (Ping timeout: 272 seconds) |
| 18:03:31 | × | MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Ping timeout: 272 seconds) |
| 18:03:41 | × | Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Ping timeout: 244 seconds) |
| 18:03:41 | × | Drezil quits (~drezilkif@2001:470:69fc:105::7f8) (Ping timeout: 244 seconds) |
| 18:03:41 | × | cdepillabout[m] quits (~cdepillab@2001:470:69fc:105::3d3) (Ping timeout: 244 seconds) |
| 18:03:41 | × | kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (Ping timeout: 244 seconds) |
| 18:03:41 | × | zwro[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Ping timeout: 244 seconds) |
| 18:03:41 | × | Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Ping timeout: 244 seconds) |
| 18:03:41 | × | maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Ping timeout: 244 seconds) |
| 18:04:07 | × | jaror[m] quits (~jaror@2001:470:69fc:105::265) (Ping timeout: 272 seconds) |
| 18:04:07 | × | bb010g quits (~bb010gmat@2001:470:69fc:105::9a5) (Ping timeout: 272 seconds) |
| 18:04:07 | × | oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 272 seconds) |
| 18:04:07 | × | amesgen[m] quits (~amesgenam@2001:470:69fc:105::82b) (Ping timeout: 272 seconds) |
| 18:04:07 | × | tomferon[m] quits (~tomferon@2001:470:69fc:105::268) (Ping timeout: 272 seconds) |
| 18:04:07 | × | marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 272 seconds) |
| 18:04:07 | × | Soft quits (~soft-matr@2001:470:69fc:105::c75) (Ping timeout: 272 seconds) |
| 18:04:07 | × | adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Ping timeout: 272 seconds) |
| 18:04:07 | × | srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Ping timeout: 272 seconds) |
| 18:05:42 | × | benin03 quits (~benin@106.198.85.3) (Read error: Connection reset by peer) |
| 18:06:54 | → | benin03 joins (~benin@183.82.206.233) |
| 18:08:49 | → | cfricke joins (~cfricke@user/cfricke) |
| 18:09:57 | × | ddellaco_ quits (~ddellacos@86.106.121.44) (Read error: Connection reset by peer) |
| 18:10:28 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 18:11:10 | → | teaSlurper joins (~chris@81.96.113.213) |
| 18:11:30 | → | ddellacosta joins (~ddellacos@86.106.121.44) |
| 18:12:32 | → | argento joins (~argent0@168-227-96-51.ptr.westnet.com.ar) |
| 18:15:28 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 272 seconds) |
| 18:19:39 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 245 seconds) |
| 18:20:38 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:25:59 | → | ddellaco_ joins (~ddellacos@86.106.121.165) |
| 18:26:04 | × | ddellaco_ quits (~ddellacos@86.106.121.165) (Remote host closed the connection) |
| 18:27:48 | × | jippiedoe quits (~david@77-171-152-62.fixed.kpn.net) (Quit: Leaving) |
| 18:30:20 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 18:32:53 | × | ddellacosta quits (~ddellacos@86.106.121.44) (Remote host closed the connection) |
| 18:33:21 | → | ddellacosta joins (~ddellacos@86.106.121.44) |
| 18:33:44 | × | JimL quits (~quassel@ti0577q162-3381.bb.online.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:35:43 | → | Guest68 joins (~Guest68@82.40.121.143) |
| 18:35:54 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds) |
| 18:37:08 | <Guest68> | I'm trying to optimise some code. I've noticed that if I copy the contents of a module into Main.hs (and don't import the module), I get a ~2x speedup. What could be causing this? |
| 18:37:29 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 18:39:21 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Remote host closed the connection) |
| 18:39:34 | → | Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr) |
| 18:42:01 | <Ariakenom> | Guest68: Are you using all the -O (Optimization) flags? |
| 18:42:11 | <Guest68> | Ariakenom: Yes |
| 18:43:12 | × | ystael quits (~ystael@user/ystael) (Quit: Lost terminal) |
| 18:43:30 | <Ariakenom> | and not ghci? |
| 18:44:03 | <safinaskar> | boxscape: thanks |
| 18:44:27 | <Guest68> | Ariakenom: No, I'm compiling with ghc and running the resulting executable. |
| 18:46:15 | <tput> | try adding INLINE or INLINABLE pragmas. afaik GHC doesn't inline across module boundaries unless hinted at to do so |
| 18:46:24 | <dminuoso> | It does |
| 18:46:33 | <dminuoso> | Just not with a guarantee |
| 18:46:45 | <dminuoso> | For relatively small code GHC will by default include unfoldings in interface files |
| 18:47:24 | <dminuoso> | Think its even that without INLINABLE, you'd get optimized unfoldings, but with INLINABLE it would give you unoptimized unfoldings |
| 18:47:59 | <Ariakenom> | my thoughts also went towards inlining. (and yes GHC does inline, but it is affected by module boundaries. getting inlining right is sibtle) |
| 18:48:27 | <dminuoso> | Guest68: Lack of specialization can also be part of it. |
| 18:48:46 | <dminuoso> | This is especially noticable in mtl-polymorphic code |
| 18:49:14 | <Guest68> | I've tried SPECIALIZE-ing everything in the module, but it made no difference. Are there any heuristics on what to INLINE? |
| 18:49:45 | <dminuoso> | INLINE, not generally as a rule of thumb |
| 18:49:52 | <dminuoso> | That one is an arcane art.. :-) |
| 18:50:10 | <dminuoso> | INLINABLE as a default however is fairly fine. |
| 18:52:04 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 18:54:27 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 18:54:50 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:55:57 | × | benin03 quits (~benin@183.82.206.233) (Quit: The Lounge - https://thelounge.chat) |
| 18:57:13 | → | ddellaco_ joins (~ddellacos@89.45.224.126) |
| 18:59:29 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:59:34 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 18:59:35 | <Guest68> | Adding INLINABLE everywhere hasn't made any difference :( |
| 19:00:52 | <maerwald> | is there a high-level library for lzip? |
| 19:01:25 | → | a6a45081-2b83 joins (~aditya@223.235.239.159) |
| 19:03:55 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
| 19:04:51 | → | bontaq` joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 19:07:58 | × | ddellacosta quits (~ddellacos@86.106.121.44) (Remote host closed the connection) |
| 19:08:07 | → | ddellacosta joins (~ddellacos@86.106.121.44) |
| 19:09:18 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:11:04 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 19:13:43 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:19:19 | <dminuoso> | Guest68: Can you share the code? |
| 19:19:26 | <dminuoso> | It's very hard to give qualified advice without even seeing it. |
| 19:19:30 | × | azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 19:19:40 | → | azeem joins (~azeem@176.200.249.52) |
| 19:19:54 | × | mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection) |
| 19:20:00 | × | azeem quits (~azeem@176.200.249.52) (Read error: Connection reset by peer) |
| 19:20:02 | × | agumonke` quits (~user@88.160.31.174) (Read error: Connection reset by peer) |
| 19:20:14 | → | azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) |
| 19:22:24 | → | econo joins (uid147250@user/econo) |
| 19:23:57 | → | f33f046c-a02e joins (~aditya@223.178.225.24) |
| 19:24:39 | × | a6a45081-2b83 quits (~aditya@223.235.239.159) (Ping timeout: 245 seconds) |
| 19:24:42 | → | ystael joins (~ystael@user/ystael) |
| 19:26:23 | × | ddellacosta quits (~ddellacos@86.106.121.44) (Remote host closed the connection) |
| 19:26:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 19:26:50 | <Guest68> | dminuoso: https://paste.tomsmeding.com/Vj1sJXL5 |
| 19:26:51 | → | ddellacosta joins (~ddellacos@86.106.121.44) |
| 19:28:14 | <dminuoso> | Guest68: Mmm. Try -fexpose-all-unfoldings in addition to INLINABLE |
| 19:28:41 | <dminuoso> | The monad polymorphism could prevent inlining from occuring |
| 19:29:00 | × | berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
| 19:29:11 | → | xsperry joins (~as@user/xsperry) |
| 19:29:48 | × | forell_ quits (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (Quit: ZNC - https://znc.in) |
| 19:30:16 | <dminuoso> | What is ListOnionT? |
| 19:32:14 | × | ddellacosta quits (~ddellacos@86.106.121.44) (Remote host closed the connection) |
| 19:32:28 | → | ddellacosta joins (~ddellacos@86.106.121.44) |
| 19:32:35 | × | xprlgjf quits (~gavin@60.27.93.209.dyn.plus.net) (Remote host closed the connection) |
| 19:33:19 | × | Guest68 quits (~Guest68@82.40.121.143) (Quit: Ping timeout (120 seconds)) |
| 19:33:49 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 245 seconds) |
| 19:34:10 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:35:29 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 245 seconds) |
| 19:35:45 | → | Guest68 joins (~Guest68@82.40.121.143) |
| 19:36:07 | <Guest68> | -fexpose-all-unfoldings and INLINABLE was much much slower |
| 19:36:10 | → | forell joins (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) |
| 19:36:31 | × | favonia quits (~favonia@user/favonia) (Remote host closed the connection) |
| 19:36:36 | <Guest68> | data ListOnionT c m a = ListOnionT {getNil :: m a, getCons :: c -> m (Either a (ListOnionT c m a))} |
| 19:37:09 | <Guest68> | It's supposed to be list ReaderT [c] m a, but you can read the list one element at a time. i.e. unwrapping like an onion |
| 19:37:55 | → | favonia joins (~favonia@user/favonia) |
| 19:38:14 | × | ubert quits (~Thunderbi@p200300ecdf259d3dfcd415488b1ba362.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 19:38:18 | → | ub joins (~Thunderbi@p200300ecdf259d2d3d1bf7f6f1f48366.dip0.t-ipconnect.de) |
| 19:39:02 | <dminuoso> | Well, rather `ReaderT [c] (ExceptT a) m`, no? |
| 19:39:18 | <dminuoso> | (Or maybe flipped around, cant focus right now) |
| 19:40:06 | <Guest68> | The 'Either a' part is for shortcutting, so that you don't have to read the entire list. |
| 19:40:29 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds) |
| 19:40:36 | ub | is now known as ubert |
| 19:40:55 | <Guest68> | pureListOnionT a = ListOnionT (pure a) (const $ pure $ Left a) |
| 19:40:57 | <dminuoso> | So this is a sort of streaming parser? |
| 19:41:01 | <Guest68> | Yes, exactly. |
| 19:43:01 | <dminuoso> | Is the intend to write a streaming parser library, or is this just an immediate solution to another problem? |
| 19:43:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 19:43:34 | <Guest68> | It's just for a personal project. |
| 19:44:50 | <dminuoso> | Guest68: Things that come to mind that could help: INLINE pragmas on some of those combinators (megaparsec for example simply INLINEs... everything - quite possibly not the best choice) |
| 19:45:14 | <dminuoso> | And turning those either effects into continuations |
| 19:46:04 | <dminuoso> | You should also use Writer from Control.Monad.Trans.Writer.CPS, the one you imported behaves very poorly |
| 19:46:46 | <Guest68> | So, replace 'Either l r' with 'forall a. (l -> a) -> (r -> a) -> a'? |
| 19:47:09 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 245 seconds) |
| 19:47:16 | <dminuoso> | I think I would handroll the entire parser stack with continuations |
| 19:47:22 | <dminuoso> | Rather than using monad transformers |
| 19:47:27 | → | chexum joins (~chexum@gateway/tor-sasl/chexum) |
| 19:47:33 | → | favonia joins (~favonia@user/favonia) |
| 19:48:19 | <dminuoso> | Otherwise you will rely on deforestation to obtain any agreeable performance |
| 19:48:35 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:29db:2818:25aa:c67e) |
| 19:50:09 | <Guest68> | Could you point me toward anything I could read about that? |
| 19:51:32 | <dminuoso> | Guest68: Not sure. The rationale is quite easy, when you produce a Right constantly, and subsequently pattern match on it, it impedes further fusion/inlining |
| 19:52:25 | <dminuoso> | Perhaps someone else in this channel has good resources on this |
| 19:53:38 | <dminuoso> | Guest68: In many cases, GHC can apply optimization tricks to make the intermediate constructor disappear, until it cant. |
| 19:54:03 | → | berberman joins (~berberman@user/berberman) |
| 19:54:41 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 19:55:17 | <monochrom> | However, if the issue is that import vs #include causes an efficiency difference, then the issue is how many more pragmas to bark to ghc. |
| 19:56:00 | <dminuoso> | Guest68: Here's one example that GHC does to make working with intermediate lists often invisible: |
| 19:56:17 | <dminuoso> | https://hackage.haskell.org/package/base-4.15.0.0/docs/GHC-Base.html#v:build |
| 19:56:45 | <dminuoso> | (The surrounding optimization is called foldr/build fusion) |
| 19:56:52 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:57:16 | <Guest68> | That looks promising. |
| 19:57:18 | × | f33f046c-a02e quits (~aditya@223.178.225.24) (Quit: Konversation terminated!) |
| 19:57:29 | <Guest68> | I'll look into it. |
| 19:57:34 | <Guest68> | Thanks a lot for the help! |
| 19:57:36 | <dminuoso> | Guest68: also take a look at the megaparsec implementation |
| 19:57:45 | <dminuoso> | It should give you an idea how a continuation based parser could look like |
| 19:57:58 | × | kadoban quits (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM) |
| 19:57:58 | × | ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM) |
| 19:57:58 | × | Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM) |
| 19:58:26 | <dminuoso> | ttps://hackage.haskell.org/package/base-4.15.0.0/docs/GHC-Base.html#v:build |
| 19:58:28 | <dminuoso> | https://hackage.haskell.org/package/megaparsec-9.0.1/docs/src/Text.Megaparsec.Internal.html#ParsecT |
| 19:58:39 | → | maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee) |
| 19:59:19 | → | siraben joins (~siraben@user/siraben) |
| 19:59:20 | → | ac joins (~aloiscoch@2001:470:69fc:105::65) |
| 19:59:20 | → | sm[m] joins (~sm@plaintextaccounting/sm) |
| 19:59:20 | → | maralorn joins (~maralorn@2001:470:69fc:105::251) |
| 19:59:20 | → | MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22) |
| 19:59:20 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 19:59:20 | → | peddie joins (~peddie@2001:470:69fc:105::25d) |
| 19:59:20 | → | psydroid joins (~psydroidm@2001:470:69fc:105::165) |
| 19:59:20 | → | fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db) |
| 19:59:20 | → | ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a) |
| 19:59:20 | → | the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f) |
| 19:59:21 | → | kadoban joins (~kadoban@user/kadoban) |
| 19:59:23 | → | Las[m] joins (~lasmatrix@2001:470:69fc:105::74e) |
| 19:59:23 | → | ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2) |
| 19:59:25 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 19:59:32 | → | zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4) |
| 19:59:32 | → | eddiemundo joins (~eddiemund@2001:470:69fc:105::a9c) |
| 19:59:32 | → | srid[m] joins (~sridmatri@2001:470:69fc:105::1c2) |
| 19:59:32 | → | Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0) |
| 19:59:32 | → | bb010g joins (~bb010gmat@2001:470:69fc:105::9a5) |
| 19:59:32 | → | Artem[m] joins (~artemtype@2001:470:69fc:105::75b) |
| 19:59:32 | → | marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8) |
| 19:59:32 | → | Drezil joins (~drezilkif@2001:470:69fc:105::7f8) |
| 19:59:32 | → | adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d) |
| 19:59:32 | → | hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd) |
| 19:59:32 | → | tomferon[m] joins (~tomferon@2001:470:69fc:105::268) |
| 19:59:32 | → | cdepillabout[m] joins (~cdepillab@2001:470:69fc:105::3d3) |
| 19:59:32 | → | oak- joins (~oakuniver@2001:470:69fc:105::fcd) |
| 19:59:32 | → | amesgen[m] joins (~amesgenam@2001:470:69fc:105::82b) |
| 19:59:32 | → | kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d) |
| 19:59:32 | → | Soft joins (~soft-matr@2001:470:69fc:105::c75) |
| 19:59:34 | → | cdsmith joins (~cdsmithma@2001:470:69fc:105::284) |
| 19:59:34 | → | jaror[m] joins (~jaror@2001:470:69fc:105::265) |
| 20:00:11 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 20:00:29 | × | ddellaco_ quits (~ddellacos@89.45.224.126) (Ping timeout: 245 seconds) |
| 20:01:13 | <dminuoso> | Guest68: Some further reading material on the correctness of foldr/build fusion https://wiki.haskell.org/Correctness_of_short_cut_fusion |
| 20:02:30 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 20:02:30 | × | psydroid quits (~psydroidm@2001:470:69fc:105::165) (Changing host) |
| 20:02:30 | → | psydroid joins (~psydroidm@user/psydroid) |
| 20:03:55 | <Guest68> | Thanks. |
| 20:04:04 | → | bruceleewees joins (~bruceleew@83.24.248.233.ipv4.supernova.orange.pl) |
| 20:04:20 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 20:05:20 | × | juhp quits (~juhp@128.106.188.199) (Ping timeout: 245 seconds) |
| 20:07:23 | <maerwald> | I wonder what happens if I mix CPP and quasi-quotes |
| 20:07:58 | <dminuoso> | maerwald: You give up any hopes of ever being friends with HLS. |
| 20:08:02 | → | juhp joins (~juhp@128.106.188.199) |
| 20:08:02 | <tomsmeding> | breaking of the fourth wall |
| 20:08:18 | <maerwald> | :> |
| 20:08:50 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 20:09:08 | <dminuoso> | Or actually, I think HLS should be fine |
| 20:09:27 | <tomsmeding> | as long as you don't work in that particular module I think |
| 20:09:38 | <maerwald> | another way would be... can I extend the Paths_pkg with my own symbols? |
| 20:09:56 | <maerwald> | like... have some custom variables in .cabal |
| 20:10:00 | × | emliunix__ quits (~emliunix@218.190.244.125) (Remote host closed the connection) |
| 20:10:05 | <maerwald> | similar to version |
| 20:10:17 | → | emliunix__ joins (~emliunix@103.138.74.59) |
| 20:10:29 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 245 seconds) |
| 20:10:50 | <maerwald> | don't want to turn this into an autoconf package |
| 20:11:18 | → | favonia joins (~favonia@user/favonia) |
| 20:11:38 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:11:44 | <tomsmeding> | I assume you're not looking for cabal flags? |
| 20:11:54 | <maerwald> | nope... it's statically set on release |
| 20:11:56 | → | hexfive joins (~eric@50.35.83.177) |
| 20:12:03 | × | hexfive quits (~eric@50.35.83.177) (Client Quit) |
| 20:12:16 | <maerwald> | but it's nice to have it in .cabal file |
| 20:12:25 | <dminuoso> | maerwald: You're just missing typechecker plugins now. |
| 20:12:43 | <maerwald> | cpp-options: -DMYVAR=1.0.0 |
| 20:12:45 | <maerwald> | but then yeah |
| 20:14:18 | → | raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:14:55 | → | ordinate joins (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) |
| 20:14:57 | <maerwald> | https://cabal.readthedocs.io/en/3.4/cabal-package.html?highlight=getSysconfDir#accessing-data-files-from-package-code this could be a cooler API |
| 20:15:10 | <ordinate> | good afternoon |
| 20:15:18 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:15:20 | → | drownbes joins (~drownbes@193-31-46-176.dyn.estpak.ee) |
| 20:15:32 | <tomsmeding> | good evening :) |
| 20:17:07 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
| 20:18:31 | <ordinate> | my quest to make myself an electronic drum machine for under $20 might accidentally spawn a haskell library |
| 20:19:06 | <maerwald> | sounds like you want to get into 3d printing too |
| 20:19:10 | × | Guest68 quits (~Guest68@82.40.121.143) (Quit: Client closed) |
| 20:21:08 | <tput> | for no good reason, I keep thinking about writing a slicer |
| 20:22:09 | <ordinate> | why 3d print when i have tin foil and batteries? |
| 20:22:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:24:37 | × | drownbes quits (~drownbes@193-31-46-176.dyn.estpak.ee) (Quit: Leaving) |
| 20:24:38 | → | jkoshy` joins (~user@2001:8b0:a67e:ab40:b9c8:b2ad:c22c:d22a) |
| 20:27:25 | × | jkoshy` quits (~user@2001:8b0:a67e:ab40:b9c8:b2ad:c22c:d22a) (Client Quit) |
| 20:27:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 20:28:18 | → | _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 20:28:47 | <maerwald> | tput: oh god... you know how much work that is? |
| 20:28:57 | bontaq` | is now known as bontaq |
| 20:29:43 | × | ddellacosta quits (~ddellacos@86.106.121.44) (Ping timeout: 264 seconds) |
| 20:30:04 | × | Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:dc63:473e:1d9e:8708) (Quit: Leaving) |
| 20:30:24 | × | raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.1) |
| 20:30:43 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:31:18 | <_73> | I have many functions that may fail. Some of these functions return Maybes, while others return `Either String a`. These functions will only be called from within a State monad. Will I be able to get everything to compose under a Monad transformer? |
| 20:31:29 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Remote host closed the connection) |
| 20:31:52 | <_73> | or should I change the maybes to eithers as well? |
| 20:31:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:33:18 | × | bruceleewees quits (~bruceleew@83.24.248.233.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds) |
| 20:33:51 | <dminuoso> | _73: I recommend massage functions `hush :: Either a b -> Maybe b` and `note :: a -> Maybe b -> Either a b` |
| 20:34:34 | <tput> | maerwald: yes, that's why there are no good reasons! it would never be anywhere near the established slicers, just a useless toy |
| 20:34:35 | <dminuoso> | Or perhaps a flavor polymorphic over monad transformers, like `noteM :: MonadError e m => e -> Maybe b -> m b` |
| 20:35:05 | <dminuoso> | _73: Whether you tie these into a monad transformer depends on whether you wish to have shortcircuiting behavior |
| 20:36:26 | → | ddellacosta joins (~ddellacos@89.46.62.127) |
| 20:36:34 | <_73> | dminuoso: I see what you mean with note and hush. I do wish to have a shortcircuting behavior. In the end I want my program to return `Either Error FinalState` |
| 20:36:42 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 20:38:09 | <dminuoso> | _73: Next decide how you want to layer state and either then. Try and think what difference it makes how they are ordered. |
| 20:38:44 | <dminuoso> | (i.e. whether to use `StateT S (Except Error)` or `ExceptT Error (State S)` |
| 20:39:26 | <dminuoso> | @until StateT S (Except Error) |
| 20:39:26 | <lambdabot> | Maybe you meant: unpl unmtl |
| 20:39:28 | <dminuoso> | @unmtl StateT S (Except Error) |
| 20:39:28 | <lambdabot> | err: `StateT S (Except Error)' is not applied to enough arguments, giving `/\A. S -> Except Error (A, S)' |
| 20:39:34 | <dminuoso> | @unmtl StateT S (Except Error) M |
| 20:39:34 | <lambdabot> | S -> Except Error (M, S) |
| 20:39:42 | × | AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
| 20:39:43 | <dminuoso> | @unmtl ExceptT Error (State S) M |
| 20:39:43 | <lambdabot> | S -> (Either Error M, S) |
| 20:39:55 | → | epolanski joins (uid312403@id-312403.brockwell.irccloud.com) |
| 20:40:39 | <_73> | I see. I believe I want `ExceptT Error (State S)`. This is gonna work though thanks |
| 20:41:48 | <dminuoso> | _73: You can write `type M = ExceptT Error (State S); hushT :: Either Error b -> M b; note :: Error -> Maybe a -> M a` |
| 20:41:54 | <dminuoso> | Or maybe noteT for consistency |
| 20:42:42 | <dminuoso> | or heh, the hushT is silly. It should be called `liftEither` rather |
| 20:43:59 | → | ddellaco_ joins (~ddellacos@89.46.62.40) |
| 20:44:05 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:45:23 | → | Codaraxis joins (~Codaraxis@89.45.7.142) |
| 20:45:34 | × | _73 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Ping timeout: 272 seconds) |
| 20:45:47 | → | _73`` joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 20:45:54 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds) |
| 20:45:55 | → | Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 20:46:03 | <safinaskar> | @unpl |
| 20:46:03 | <lambdabot> | Error: expected a Haskell expression or declaration |
| 20:46:08 | <safinaskar> | @help |
| 20:46:08 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
| 20:46:54 | ← | _73`` parts (~user@pool-96-252-123-136.bstnma.fios.verizon.net) () |
| 20:47:12 | ← | safinaskar parts (~user@109-252-90-89.nat.spd-mgts.ru) () |
| 20:47:24 | → | space-shell joins (~space-she@88.98.247.38) |
| 20:47:28 | × | Codaraxis quits (~Codaraxis@89.45.7.142) (Client Quit) |
| 20:47:28 | × | ddellacosta quits (~ddellacos@89.46.62.127) (Ping timeout: 272 seconds) |
| 20:47:59 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 20:48:03 | → | waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
| 20:48:24 | → | Codaraxis joins (~Codaraxis@89.45.7.142) |
| 20:48:45 | → | _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 20:49:53 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 20:52:34 | × | pe200012 quits (~pe200012@119.145.72.136) (Ping timeout: 245 seconds) |
| 20:52:38 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 20:52:53 | → | pe200012 joins (~pe200012@58.248.179.178) |
| 20:53:59 | × | hiruji quits (~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6) (Read error: Connection reset by peer) |
| 20:54:12 | → | hiruji joins (~hiruji@user/hiruji) |
| 20:55:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:02:37 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 21:04:31 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 264 seconds) |
| 21:04:57 | × | favonia quits (~favonia@user/favonia) (Remote host closed the connection) |
| 21:06:06 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:08:42 | → | benin03 joins (~benin@183.82.206.233) |
| 21:09:38 | × | ddellaco_ quits (~ddellacos@89.46.62.40) (Ping timeout: 272 seconds) |
| 21:09:53 | <boxscape> | hmm <> for Map is union, I wonder if unionWith (<>) would be useful more often |
| 21:09:57 | <boxscape> | it's what I need at the moment |
| 21:11:45 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 21:12:34 | <tomsmeding> | a certain merijn has often complained about this exact thing |
| 21:12:42 | <monochrom> | { union, intersect, unionWith (<>), intersectWith (<>) } |
| 21:12:46 | <boxscape> | ah |
| 21:13:28 | <monochrom> | I propose setting up an AOE2 tournament of 4 sides to determine which one wins. |
| 21:13:50 | <boxscape> | that sounds like a great idea |
| 21:14:26 | <monochrom> | But I belong to the 5th side that has the wisdom to refrain from picking any side for <> for Bool in the first place. |
| 21:15:07 | <tomsmeding> | monochrom: isn't that saying that <> should be unionWith (<>) ? |
| 21:15:42 | <monochrom> | I am fine with unionWith (<>) if you are also fine with intersectWith (<>). |
| 21:15:58 | → | ddellacosta joins (~ddellacos@86.106.121.118) |
| 21:16:12 | → | xsperry joins (~as@user/xsperry) |
| 21:16:27 | <monochrom> | Hell, there are a 6th side I forgot. symmetric difference. |
| 21:16:50 | <tomsmeding> | name me a data structure that chose to have a<>b be smaller than a and b |
| 21:17:07 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 21:18:55 | <monochrom> | longest common subsequence |
| 21:19:30 | <tomsmeding> | it's ultimately all arbitrary but I do think that there is a good case to be made for union rather than intersect; the case for unionWith (<>) rather than union is weaker but still present |
| 21:20:00 | <tput> | wrapper types like Product and Sum? |
| 21:20:14 | <boxscape> | I suppose if we had a commonly used commutative monoid class that would settle it |
| 21:20:21 | <boxscape> | but yeah wrapper types would be one solution |
| 21:20:21 | × | infandum quits (~user@207.44.105.67.res-cmts.all2.ptd.net) (Read error: Connection reset by peer) |
| 21:20:34 | <monochrom> | I'm OK with giving some sides a bit more resources at the beginning of the tournament so they have a bit higher chance to win. :) |
| 21:21:04 | <dminuoso> | Is there a way to annotate an attoparsec parser to guarantee it will not consume more than X tokens? |
| 21:21:17 | <monochrom> | But time to promote my crazy idea again :) https://mail.haskell.org/pipermail/haskell-cafe/2010-November/086220.html |
| 21:21:28 | <monochrom> | Err no wrong one. |
| 21:21:39 | <monochrom> | This one: https://mail.haskell.org/pipermail/haskell-cafe/2017-May/127147.html |
| 21:23:27 | <boxscape> | neat |
| 21:26:44 | → | favonia joins (~favonia@user/favonia) |
| 21:27:46 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds) |
| 21:28:00 | × | jneira quits (~jneira@166.red-81-39-172.dynamicip.rima-tde.net) (Ping timeout: 272 seconds) |
| 21:29:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 21:29:42 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:32:32 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
| 21:34:21 | → | notzmv joins (~zmv@user/notzmv) |
| 21:34:26 | → | Heffalump joins (~ganesh@urchin.earth.li) |
| 21:34:34 | ← | Heffalump parts (~ganesh@urchin.earth.li) () |
| 21:39:13 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 21:40:11 | → | ystael joins (~ystael@user/ystael) |
| 21:40:37 | × | ddellacosta quits (~ddellacos@86.106.121.118) (Remote host closed the connection) |
| 21:41:12 | → | ddellacosta joins (~ddellacos@89.46.62.86) |
| 21:42:26 | → | ddellaco_ joins (~ddellacos@86.106.121.62) |
| 21:43:00 | → | ddellac__ joins (~ddellacos@86.106.121.65) |
| 21:44:50 | × | michalz quits (~user@185.246.204.107) (Remote host closed the connection) |
| 21:45:54 | × | ddellacosta quits (~ddellacos@89.46.62.86) (Ping timeout: 252 seconds) |
| 21:47:00 | × | ddellaco_ quits (~ddellacos@86.106.121.62) (Ping timeout: 252 seconds) |
| 21:50:29 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 245 seconds) |
| 21:50:40 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 21:51:01 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 244 seconds) |
| 21:52:15 | → | jneira joins (~jneira@166.red-81-39-172.dynamicip.rima-tde.net) |
| 21:53:20 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:29db:2818:25aa:c67e) (Ping timeout: 272 seconds) |
| 21:55:29 | × | involans quits (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 245 seconds) |
| 21:56:12 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 21:57:03 | → | aerona joins (~aerona@2600:6c54:4600:f300:90f0:5e8d:1f86:bfa1) |
| 21:57:15 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 21:58:47 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:02:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:03:59 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) (Remote host closed the connection) |
| 22:04:37 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:06:16 | × | tremon quits (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 22:07:36 | × | ddellac__ quits (~ddellacos@86.106.121.65) (Ping timeout: 250 seconds) |
| 22:08:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 22:11:31 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 22:12:18 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 22:13:33 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 22:16:10 | → | HotblackDesiato_ joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 22:17:48 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 22:18:27 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 22:22:09 | niko | is now known as o |
| 22:28:00 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 22:28:34 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 22:32:25 | <janus> | is there a way to negate MIN_PACKAGE_base ? |
| 22:32:37 | <janus> | i tried with "!", and that didn't seem to work |
| 22:33:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:34:07 | <janus> | MIN_VERSION, i meant |
| 22:35:48 | <janus> | oooh it dooooes work :), just got a similar error from another file :P |
| 22:36:39 | <juri_> | stan is unforgiving. i've been working for weeks to get my code from 500 stan warnings down to 330... and i've improved my project health from 59.09% to 61.36%. |
| 22:37:02 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 272 seconds) |
| 22:37:31 | × | yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 264 seconds) |
| 22:44:08 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 22:46:24 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds) |
| 22:46:34 | <janus> | where do i ask trustees to make revisions bumping base bounds? |
| 22:48:03 | × | dhil quits (~dhil@195.213.192.47) (Ping timeout: 252 seconds) |
| 22:48:30 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 22:53:41 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 22:53:47 | <janus> | the packages cryptohash-md5 and cryptohash-sha1 both work fine with bumped base bounds, but they havn't been revision bumped. and hvr is missing so that's why i am counting on the trustees |
| 22:55:12 | × | myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 22:56:09 | <sm[m]> | janus: the hackage front page links to a Hackage trustees wiki page which looks informative |
| 22:56:27 | <sm[m]> | you could also try #hackage |
| 22:56:46 | <janus> | all right, thanks, i'll try #hackage |
| 23:04:54 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:04:54 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 268 seconds) |
| 23:05:13 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1) |
| 23:08:00 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 23:10:05 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 23:10:36 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 23:11:14 | × | space-shell quits (~space-she@88.98.247.38) (Quit: Connection closed) |
| 23:14:10 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 23:18:09 | → | smitop2 joins (uid328768@id-328768.tinside.irccloud.com) |
| 23:18:12 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 272 seconds) |
| 23:18:40 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 250 seconds) |
| 23:18:59 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 23:19:10 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:19:23 | × | zeenk quits (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!) |
| 23:19:36 | × | Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 23:23:46 | → | Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) |
| 23:24:07 | → | pe200012_ joins (~pe200012@119.145.72.136) |
| 23:24:35 | × | pe200012 quits (~pe200012@58.248.179.178) (Ping timeout: 272 seconds) |
| 23:24:49 | → | lavaman joins (~lavaman@98.38.249.169) |
| 23:25:36 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 23:26:11 | → | myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net) |
| 23:26:53 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 23:28:32 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 23:29:53 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 23:30:49 | → | hmmmas joins (~chenqisu1@183.217.201.236) |
| 23:31:28 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 23:31:35 | × | hmmmas quits (~chenqisu1@183.217.201.236) (Client Quit) |
| 23:31:52 | → | hmmmas joins (~chenqisu1@183.217.201.236) |
| 23:31:56 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 23:34:23 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
| 23:36:00 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 250 seconds) |
| 23:38:07 | → | notzmv joins (~zmv@user/notzmv) |
| 23:42:01 | → | fendor_ joins (~fendor@178.115.41.96.wireless.dyn.drei.com) |
| 23:42:30 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 250 seconds) |
| 23:44:43 | × | fendor quits (~fendor@178.115.130.234.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
| 23:45:43 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 23:47:05 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 23:47:27 | × | bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Remote host closed the connection) |
| 23:51:11 | × | ordinate quits (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Quit: Leaving) |
| 23:54:18 | → | nosewings joins (~ncoltharp@2603-8081-3e05-e2d0-0000-0000-0000-1aef.res6.spectrum.com) |
| 23:55:36 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 23:56:15 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 23:57:20 | → | Guest75 joins (~Guest75@adsl-72-50-4-188.prtc.net) |
| 23:57:27 | × | Guest75 quits (~Guest75@adsl-72-50-4-188.prtc.net) (Client Quit) |
| 23:58:00 | → | minare_window joins (~minare_wi@adsl-72-50-4-120.prtc.net) |
All times are in UTC on 2021-06-07.