Logs on 2022-11-07 (liberachat/#haskell)
| 00:05:44 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 00:07:38 | <cheater> | i have a foo.cabal in which i have library (unnamed) and library foo-test-lib with exposed-modules Test.Foo, and then a test-suite foo-test. When I try to import Test.Foo in the test-suite executable, cabal says Test.Foo is in library foo-0.1.0.0, and i should add it. but when i add it, it says "solver did not find a plan that included the test suites for foo-0.1.0.0" ... what gives? |
| 00:07:54 | <cheater> | library foo-test-lib also has foo mentioned as build-depends btw |
| 00:08:04 | × | hueso quits (~root@user/hueso) (Ping timeout: 260 seconds) |
| 00:08:19 | → | hueso joins (~root@user/hueso) |
| 00:09:49 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 00:10:16 | → | justache joins (~justache@user/justache) |
| 00:12:38 | <Axman6> | can you share the cabal file? |
| 00:16:39 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 272 seconds) |
| 00:17:34 | <cheater> | Axman6: yeah, i could |
| 00:21:15 | <cheater> | Axman6: https://paste.ubuntu.com/p/Qcx7sJZ4HR/ |
| 00:24:29 | → | vn36 joins (~vn36@123.63.203.210) |
| 00:25:13 | <Axman6> | "You need to be logged in to view this paste." |
| 00:25:17 | <Axman6> | @where paste |
| 00:25:17 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 00:28:39 | <cheater> | sorry |
| 00:29:12 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 00:30:50 | <cheater> | Axman6: https://paste.tomsmeding.com/EGIqYs74 |
| 00:32:04 | <Axman6> | surely you need to add foo-test-lib as a build-depends for foo-test? |
| 00:32:21 | <cheater> | cabal isn't asking for it |
| 00:32:28 | <cheater> | i tried it, but it still kept complaining about foo |
| 00:32:50 | <Axman6> | add both? |
| 00:32:55 | <cheater> | yes, i tried that too |
| 00:33:13 | <cheater> | adding foo alone or together with foo-test-lib results in the error message |
| 00:34:16 | <sclv> | this is because cabal cannot find a build plan satisfying all dependencies |
| 00:34:44 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 00:34:51 | <sclv> | the deps in common and test conflict and that needs to be fixed |
| 00:35:12 | <sclv> | the solver output should explain the source of conflict |
| 00:35:13 | <cheater> | how do they conflict? |
| 00:35:16 | <cheater> | there are no conflicts |
| 00:35:27 | <sclv> | the message is literally that there are conflicts |
| 00:35:34 | <Axman6> | please share the cabal error you get for the file you shared |
| 00:35:56 | <cheater> | sclv: no. it does not mention conflicts. |
| 00:35:58 | <cheater> | Axman6: ok |
| 00:36:46 | <cheater> | but i've noticed something weird... now when i add build-depends: foo in test-suite foo-test, it still can't find Test.Foo because it's a member of a hidden package foo |
| 00:36:58 | <cheater> | let me pastebin that |
| 00:40:45 | <cheater> | Axman6: https://paste.tomsmeding.com/torEJihu |
| 00:43:05 | <Axman6> | I'm surprised it thinks it's part of foo, since it's not in any of the source dirs for foo |
| 00:44:05 | <cheater> | yes. this is particularly stupid |
| 00:44:10 | <cheater> | i think it's a bug in cabal |
| 00:48:14 | × | mmhat quits (~mmh@p200300f1c739c9cbee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1) |
| 00:49:11 | × | vn36 quits (~vn36@123.63.203.210) (Quit: leaving) |
| 00:50:28 | <cheater> | i moved Test.Foo to the main library, and suddenly the test executable can find it. |
| 00:50:35 | <cheater> | obviously, now it's build-depends: foo |
| 00:51:14 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 260 seconds) |
| 00:53:19 | <geekosaur> | are they all jumbled together into the same directory? I think Cabal assumes they're not, because ghc fouls up (and may have stuck Test.Foo in the wrong library as a result) otherwise |
| 00:53:54 | <geekosaur> | quite a lot of both stack and cabal is trying to make ghc not be idiotic… |
| 00:54:44 | <cheater> | no. look at the cabal file. the normal lib is under src/ and the test lib is under src-test/. |
| 00:55:08 | <cheater> | i'm on cabal-install 3.8.1.0, that seems to be the latest... |
| 00:56:55 | <cheater> | i think what happens is that somewhere in cabal someone mixes up the libraries that are needed. |
| 00:57:07 | <cheater> | just the wrong var being used somewhere |
| 00:58:15 | <yin> | try cabal 3.6.2.0 and see if the error persists |
| 00:58:45 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:58:46 | <cheater> | hmm... what's the cabal-install command to install a specific version? cabal-install cabal-install=3.6.2.0? |
| 00:59:00 | <cheater> | cabal install cabal-install=3.6.2.0? |
| 00:59:24 | <yin> | i personally use ghcup |
| 00:59:38 | <geekosaur> | - instead of = |
| 01:00:03 | <geekosaur> | but yes, use ghcup so you can install both and switch between them |
| 01:00:14 | <geekosaur> | (ghcup tui is nice, if you're not on windows) |
| 01:00:24 | <geekosaur> | (or does that work on windows now?_ |
| 01:00:26 | <geekosaur> | ) |
| 01:00:30 | <cheater> | yeah i know i just don't have it on this vm and i cba |
| 01:00:58 | <yin> | ghcup actually still recommends 3.6.2.0 |
| 01:01:04 | → | Guest75 joins (~Guest75@178.141.177.81) |
| 01:01:05 | <cheater> | funny |
| 01:01:21 | <cheater> | well, it's building |
| 01:01:26 | <yin> | not sure what the criteria is |
| 01:01:27 | <cheater> | it'll probably still be building in an hour |
| 01:01:30 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
| 01:01:40 | <cheater> | probably "did the maintainer remember to update it" |
| 01:01:52 | <yin> | s/is/are |
| 01:02:03 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:02:48 | <geekosaur> | "whenever maerwald decides to update the recommended-versions yaml" |
| 01:03:07 | <cheater> | yea, pretty much probably? |
| 01:03:12 | <cheater> | wow, this is taking ages to build |
| 01:03:50 | → | califax joins (~califax@user/califx) |
| 01:03:52 | <cheater> | why does ghc use so much cpu? go is so much faster to compile |
| 01:03:55 | × | auri quits (~auri@fsf/member/auri) (Quit: No Ping reply in 180 seconds.) |
| 01:04:02 | <cheater> | just kidding... |
| 01:04:10 | yin | is typing... |
| 01:04:19 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::4b68) |
| 01:05:01 | <cheater> | lmao build failed |
| 01:05:03 | → | auri joins (~auri@fsf/member/auri) |
| 01:05:39 | <cheater> | mismatched type something something |
| 01:05:50 | × | mixfix41 quits (~sdeny9ee@user/mixfix41) (Quit: have a good night everybody') |
| 01:06:16 | → | nate4 joins (~nate@98.45.169.16) |
| 01:06:29 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:09:38 | × | xff0x quits (~xff0x@2405:6580:b080:900:fd8d:71ab:7640:b47a) (Ping timeout: 252 seconds) |
| 01:11:04 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 01:11:39 | × | vglfr quits (~vglfr@145.224.100.100) (Ping timeout: 248 seconds) |
| 01:12:08 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 01:13:52 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 01:14:19 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 248 seconds) |
| 01:16:05 | × | califax quits (~califax@user/califx) (Ping timeout: 255 seconds) |
| 01:19:07 | → | califax joins (~califax@user/califx) |
| 01:21:33 | → | nilradical joins (~nilradica@user/naso) |
| 01:24:20 | × | nilradical quits (~nilradica@user/naso) (Client Quit) |
| 01:26:51 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 01:29:35 | → | notzmv joins (~zmv@user/notzmv) |
| 01:30:02 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 01:30:53 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 01:30:56 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 01:32:39 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 260 seconds) |
| 01:38:14 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 01:39:01 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 01:40:04 | → | nate4 joins (~nate@98.45.169.16) |
| 01:42:12 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
| 01:42:19 | × | ubert quits (~Thunderbi@178.165.168.167.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 01:42:32 | → | ubert joins (~Thunderbi@178.165.160.236.wireless.dyn.drei.com) |
| 01:42:35 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 01:45:04 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 01:45:27 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 01:45:42 | × | zmt00 quits (~zmt00@user/zmt00) (Quit: Leaving) |
| 01:48:24 | → | zmt00 joins (~zmt00@user/zmt00) |
| 01:54:08 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 01:58:24 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:58:40 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 02:06:44 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds) |
| 02:08:32 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 02:13:43 | → | dfee joins (~dfee@162-227-164-101.lightspeed.sntcca.sbcglobal.net) |
| 02:15:00 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 260 seconds) |
| 02:16:42 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 02:17:37 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
| 02:17:59 | Lord_of_Life_ | is now known as Lord_of_Life |
| 02:18:11 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 02:23:30 | → | ell joins (~ellie@user/ellie) |
| 02:24:04 | → | Guest|28 joins (~Guest|28@134.173.92.8) |
| 02:24:04 | × | Guest|28 quits (~Guest|28@134.173.92.8) (Client Quit) |
| 02:27:00 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 02:29:04 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 252 seconds) |
| 02:31:49 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
| 02:32:20 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 248 seconds) |
| 02:33:49 | × | hueso quits (~root@user/hueso) (Quit: No Ping reply in 180 seconds.) |
| 02:35:00 | → | hueso joins (~root@user/hueso) |
| 02:38:50 | → | bilegeek joins (~bilegeek@2600:1008:b011:e74:deb:55dd:b7ff:98a7) |
| 02:52:13 | × | Guest75 quits (~Guest75@178.141.177.81) (Ping timeout: 260 seconds) |
| 02:55:20 | × | hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8) |
| 02:55:37 | → | razetime joins (~quassel@117.193.7.60) |
| 03:02:32 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 03:11:07 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:12:21 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 03:12:59 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 260 seconds) |
| 03:13:29 | × | johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
| 03:20:52 | × | td_ quits (~td@83.135.9.27) (Ping timeout: 248 seconds) |
| 03:22:25 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 03:22:42 | → | td_ joins (~td@83.135.9.26) |
| 03:26:23 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 03:29:05 | <dsal> | cheater: compile time was the top priority of go. Haskell's priority is more around being a good and interesting programming language. |
| 03:37:16 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 03:44:50 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 03:49:18 | → | nilradical joins (~nilradica@user/naso) |
| 03:49:30 | <nilradical> | what is a good option for generating real time plots/charts from haskell |
| 03:50:09 | <nilradical> | simplicity is more important than features |
| 03:52:15 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:52:15 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:52:15 | finn_elija | is now known as FinnElija |
| 03:52:39 | <dsal> | I've always done that with a web server thing that generates data and a web client thing that moves bits around in something like d3. |
| 03:55:53 | <nilradical> | is there a haskell pacckage that would do all that for me? |
| 03:56:36 | <nilradical> | i had used a package with F# before that hooked up to Plotly and automatically started the webserver etc |
| 03:56:59 | → | nate4 joins (~nate@98.45.169.16) |
| 03:57:05 | <dsal> | It depends on what you need, I guess. I've always started projects like this from scratch and never could find anything that would do the things I wanted out of the box. |
| 03:57:58 | <nilradical> | right now i just want to plot a scatterplot of (x,y) datapoints that are being generated in real time from my haskell program |
| 03:59:08 | <nilradical> | something that did an ascii plot in the terminal would be good too. it doesn't have to be high definition |
| 04:01:59 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 04:01:59 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds) |
| 04:02:01 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 04:02:08 | <dsal> | Yeah, I've done that manually in terminals as well. Not sure what kind of thing does that all automatically. |
| 04:02:21 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 04:02:41 | <nilradical> | this looks really cool but it seems to be designed to bee used as a standalone app https://github.com/weeezes/plot |
| 04:04:24 | → | dcoutts_ joins (~duncan@host86-151-44-212.range86-151.btcentralplus.com) |
| 04:06:59 | × | dcoutts__ quits (~duncan@host86-153-135-2.range86-153.btcentralplus.com) (Ping timeout: 255 seconds) |
| 04:10:51 | × | razetime quits (~quassel@117.193.7.60) (Ping timeout: 248 seconds) |
| 04:17:08 | × | Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Quit: Chai-T-Rex) |
| 04:18:35 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 04:20:53 | → | mbuf joins (~Shakthi@49.204.130.107) |
| 04:23:36 | <nilradical> | how can i make my program run from the command line more easily--currently i type 'cabal run [project-name]' but [project-name] is long. is there a shortcut? |
| 04:24:18 | <Axman6> | does `cabal run` by itself work? |
| 04:25:47 | <nilradical> | nope, it returns this: |
| 04:25:50 | <nilradical> | The run command is for running a single executable at once. The target |
| 04:25:50 | <nilradical> | '' refers to the package [project-name]-0.1.0.0 which includes the |
| 04:25:51 | <nilradical> | executable '[project-name]' and the test suite '[project-name]-test'. |
| 04:26:46 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 252 seconds) |
| 04:28:15 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 04:30:07 | → | nilradical joins (~nilradica@user/naso) |
| 04:30:20 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 04:30:20 | <nilradical> | ( i was disconnected in case you replied to me i didnt see it) |
| 04:31:07 | <Axman6> | nope, you didn't miss anything. you can specify a directory for executables to be copied into, so you can then just run ./dest/foo-exe --bar --baz=8 |
| 04:31:43 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::4b68) (Ping timeout: 252 seconds) |
| 04:31:49 | <nilradical> | is there not a config option somewhere so 'cabal run' will work? i used to do 'stack run' and that worked but now im not using stack |
| 04:32:41 | <nilradical> | the message that i got above seemed to suggest the run 'target' is not specified properly |
| 04:34:52 | <nilradical> | the thing is what you type is longer than what i alreday have to type |
| 04:37:12 | <nilradical> | https://www.devscope.io/code/haskell/cabal/issues/8547 |
| 04:39:19 | × | hueso quits (~root@user/hueso) (Ping timeout: 260 seconds) |
| 04:39:39 | → | hueso joins (~root@user/hueso) |
| 04:47:07 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 04:49:15 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
| 04:50:27 | <Las[m]> | Does anyone know how you can host the users' guide locally? I ran an HTTP server hosting from the root of it, but when trying to search, it says "Stemmer is not defined" in the console. |
| 04:50:50 | <jackdk> | `alias r=cabal run projectname`? |
| 04:56:09 | <nilradical> | jackdk: thanks that works well |
| 04:59:10 | → | razetime joins (~quassel@117.193.7.60) |
| 05:01:30 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 05:02:36 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 05:08:42 | → | nate4 joins (~nate@98.45.169.16) |
| 05:13:31 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 05:17:25 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 05:18:03 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 05:25:59 | × | td_ quits (~td@83.135.9.26) (Ping timeout: 260 seconds) |
| 05:26:12 | → | td_ joins (~td@83.135.9.26) |
| 05:35:51 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 05:37:06 | → | Guest75 joins (~Guest75@dhcp-077-251-089-118.chello.nl) |
| 05:37:10 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 05:37:48 | × | Guest75 quits (~Guest75@dhcp-077-251-089-118.chello.nl) (Client Quit) |
| 05:39:57 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 05:43:51 | → | mshv22 joins (~mjs22@76.115.19.239) |
| 05:56:27 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 05:57:39 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 05:59:01 | × | potash quits (~foghorn@user/foghorn) (Read error: Connection reset by peer) |
| 05:59:31 | → | potash_ joins (~foghorn@94-225-47-8.access.telenet.be) |
| 06:04:08 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 06:05:42 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:07:10 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 06:11:02 | × | mshv22 quits (~mjs22@76.115.19.239) (Quit: Leaving) |
| 06:11:50 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 260 seconds) |
| 06:12:05 | → | Sauvin joins (~sauvin@user/Sauvin) |
| 06:14:27 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 06:14:28 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 06:14:52 | Bocaneri | is now known as Guest5611 |
| 06:17:40 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 260 seconds) |
| 06:21:38 | → | chomwitt joins (~chomwitt@2a02:587:7a0a:c00:1ac0:4dff:fedb:a3f1) |
| 06:35:15 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:36:08 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 06:38:06 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 06:38:06 | × | jinsun quits (~jinsun@user/jinsun) (Killed (tantalum.libera.chat (Nickname regained by services))) |
| 06:38:06 | jinsun__ | is now known as jinsun |
| 06:43:29 | × | hueso quits (~root@user/hueso) (Read error: Connection reset by peer) |
| 06:44:20 | → | hueso joins (~root@user/hueso) |
| 06:46:03 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 248 seconds) |
| 06:47:13 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:49:05 | × | califax quits (~califax@user/califx) (Ping timeout: 255 seconds) |
| 06:50:02 | → | califax joins (~califax@user/califx) |
| 06:50:26 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 06:50:26 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 06:51:09 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 06:51:25 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 06:54:32 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:55:38 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 06:59:12 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:01:09 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 07:03:24 | × | razetime quits (~quassel@117.193.7.60) (Ping timeout: 260 seconds) |
| 07:04:03 | → | talismanick joins (~talismani@76.133.152.122) |
| 07:11:44 | → | razetime joins (~quassel@117.193.1.205) |
| 07:14:33 | × | razetime quits (~quassel@117.193.1.205) (Remote host closed the connection) |
| 07:25:59 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 07:26:46 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 07:28:04 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:29:08 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 07:33:51 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 07:34:05 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 07:35:09 | → | Heyting joins (~Heyting@193.198.16.217) |
| 07:35:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 07:37:01 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 07:37:04 | → | michalz joins (~michalz@185.246.207.217) |
| 07:37:36 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 07:37:50 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 07:38:24 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 07:39:59 | → | califax joins (~califax@user/califx) |
| 07:40:29 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 07:41:39 | × | Heyting quits (~Heyting@193.198.16.217) (Remote host closed the connection) |
| 07:42:44 | × | Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:47:47 | → | mmhat joins (~mmh@p200300f1c700b8c5ee086bfffe095315.dip0.t-ipconnect.de) |
| 07:53:25 | → | jtomas joins (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
| 08:01:09 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:2daa:8b78:9a2e:bfe4) |
| 08:15:58 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 08:16:22 | Bocaneri | is now known as Guest1505 |
| 08:18:34 | → | vglfr joins (~vglfr@145.224.100.100) |
| 08:18:39 | × | Guest5611 quits (~sauvin@user/Sauvin) (Ping timeout: 260 seconds) |
| 08:18:52 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 08:19:59 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 08:21:28 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:21:49 | → | CiaoSen joins (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 08:22:05 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 08:22:19 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:30:04 | <dminuoso> | cheater: Use `cabal install cabal-install --constraint "cabal-install == 3.6.2.0"` |
| 08:31:08 | <dminuoso> | Or does `cabal install cabal-install-3.6.2.0` really work? Im a bit saddened by the fact that this syntax too is not documented in the man page. |
| 08:31:15 | <cheater> | dminuoso: the type error is in Cabal, version 3.6.3.0, that cabal-install 3.6.2.0 pulls in via deps |
| 08:31:50 | <dminuoso> | cheater: Use --constraint to fix that, then. |
| 08:32:12 | → | acidjnk joins (~acidjnk@p200300d6e7137a3425e17e6c3d2393a2.dip0.t-ipconnect.de) |
| 08:32:16 | <dminuoso> | It's possible there is an incorrecft Cabal bound in the cabal-install package, file a bug report for that seeparately |
| 08:32:21 | <dminuoso> | That is, do something like: |
| 08:32:44 | <dminuoso> | `cabal install cabal-install-3.6.2.0 -constraint "Cabal == 3.6.2.0"` |
| 08:32:51 | <dminuoso> | `cabal install cabal-install-3.6.2.0 --constraint "Cabal == 3.6.2.0"` |
| 08:33:03 | <dminuoso> | Sorry, the latter. Missed a hyphen in the first. |
| 08:33:17 | <cheater> | yep, i'm about to try that. just on the phone right now. |
| 08:35:52 | → | titibandit joins (~titibandi@xdsl-87-78-8-6.nc.de) |
| 08:37:20 | → | elkcl_ joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
| 08:38:30 | jinsun | is now known as Guest3089 |
| 08:38:30 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 08:38:30 | × | Guest3089 quits (~jinsun@user/jinsun) (Killed (tungsten.libera.chat (Nickname regained by services))) |
| 08:38:30 | jinsun__ | is now known as jinsun |
| 08:38:47 | × | elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 255 seconds) |
| 08:38:48 | elkcl_ | is now known as elkcl |
| 08:45:00 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:50:20 | → | nschoe joins (~q@141.101.51.197) |
| 08:53:39 | → | mixfix41 joins (~sdeny9ee@user/mixfix41) |
| 08:54:58 | → | kenaryn joins (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) |
| 08:59:34 | × | jtomas quits (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 09:01:25 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 09:02:20 | → | vglfr joins (~vglfr@145.224.100.100) |
| 09:02:44 | → | fserucas joins (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
| 09:03:20 | × | fserucas quits (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Client Quit) |
| 09:03:35 | → | fserucas joins (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
| 09:05:47 | → | jtomas joins (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
| 09:06:22 | <cheater> | dminuoso: https://paste.tomsmeding.com/hSQKjjPD |
| 09:06:38 | → | chele joins (~chele@user/chele) |
| 09:07:33 | <dminuoso> | cheater: Try the command I mentioned, with an additional `Cabal-syntax ==3.6.0.0` constraint |
| 09:07:39 | × | talismanick quits (~talismani@76.133.152.122) (Ping timeout: 260 seconds) |
| 09:07:47 | <cheater> | dminuoso: ok. |
| 09:07:57 | <dminuoso> | And definitely file a bug report, there's some incorrect bounds on cabal-install |
| 09:08:11 | <cheater> | `cabal install cabal-install-3.6.2.0 --constraint "Cabal == 3.6.2.0, Cabal-syntax ==3.6.0.0"` |
| 09:08:25 | <dminuoso> | I think so yes, or you might have to specify --constraint twice |
| 09:08:58 | <cheater> | yeah it seems i do |
| 09:09:52 | × | titibandit quits (~titibandi@xdsl-87-78-8-6.nc.de) (Remote host closed the connection) |
| 09:10:13 | → | nate4 joins (~nate@98.45.169.16) |
| 09:11:42 | <cheater> | ok, yeah, that seems to have worked. |
| 09:11:46 | <cheater> | thanks. |
| 09:12:34 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:5dfc:b079:6d3b:228f) (Remote host closed the connection) |
| 09:14:12 | → | Guest75 joins (~Guest75@178.141.177.81) |
| 09:14:54 | <cheater> | tomsmeding: is your pastebin supposed to be downloading .tar.gz files? |
| 09:15:01 | <Guest75> | Hello! How do I properly add dep to Stack project? When I run "stack build", it seems to rewrite myproject.cabal file. What I'm looking for is hspec |
| 09:15:02 | <cheater> | when i try to download raw |
| 09:15:14 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 09:15:17 | <tomsmeding> | cheater: I guess? |
| 09:15:19 | <tomsmeding> | what did you expect |
| 09:15:30 | <cheater> | download the raw file. as is. not compressed in .tar.gz |
| 09:15:33 | <tomsmeding> | oh perhaps you expected a paste with a single file to become a non-compressed download |
| 09:15:39 | <tomsmeding> | I guess that makes sense |
| 09:15:46 | <cheater> | i had no idea you could have multiple files |
| 09:16:04 | <tomsmeding> | @where paste |
| 09:16:04 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 09:16:05 | → | Major_Biscuit joins (~MajorBisc@145.94.173.65) |
| 09:16:08 | <tomsmeding> | there's a button to add more files :p |
| 09:16:18 | <cheater> | it's fine, it just looked like a thing where someone tries to set up deflate encoding and instead ends up sending tarballs |
| 09:16:31 | <cheater> | i've had this happen to me in the past |
| 09:16:35 | <cheater> | ... like 20 years ago |
| 09:16:53 | <cheater> | ... when deflate was new |
| 09:16:57 | <tomsmeding> | cheater: https://github.com/tomsmeding/pastebin-haskell/issues/24 |
| 09:17:16 | <dminuoso> | tomsmeding: Okay, if I upload a bazillionbyte large file, will your pastebin download that too? |
| 09:17:54 | <cheater> | tomsmeding: but then it's inconsistent |
| 09:18:51 | <tomsmeding> | dminuoso: well it won't let you even upload a bazillionbyte large file :p |
| 09:19:25 | ski | 's had downloads of what appeared to be a given file, actually nsecretly download a `.tar.gz' (without the suffix) (as well as have it download a `.html' (again without suffix) that displays some kind of download page, which didn't happen when doing it in $BROWSER) |
| 09:21:01 | <Guest75> | UPD: yes that's just package.yaml :-) |
| 09:21:53 | <cheater> | dminuoso: yeah 3.6.2.0 did not fix the issue, it just spits out a different error |
| 09:22:10 | <dminuoso> | What is the issue you have? |
| 09:26:54 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Quit: leaving) |
| 09:30:20 | <cheater> | i'm reporting it. |
| 09:30:49 | <cheater> | tomsmeding: i've also noticed that if i drag across the (non-raw) paste display, and drag the selection out of it, and then paste into a github issue, i get html markup. |
| 09:31:41 | <cheater> | ugh, how do you put multi-line code in github issues again? ```? |
| 09:32:28 | <cheater> | tomsmeding: also, i've noticed that you have an issue with encoding... " build-depends: base ^>=4.15.1.0," |
| 09:32:35 | <cheater> | https://paste.tomsmeding.com/EGIqYs74#file-1 |
| 09:37:31 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:37:53 | <cheater> | oh |
| 09:38:08 | <cheater> | i got it to build, it's just that the error message is unhelpful |
| 09:38:31 | <cheater> | when you build-depend on a private package, you have to do mypackage:mylib. not just mylib |
| 09:39:36 | → | machinedgod joins (~machinedg@clnet-p10-126.ikbnet.co.at) |
| 09:40:09 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: Ping timeout (120 seconds)) |
| 09:40:29 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 09:41:24 | → | teo joins (~teo@user/teo) |
| 09:53:03 | <tomsmeding> | cheater: I think you submitted that file with the > in it, is that possible? |
| 09:53:16 | <tomsmeding> | I'm quite sure I don't do html replacement on submission, and there's > in the database |
| 09:54:07 | <cheater> | hmm... i may have copied it from another pastebin over to yours. |
| 09:54:09 | <tomsmeding> | also I don't get your markup? What exactly do you do to get html markup? |
| 09:54:22 | <tomsmeding> | cheater: also, yes ``` |
| 09:55:26 | <cheater> | hmm nope, the original pastebin contains > |
| 09:55:27 | <cheater> | https://dpaste.com//ELNVNWS24 |
| 09:56:47 | <tomsmeding> | cheater: if I copy a snippet over into the input box of my pastebin and then submit, it seems to work fine https://paste.tomsmeding.com/6a6OFOFX |
| 09:56:54 | <cheater> | yeah, i just tried that as well |
| 09:56:55 | <cheater> | so what gives? |
| 09:56:58 | <tomsmeding> | ¯\_(ツ)_/¯ |
| 09:57:07 | <cheater> | maybe it's the same thing that makes your pastebin output html? |
| 09:57:12 | <cheater> | into the copy paste buffer |
| 09:57:30 | <tomsmeding> | cheater: ah, the "copy to clipboard" button on dpaste is broken |
| 09:57:52 | <tomsmeding> | cheater: I cannot reproduce your output-html-into-clipboard thing, and it sounds really scary |
| 09:58:08 | <cheater> | i don't think i used that button |
| 09:58:17 | <cheater> | but i may have |
| 09:58:25 | <cheater> | are you saying the button causes this > ? |
| 09:58:28 | <tomsmeding> | yes |
| 09:58:34 | <tomsmeding> | clicking the button copies text with > |
| 09:58:35 | <cheater> | ah. that's it then. |
| 09:58:42 | <cheater> | we've solved it |
| 09:58:50 | <tomsmeding> | well, not your output html into clipboard thing |
| 09:58:56 | <cheater> | to reproduce the html thing, go to github, start a new bug report |
| 09:59:02 | <cheater> | also |
| 09:59:06 | <cheater> | i think you have to be on windows |
| 09:59:18 | <tomsmeding> | ah, I'm not, I'm on linux :p |
| 09:59:28 | <cheater> | start dragging in the pastebin's code display, and drag out of it, so eg the title of the file is selected, or something |
| 09:59:35 | <Guest75> | +1 for linux :-) |
| 09:59:36 | <cheater> | and then paste into github. |
| 09:59:47 | <cheater> | you can get a VM easily enough |
| 09:59:49 | <tomsmeding> | OH that does the thing |
| 10:00:00 | <tomsmeding> | I suspect this is github trying to do something fancy |
| 10:00:08 | <cheater> | wellllll |
| 10:00:27 | <cheater> | rich clipboard only happens if it's /populated/ with something that "can be rich" |
| 10:00:32 | <cheater> | i don't know the details |
| 10:00:39 | <Guest75> | Seems that "hidden package" isn't something easy: |
| 10:00:40 | <Guest75> | Could not load module ‘Test.QuickCheck’ |
| 10:00:40 | <cheater> | but i bet there's a way to tell html to "don't rich" |
| 10:00:40 | <Guest75> | It is a member of the hidden package ‘QuickCheck-2.14.2’. |
| 10:00:43 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 10:00:45 | <tomsmeding> | cheater: if I create a fresh html file with just <textarea></textarea> and drag into that, there's no html |
| 10:01:06 | <tomsmeding> | Guest75: add QuickCheck to your build-depends |
| 10:01:10 | <cheater> | Guest75: idk what your original problem is but maybe you have to add it to build-depends. |
| 10:01:12 | <cheater> | yeah |
| 10:01:27 | <cheater> | tomsmeding: into? not out of? |
| 10:02:15 | <tomsmeding> | cheater: I mean, select some stuff on paste page, then drag into that textarea |
| 10:02:22 | <tomsmeding> | just like you drag into a github issues text field |
| 10:02:31 | <cheater> | i didn't drag, i ctrl-c ctrl-v'd |
| 10:02:37 | <cheater> | but maybe linux only does it when dragging |
| 10:02:44 | <Guest75> | cheater: tomsmeding: do I always have to specify version manually? |
| 10:02:49 | <tomsmeding> | cheater: okay sure, same behaviour though |
| 10:02:59 | <tomsmeding> | cheater: I get html in github issues, not in a plain <textarea> |
| 10:03:13 | <tomsmeding> | Guest75: no, you can just put 'QuickCheck,' in your build-depends list |
| 10:03:13 | <cheater> | but yes, the receiving end /also/ has to be willing to accept rich copy paste buffers |
| 10:03:19 | <tomsmeding> | though it's good practice to add a version range |
| 10:03:20 | <cheater> | Guest75: fwiw, don't add the version at all |
| 10:03:27 | <cheater> | Guest75: cabal will figure out versions |
| 10:03:48 | <Guest75> | quickcheck needed, but the stack configuration has no specified version (no package with that name found, perhaps there is a typo in a package's build-depends or an omission from the stack.yaml |
| 10:03:49 | <cheater> | if you have to start adding versions, you'll figure it out |
| 10:03:55 | × | dtbouo^ quits (~dtbouo@76.145.185.103) (Ping timeout: 252 seconds) |
| 10:03:58 | <Guest75> | that's what I've got with and without version |
| 10:04:03 | <cheater> | oh, idk about stack |
| 10:04:07 | <cheater> | oh |
| 10:04:12 | <cheater> | you have to do QuickCheck not quickcheck |
| 10:04:16 | <Guest75> | ah |
| 10:04:17 | <cheater> | capitalization is important |
| 10:04:38 | <Guest75> | oh yes. now it works, thanks! |
| 10:04:53 | <cheater> | tomsmeding: i'm just saying, github expects the rich clipboard to be something sensible. no one's stopping you from putting an .avi of rick roll in the rich clipboard instead :p |
| 10:04:59 | <tomsmeding> | cheater: copying stuff from dpaste into github issues give the same html mess, copying stuff from google about page doesn't |
| 10:05:05 | <tomsmeding> | so I'm not the only one doing this "wrong" |
| 10:05:12 | <cheater> | tomsmeding: what's in the rich clipboard is in your hands :p |
| 10:05:15 | <tomsmeding> | I have no clue what html attributes to add where to let this not happen |
| 10:05:16 | <cheater> | hmm yeah |
| 10:05:22 | <cheater> | but are we aspiring to dpaste... |
| 10:05:22 | <cheater> | ;) |
| 10:05:23 | <cheater> | etc |
| 10:05:41 | <tomsmeding> | sure :p |
| 10:05:50 | <cheater> | let me file bug reports for "paste.tomsmeding.com does not turn > into >" |
| 10:05:53 | → | thyriaen joins (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) |
| 10:05:53 | → | ccapndave joins (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) |
| 10:05:57 | × | ft quits (~ft@p508dbd59.dip0.t-ipconnect.de) (Quit: leaving) |
| 10:06:30 | <tomsmeding> | cheater: I _could_ add a download link for each file, but I'm not sure what the added value is over the existing [raw] link |
| 10:06:37 | <tomsmeding> | like, clicking that link and then hitting ctrl+S gives the same |
| 10:06:59 | <cheater> | yeah you're right |
| 10:07:07 | <tomsmeding> | keep as-is? |
| 10:07:33 | <cheater> | sure |
| 10:07:51 | <cheater> | so this guy is asking the same question as you are. you will not believe the answer! https://stackoverflow.com/questions/30223015/how-can-i-prevent-dom-text-content-from-being-copied-to-clipboard-as-rich-text-i |
| 10:08:52 | <cheater> | ah, yes. this seems to be the solution https://stackoverflow.com/questions/24831286/removing-rich-text-formatting-for-copy-paste-cross-browser |
| 10:08:59 | <tomsmeding> | cheater: that's 1. not a solution, and 2. not what google is doing :p |
| 10:09:00 | <cheater> | -webkit-user-select:none; |
| 10:09:03 | <cheater> | -webkit-user-select:text; |
| 10:09:31 | <cheater> | google? |
| 10:09:32 | <tomsmeding> | oh user-select:text may be it |
| 10:09:39 | <cheater> | google would have 5 pastebins by now |
| 10:09:50 | <cheater> | and 10 already decomissioned ones |
| 10:09:54 | <tomsmeding> | cheater: copying from google's about page doesn't get html stuff |
| 10:10:01 | <tomsmeding> | was just a test case : |
| 10:10:02 | <tomsmeding> | :p |
| 10:10:30 | <cheater> | also add user-select:none for the other stuff that isn't code |
| 10:10:36 | <cheater> | so it doesn't get selected |
| 10:10:48 | <cheater> | because no one likes selecting stuff that isn't stuff they would want to select |
| 10:11:58 | → | ubert1 joins (~Thunderbi@91.141.75.105.wireless.dyn.drei.com) |
| 10:12:10 | × | ubert quits (~Thunderbi@178.165.160.236.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 10:12:10 | ubert1 | is now known as ubert |
| 10:12:55 | <cheater> | tomsmeding: can u also add ur thing to the pastebinit command :) |
| 10:13:03 | <cheater> | it's very useful |
| 10:13:04 | <cheater> | :) |
| 10:13:24 | → | __monty__ joins (~toonn@user/toonn) |
| 10:14:19 | <tomsmeding> | which of the >=2 implementations of it |
| 10:15:25 | <cheater> | idk. the one on ubuntu mate is the one i like |
| 10:15:32 | <cheater> | because that's the one i get |
| 10:16:09 | <cheater> | Original-Maintainer: Simon Quigley <tsimonq2@debian.org> |
| 10:16:29 | <cheater> | Homepage: https://phab.lubuntu.me/source/pastebinit/ |
| 10:17:29 | → | abhiroop_ joins (~abhiroop@ext-1-450.eduroam.chalmers.se) |
| 10:19:20 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 10:19:20 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 10:19:20 | finn_elija | is now known as FinnElija |
| 10:19:38 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 10:21:28 | <tomsmeding> | cheater: looks like you can do this privately on your system; see here for url format https://github.com/tomsmeding/pastebin-haskell#pasting-from-your-terminal |
| 10:21:29 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 246 seconds) |
| 10:21:32 | <cheater> | tomsmeding: you can probably close that ticket too :p |
| 10:21:50 | <tomsmeding> | Will do currently on the go :p |
| 10:21:51 | <cheater> | tomsmeding: right but i don't want to remember stuff :D |
| 10:22:12 | <cheater> | i just want to do pastebinit --help and have that show me pastebinit -l and have that show me your pastebin is supported |
| 10:22:14 | × | bilegeek quits (~bilegeek@2600:1008:b011:e74:deb:55dd:b7ff:98a7) (Quit: Leaving) |
| 10:24:26 | <tomsmeding> | cheater: that readme looks like you can add a file in ~/.pastebinit.d or something |
| 10:24:29 | Guest1505 | is now known as Sauvin |
| 10:24:56 | <cheater> | i know. but i also don't want to remember that :p pastebinit would do well to support your pastebin |
| 10:26:17 | <tomsmeding> | I'm not sure I want instructions to use this pastebin to live on any random person's pc by default |
| 10:26:43 | <tomsmeding> | I don't have a terribly large disk for the server, and it's a #haskell-focused thing anyway |
| 10:28:23 | × | Guest75 quits (~Guest75@178.141.177.81) (Ping timeout: 260 seconds) |
| 10:30:01 | × | CiaoSen quits (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 10:30:52 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 10:36:33 | → | Guest75 joins (~Guest75@178.141.177.81) |
| 10:36:46 | × | jonrh quits (sid5185@id-5185.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:36:48 | × | sa1 quits (sid7690@id-7690.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:36:53 | × | unlucy quits (sid572875@id-572875.tinside.irccloud.com) (Ping timeout: 246 seconds) |
| 10:36:54 | × | Major_Biscuit quits (~MajorBisc@145.94.173.65) (Ping timeout: 260 seconds) |
| 10:36:56 | → | jonrh joins (sid5185@id-5185.ilkley.irccloud.com) |
| 10:37:00 | × | saolsen quits (sid26430@id-26430.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:02 | × | bbhoss quits (sid18216@id-18216.tinside.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:02 | × | lally quits (sid388228@id-388228.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:02 | × | davetapley_ quits (sid666@id-666.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:06 | × | iphy quits (sid67735@id-67735.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:09 | × | lexi-lambda quits (sid92601@id-92601.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:09 | × | tritlo quits (sid58727@user/tritlo) (Read error: Connection reset by peer) |
| 10:37:10 | → | saolsen joins (sid26430@id-26430.lymington.irccloud.com) |
| 10:37:10 | × | hongminhee quits (sid295@id-295.tinside.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:10 | × | christiaanb quits (sid84827@id-84827.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:11 | × | AndreasK quits (sid320732@id-320732.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:12 | → | lally joins (sid388228@id-388228.uxbridge.irccloud.com) |
| 10:37:13 | × | Firedancer quits (sid336191@id-336191.hampstead.irccloud.com) (Ping timeout: 255 seconds) |
| 10:37:13 | × | Adeon quits (sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 255 seconds) |
| 10:37:13 | × | S11001001 quits (sid42510@id-42510.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:13 | × | SethTisue quits (sid14912@id-14912.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:13 | × | sooch_ quits (sid533113@id-533113.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:14 | × | ephemient quits (uid407513@id-407513.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:15 | × | hendi quits (sid489601@id-489601.lymington.irccloud.com) (Ping timeout: 260 seconds) |
| 10:37:18 | → | AndreasK joins (sid320732@id-320732.uxbridge.irccloud.com) |
| 10:37:19 | × | caasih quits (sid13241@id-13241.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:21 | × | mrianbloom quits (uid350277@id-350277.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:21 | × | supersven quits (sid501114@id-501114.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:21 | × | hamishmack quits (sid389057@id-389057.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:22 | → | sooch_ joins (sid533113@id-533113.hampstead.irccloud.com) |
| 10:37:23 | → | ephemient joins (uid407513@id-407513.lymington.irccloud.com) |
| 10:37:24 | × | tnks quits (sid412124@id-412124.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:24 | × | cbarrett quits (sid192934@id-192934.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:28 | × | acertain quits (sid470584@id-470584.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:28 | × | ProofTechnique quits (sid79547@id-79547.ilkley.irccloud.com) (Ping timeout: 246 seconds) |
| 10:37:29 | × | bookshelfdave quits (sid28102@id-28102.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:31 | × | bradparker quits (sid262931@id-262931.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:33 | × | gonz_______ quits (sid304396@id-304396.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:33 | × | chessai quits (sid225296@id-225296.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:33 | → | tnks joins (sid412124@id-412124.helmsley.irccloud.com) |
| 10:37:33 | × | b20n quits (sid115913@id-115913.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:33 | × | ysh____ quits (sid6017@id-6017.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:34 | × | edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:35 | × | NemesisD quits (sid24071@id-24071.lymington.irccloud.com) (Ping timeout: 246 seconds) |
| 10:37:36 | × | conjunctive quits (sid433686@id-433686.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:38 | × | systemfault quits (sid267009@id-267009.uxbridge.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:38 | × | money quits (sid532813@user/polo) (Read error: Connection reset by peer) |
| 10:37:39 | × | spaced quits (uid572193@user/spaced) (Read error: Connection reset by peer) |
| 10:37:40 | × | Kamuela quits (sid111576@id-111576.tinside.irccloud.com) (Ping timeout: 255 seconds) |
| 10:37:40 | × | NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 255 seconds) |
| 10:37:40 | × | carter quits (sid14827@id-14827.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:40 | × | megeve quits (sid523379@id-523379.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:42 | → | b20n joins (sid115913@id-115913.uxbridge.irccloud.com) |
| 10:37:42 | → | sa1 joins (sid7690@id-7690.ilkley.irccloud.com) |
| 10:37:42 | × | cln quits (sid336875@id-336875.ilkley.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:42 | × | agander_m quits (sid407952@id-407952.tinside.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:43 | × | degraafk quits (sid71464@id-71464.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:43 | × | integral quits (sid296274@user/integral) (Read error: Connection reset by peer) |
| 10:37:43 | × | Boarders___ quits (sid425905@id-425905.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:45 | → | ysh____ joins (sid6017@id-6017.ilkley.irccloud.com) |
| 10:37:46 | × | hook54321 quits (sid149355@user/hook54321) (Read error: Connection reset by peer) |
| 10:37:46 | × | joel135 quits (sid136450@id-136450.hampstead.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:46 | × | hnOsmium0001 quits (uid453710@user/hnOsmium0001) (Read error: Connection reset by peer) |
| 10:37:46 | × | dy quits (sid3438@user/dy) (Read error: Connection reset by peer) |
| 10:37:46 | × | bjs quits (sid190364@user/bjs) (Write error: Connection reset by peer) |
| 10:37:47 | × | nrr____ quits (sid20938@id-20938.lymington.irccloud.com) (Read error: Connection reset by peer) |
| 10:37:47 | × | SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (Read error: No route to host) |
| 10:37:47 | × | vito quits (sid1962@user/vito) (Read error: Connection reset by peer) |
| 10:37:58 | → | iphy joins (sid67735@id-67735.lymington.irccloud.com) |
| 10:38:00 | → | chessai joins (sid225296@id-225296.lymington.irccloud.com) |
| 10:38:06 | → | Firedancer joins (sid336191@id-336191.hampstead.irccloud.com) |
| 10:38:13 | → | lexi-lambda joins (sid92601@2a03:5180:f:4::1:69b9) |
| 10:38:16 | → | agander_m joins (sid407952@2a03:5180:f::6:3990) |
| 10:38:17 | → | hamishmack joins (sid389057@2a03:5180:f:4::5:efc1) |
| 10:38:23 | → | mrianbloom joins (uid350277@id-350277.ilkley.irccloud.com) |
| 10:38:25 | → | cbarrett joins (sid192934@2a03:5180:f:1::2:f1a6) |
| 10:38:27 | → | bookshelfdave joins (sid28102@2a03:5180:f:3::6dc6) |
| 10:38:28 | → | unlucy joins (sid572875@2a03:5180:f::8:bdcb) |
| 10:38:29 | → | cln joins (sid336875@2a03:5180:f:3::5:23eb) |
| 10:38:32 | → | bradparker joins (sid262931@id-262931.uxbridge.irccloud.com) |
| 10:38:36 | → | Adeon joins (sid418992@id-418992.lymington.irccloud.com) |
| 10:38:36 | → | edmundnoble joins (sid229620@id-229620.helmsley.irccloud.com) |
| 10:38:37 | → | gonz_______ joins (sid304396@2a03:5180:f:2::4:a50c) |
| 10:38:38 | → | acertain joins (sid470584@id-470584.hampstead.irccloud.com) |
| 10:38:42 | → | SethTisue joins (sid14912@ilkley.irccloud.com) |
| 10:38:42 | → | systemfault joins (sid267009@id-267009.uxbridge.irccloud.com) |
| 10:38:44 | → | NemesisD joins (sid24071@id-24071.lymington.irccloud.com) |
| 10:38:46 | → | ProofTechnique joins (sid79547@id-79547.ilkley.irccloud.com) |
| 10:38:47 | → | Kamuela joins (sid111576@2a03:5180:f::1:b3d8) |
| 10:38:48 | → | conjunctive joins (sid433686@2a03:5180:f:1::6:9e16) |
| 10:38:48 | → | bbhoss joins (sid18216@5.254.36.57) |
| 10:38:48 | → | money joins (sid532813@user/polo) |
| 10:38:49 | → | supersven joins (sid501114@id-501114.ilkley.irccloud.com) |
| 10:38:49 | → | davetapley_ joins (sid666@uxbridge.irccloud.com) |
| 10:38:50 | → | degraafk joins (sid71464@id-71464.lymington.irccloud.com) |
| 10:38:51 | → | megeve joins (sid523379@2a03:5180:f:4::7:fc73) |
| 10:38:57 | → | Boarders___ joins (sid425905@2a03:5180:f:2::6:7fb1) |
| 10:39:01 | → | dy joins (sid3438@user/dy) |
| 10:39:03 | → | bjs joins (sid190364@user/bjs) |
| 10:39:04 | → | integral joins (sid296274@user/integral) |
| 10:39:04 | → | S11001001 joins (sid42510@id-42510.ilkley.irccloud.com) |
| 10:39:08 | → | christiaanb joins (sid84827@id-84827.lymington.irccloud.com) |
| 10:39:10 | → | nrr____ joins (sid20938@id-20938.lymington.irccloud.com) |
| 10:39:10 | → | spaced joins (uid572193@id-572193.ilkley.irccloud.com) |
| 10:39:11 | → | caasih joins (sid13241@id-13241.ilkley.irccloud.com) |
| 10:39:13 | → | hongminhee joins (sid295@tinside.irccloud.com) |
| 10:39:16 | → | carter joins (sid14827@id-14827.helmsley.irccloud.com) |
| 10:39:16 | → | vito joins (sid1962@user/vito) |
| 10:39:16 | → | tritlo joins (sid58727@user/tritlo) |
| 10:39:22 | → | joel135 joins (sid136450@id-136450.hampstead.irccloud.com) |
| 10:39:26 | → | SrPx joins (sid108780@2a03:5180:f:5::1:a8ec) |
| 10:39:28 | → | hnOsmium0001 joins (uid453710@user/hnOsmium0001) |
| 10:39:28 | × | spaced quits (uid572193@id-572193.ilkley.irccloud.com) (Changing host) |
| 10:39:28 | → | spaced joins (uid572193@user/spaced) |
| 10:39:42 | → | NiKaN joins (sid385034@id-385034.helmsley.irccloud.com) |
| 10:39:43 | → | hendi joins (sid489601@lymington.irccloud.com) |
| 10:40:21 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:40:23 | → | hook54321 joins (sid149355@user/hook54321) |
| 10:41:04 | → | dtbouo^ joins (~dtbouo@76.145.185.103) |
| 10:45:52 | × | cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 246 seconds) |
| 10:46:05 | → | cods joins (~fred@82-65-232-44.subs.proxad.net) |
| 10:47:28 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 10:48:01 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:49:30 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 10:56:57 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:59:25 | → | Major_Biscuit joins (~MajorBisc@145.94.173.65) |
| 10:59:49 | → | razetime joins (~quassel@117.193.1.205) |
| 11:04:40 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 11:05:08 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 11:09:14 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 11:09:55 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 11:10:05 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5) |
| 11:10:20 | → | jinsun joins (~jinsun@user/jinsun) |
| 11:12:02 | × | ccapndave quits (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com) |
| 11:14:39 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c444:d37e:95a5:c717) |
| 11:16:29 | × | thonkpod_ quits (~thonkpod@user/thonkpod) (Ping timeout: 246 seconds) |
| 11:16:40 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 11:17:43 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 11:18:20 | → | xff0x joins (~xff0x@2405:6580:b080:900:a421:ba8e:4c73:4420) |
| 11:19:15 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c444:d37e:95a5:c717) (Ping timeout: 260 seconds) |
| 11:23:05 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 11:26:55 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 11:28:32 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 11:30:40 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 11:36:41 | → | comerijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 11:37:34 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 11:39:54 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 11:40:29 | × | nschoe quits (~q@141.101.51.197) (Ping timeout: 260 seconds) |
| 11:40:29 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
| 11:40:31 | → | nschoe_ joins (~q@141.101.51.197) |
| 11:40:50 | × | xff0x quits (~xff0x@2405:6580:b080:900:a421:ba8e:4c73:4420) (Ping timeout: 260 seconds) |
| 11:41:15 | × | Major_Biscuit quits (~MajorBisc@145.94.173.65) (Quit: WeeChat 3.6) |
| 11:42:37 | → | Sciencentistguy6 joins (~sciencent@hacksoc/ordinary-member) |
| 11:42:52 | × | machinedgod quits (~machinedg@clnet-p10-126.ikbnet.co.at) (Ping timeout: 252 seconds) |
| 11:44:07 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Read error: Connection reset by peer) |
| 11:44:07 | Sciencentistguy6 | is now known as Sciencentistguy |
| 11:44:17 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 11:45:09 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 11:45:15 | → | MajorBiscuit joins (~MajorBisc@145.94.173.65) |
| 11:53:26 | → | xff0x joins (~xff0x@2405:6580:b080:900:a421:ba8e:4c73:4420) |
| 11:57:13 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 12:05:31 | × | comerijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 12:06:53 | <bjourne> | any tips on how to make ghc compile faster? |
| 12:09:39 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 12:10:13 | × | phma quits (phma@2001:5b0:210b:fde8:9e53:4765:c808:5b87) (Read error: Connection reset by peer) |
| 12:11:00 | → | phma joins (~phma@host-67-44-208-178.hnremote.net) |
| 12:17:14 | × | __monty__ quits (~toonn@user/toonn) (Ping timeout: 260 seconds) |
| 12:17:29 | → | __monty__ joins (~toonn@user/toonn) |
| 12:18:49 | → | machinedgod joins (~machinedg@clnet-p10-126.ikbnet.co.at) |
| 12:19:59 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 12:20:29 | <Hecate> | bjourne: there's a page or two about that: https://downloads.haskell.org/ghc/latest/docs/users_guide/hints.html# |
| 12:20:46 | <Hecate> | and https://rybczak.net/2016/03/26/how-to-reduce-compilation-times-of-haskell-projects/ |
| 12:29:31 | × | danza quits (~francesco@22.red-79-153-42.dynamicip.rima-tde.net) (Ping timeout: 248 seconds) |
| 12:33:40 | <cheater> | tomsmeding: ahh, gotcha |
| 12:34:14 | × | nschoe_ quits (~q@141.101.51.197) (Quit: Switching off) |
| 12:34:19 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
| 12:34:44 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 12:36:07 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 12:38:05 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 12:39:34 | × | jtomas quits (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 12:40:04 | × | michalz quits (~michalz@185.246.207.217) (Ping timeout: 252 seconds) |
| 12:40:06 | <dminuoso> | bjourne: Mmm, you should ideally start understanding where time is lost in GHC in the first place (profiling!) |
| 12:40:25 | <dminuoso> | Consider something like `-ddump-timings` |
| 12:40:30 | <dminuoso> | Identify particular modules |
| 12:40:34 | × | davetapley_ quits (sid666@uxbridge.irccloud.com) (Ping timeout: 260 seconds) |
| 12:40:34 | × | SethTisue quits (sid14912@ilkley.irccloud.com) (Ping timeout: 260 seconds) |
| 12:40:42 | → | SethTisue joins (sid14912@id-14912.ilkley.irccloud.com) |
| 12:40:56 | <dminuoso> | It's probably more effective than guessing or applying unneeded premature optimizations |
| 12:42:56 | <dminuoso> | As a random example, libraries like megaparsec can - in length of list arguments - expontentially blow up compilation times to the order of 10 minutes on a module. The problem here is that megaparsec ruthlessly INLINE's virtually every binding. This is fixable, but it needs targeted help. |
| 12:43:25 | <dminuoso> | bjourne: Furthermore, ask yourself why you need GHC to compile faster. |
| 12:43:25 | → | danza joins (~francesco@45.red-79-153-2.dynamicip.rima-tde.net) |
| 12:43:33 | <merijn> | dminuoso: Because it's not instant >.> |
| 12:43:55 | <dminuoso> | If its part of a quick "compile to check whether modifications succeed or do the right thing" flow, HLS or ghcide (or just -00 with codegen disabled) are perfectly fine solutions. |
| 12:44:16 | <dminuoso> | merijn: whats not instant? |
| 12:44:31 | <merijn> | GHC compilation, which is why I want it faster :p |
| 12:44:39 | × | dtbouo^ quits (~dtbouo@76.145.185.103) (Ping timeout: 260 seconds) |
| 12:44:42 | → | shapr joins (~user@68.54.166.125) |
| 12:45:05 | <dminuoso> | Mmm, I think most my beef with compilation speed is just not using ghcide/HLS enough. |
| 12:45:21 | → | dtbouo^ joins (~dtbouo@76.145.185.103) |
| 12:45:35 | <dminuoso> | Once you have -O0 with codegen disabled, ghc is fairly quick outside of pathological typesystem overuse. |
| 12:45:39 | <merijn> | That doesn't run code/tests, though. And I want that to be faster too |
| 12:46:01 | <merijn> | dminuoso: There have definitely been cases where GHC is a bottleneck. Not a massive one, but still |
| 12:46:09 | <merijn> | And GHC *could* be much faster than it currently is |
| 12:46:32 | <merijn> | Fortunately 9.x had some performance improvements too |
| 12:46:52 | dminuoso | is just waiting for "if someone was going to me pay me, I would make GHC much much faster" |
| 12:47:30 | <merijn> | Naah, I wouldn't, because that's not the changes I'm interested in :p |
| 12:47:44 | <merijn> | But there are some longer running projects for speeding up GHC and that's Good (TM) |
| 12:47:57 | <dminuoso> | Heh |
| 12:48:07 | <merijn> | GHC is far from problematically slow, but it's much slower than it has to be |
| 12:48:10 | → | CiaoSen joins (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:51:32 | → | raym joins (~ray@user/raym) |
| 12:54:09 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 12:54:43 | → | vglfr joins (~vglfr@145.224.100.100) |
| 12:55:37 | → | davetapley_ joins (sid666@id-666.uxbridge.irccloud.com) |
| 13:03:36 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 13:08:59 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 248 seconds) |
| 13:11:43 | → | nate4 joins (~nate@98.45.169.16) |
| 13:12:01 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 13:14:57 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 13:16:29 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 13:19:25 | × | infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 252 seconds) |
| 13:23:23 | × | abrar quits (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (Ping timeout: 248 seconds) |
| 13:24:40 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 13:30:44 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 13:30:59 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 13:32:41 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:36:13 | × | Xeroine quits (~Xeroine@user/xeroine) (Ping timeout: 252 seconds) |
| 13:37:43 | → | Xeroine joins (~Xeroine@user/xeroine) |
| 13:39:24 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 13:42:55 | <merijn> | Early heads up for anyone near the Netherlands that the annual Dutch FP day has survived COVID and is back to it's usual timing in January: https://set.win.tue.nl/nl-fp-day-2023/ |
| 13:43:16 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 13:44:24 | × | dtbouo^ quits (~dtbouo@76.145.185.103) (Remote host closed the connection) |
| 13:44:44 | → | Sciencentistguy8 joins (~sciencent@hacksoc/ordinary-member) |
| 13:46:11 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Read error: Connection reset by peer) |
| 13:46:11 | Sciencentistguy8 | is now known as Sciencentistguy |
| 13:48:49 | × | MajorBiscuit quits (~MajorBisc@145.94.173.65) (Ping timeout: 260 seconds) |
| 13:50:28 | → | MajorBiscuit joins (~MajorBisc@145.94.173.65) |
| 13:58:50 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 13:59:51 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 14:01:28 | × | razetime quits (~quassel@117.193.1.205) (Ping timeout: 252 seconds) |
| 14:01:50 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 14:02:00 | → | razetime joins (~quassel@117.193.1.205) |
| 14:08:55 | → | michalz joins (~michalz@185.246.207.215) |
| 14:11:13 | × | Guest75 quits (~Guest75@178.141.177.81) (Ping timeout: 260 seconds) |
| 14:11:26 | → | phma_ joins (phma@2001:5b0:215d:9f08:82a6:5ea7:d17:d96d) |
| 14:14:29 | × | phma quits (~phma@host-67-44-208-178.hnremote.net) (Ping timeout: 260 seconds) |
| 14:16:06 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 14:16:08 | → | irrgit joins (~irrgit@146.70.27.218) |
| 14:19:08 | × | abhiroop_ quits (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 246 seconds) |
| 14:20:53 | × | Flow quits (~none@salem.informatik.uni-erlangen.de) (Quit: WeeChat 3.5) |
| 14:21:01 | × | mmhat quits (~mmh@p200300f1c700b8c5ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1) |
| 14:21:07 | <dminuoso> | Is there a rotate with carry primop? |
| 14:21:07 | → | Flow joins (~none@gentoo/developer/flow) |
| 14:22:20 | <dminuoso> | Or mmm. I think Ill rather ask in #ghc |
| 14:24:23 | <remexre> | is there a way to add custom constraints to a deriving clause? I'm using an associated type, so I really only want a (Eq (AssocType a) => Eq (MyType a)) instance, but I think the derive is giving me an (Eq a => Eq (MyType a)) instance |
| 14:24:56 | <dminuoso> | remexre: StandaloneDeriving |
| 14:25:14 | <remexre> | oh cool, thanks! |
| 14:26:23 | <kuribas> | funny how Python has embraced lazy IO fully. |
| 14:26:40 | <dminuoso> | kuribas: what lazy io do they have? |
| 14:26:43 | <kuribas> | While haskell lazyness is usually considered a complication |
| 14:27:03 | <kuribas> | dminuoso: mostly attributes which run a side-effect. |
| 14:27:22 | <dminuoso> | That's not really lazy IO, though |
| 14:27:39 | <kuribas> | dminuoso: it is when it's used with caching. |
| 14:27:45 | <dminuoso> | I dont think the expression `lazy IO` has any meaning in a language that does not differentiate between execution and evaluation |
| 14:28:01 | → | ystael joins (~ystael@user/ystael) |
| 14:28:32 | <kuribas> | when I see an attribute in Python, I consider it as a "value", not some function that runs underneath. |
| 14:29:11 | <dminuoso> | kuribas: Given that __getattr__ is a thing, that assumption is already flawed. |
| 14:30:08 | <kuribas> | https://dev.to/thibaultduponchelle/python-lazy-loading-of-an-attribute-aij |
| 14:30:13 | <kuribas> | they call it lazy loading. |
| 14:30:16 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 14:30:33 | <dminuoso> | kuribas: price is a proper method. |
| 14:30:48 | <kuribas> | price? |
| 14:31:12 | <dminuoso> | In that blog article. |
| 14:31:37 | <kuribas> | dminuoso: it's an attribute |
| 14:31:50 | <kuribas> | you call it as my_gift.price |
| 14:32:06 | <kuribas> | the fact that it is actually a "method" is hidden from the syntax. |
| 14:32:23 | → | nschoe joins (~q@141.101.51.197) |
| 14:33:04 | → | jonathanx__ joins (~jonathan@c-5eea70b8-74736162.cust.telenor.se) |
| 14:33:06 | <kuribas> | dminuoso: if you want to be technically correct, you could as well say that any haskell "value" can execute arbitrary IO (unsafePerformIO). |
| 14:33:32 | <kuribas> | I find lazy attribute loading very much in spirit of Lazy IO, with all the problems that it gives. |
| 14:33:48 | <dminuoso> | I guess so yeah |
| 14:35:14 | × | CiaoSen quits (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 14:35:35 | <lortabac> | kuribas: I agree that it's morally similar, but in Python once you know that 'price' is actually a procedure that doesn't require parentheses, then you can easily understand when the IO actions run |
| 14:35:50 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
| 14:36:06 | <lortabac> | whereas Haskell evaluation is less predictable |
| 14:36:17 | → | abhiroop_ joins (~abhiroop@ext-1-450.eduroam.chalmers.se) |
| 14:38:44 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 14:38:56 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:41:48 | → | eddiejessup joins (uid575763@id-575763.tinside.irccloud.com) |
| 14:44:13 | <dminuoso> | lortabac: its not just the lack of parenthesis, but the fact that evaluation order is unspecified. |
| 14:44:33 | <dminuoso> | So once you unsafeInterleaveIO - it becomes near impossible to predict when things are actually triggered |
| 14:46:28 | <lortabac> | dminuoso: AFAIK in Python the surprise is only in the lack of parentheses |
| 14:46:40 | <dminuoso> | Oh okay yeah |
| 14:46:54 | <lortabac> | replace 'price' with 'price()' and it's fully predictable when IO runs |
| 14:47:44 | × | danza quits (~francesco@45.red-79-153-2.dynamicip.rima-tde.net) (Ping timeout: 260 seconds) |
| 14:47:48 | <lortabac> | I wonder why these hidden methods exist, I can't see any sane purpose |
| 14:48:15 | <lortabac> | JavaScript has them as well IIRC |
| 14:48:20 | <geekosaur> | to replace a stored value with a computed one without having to change code |
| 14:48:58 | <kuribas> | lortabac: you "know" it how? |
| 14:49:46 | <yin> | can anyone help me understand Data.Set.alterF ? |
| 14:50:20 | <merijn> | yin: Maybe? :p |
| 14:50:22 | <merijn> | Depends what confuses you |
| 14:50:45 | <dminuoso> | yin: All alterF variants come with a big example, that should illustrate it well. |
| 14:50:59 | → | Guest75 joins (~Guest75@178.141.177.81) |
| 14:51:08 | <yin> | ok so i have `alterF pure 6 $ fromList [0..7]` |
| 14:51:39 | phma_ | is now known as phma |
| 14:52:01 | <dminuoso> | `alterF pure` is roughly equivalent to just `const id`, it neither modifies/deleted/adds nor does it run any effect. |
| 14:52:43 | <lortabac> | kuribas: the same way you would know that a Haskell function performs lazy IO, either it's documented or you have read the source code |
| 14:52:45 | <yin> | i guess i don't understand how i should be using the Functor |
| 14:53:12 | <dminuoso> | yin: If we pretend the functor didnt exist, that is: |
| 14:53:33 | <lortabac> | kuribas: the difference is that in Haskell *even if you know* you can get surprising behavior |
| 14:53:35 | <dminuoso> | alter :: (Maybe a -> Maybe a) -> k -> Map k a -> Map k a |
| 14:53:42 | <merijn> | yin: The Applicative lets you "escape" information from the alter |
| 14:53:44 | <dminuoso> | yin: ^- would this make sense what it does and how you should use it? |
| 14:53:54 | <merijn> | yin: Like, suppose you wanted to know "did I remove a key or not?" |
| 14:54:28 | <dminuoso> | yin: alterF adds just the ability to collect an "effect |
| 14:54:35 | <dminuoso> | while you inspect the point you want to alter |
| 14:55:01 | <dminuoso> | effect in the sense of "running IO", throwing exceptions, collecting validation errors, exfiltrating a previous value |
| 14:55:15 | <dminuoso> | and because its "just functor", you can use something as mundane like (String,) |
| 14:55:15 | <merijn> | yin: ok, so here's something I would use alterF for: I have a 2 sets, I want to remove all values in set 2 from set 1 and I want to log which values were removed |
| 14:55:35 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 14:55:35 | → | Guest62 joins (~Guest62@122.162.149.190) |
| 14:55:44 | <Guest62> | hey |
| 14:55:47 | <dminuoso> | Hi Guest62 |
| 14:55:47 | <merijn> | yin: Computing which values are in 1 and 2 (and then removing them) requires you to compute the same stuff a bunch of times |
| 14:56:00 | <merijn> | yin: with alterF you can just accumulate this data "directly" as you remove stuff |
| 14:56:29 | × | Guest62 quits (~Guest62@122.162.149.190) (Client Quit) |
| 14:56:36 | <dminuoso> | yin: One thing I regularly do, is write: alterF go k m where go Nothing = pure (Just xyz); go (Just x) = throwIO (KeyAlreadyExists x) |
| 14:56:48 | <dminuoso> | Which allows me to populate a map but throw an exception when there's a key conflict |
| 14:56:51 | <merijn> | oh, yeah, duplicate inserts are a nice example too |
| 14:57:10 | <merijn> | dminuoso: I prefer aggregating all duplicates with Validation or something and *then* throwing ;) |
| 14:57:27 | <dminuoso> | Sure, you can just use ([k],) as a functor too |
| 14:57:43 | <yin> | ok just a minute let me parse that |
| 14:59:28 | → | danza joins (~francesco@45.red-79-153-2.dynamicip.rima-tde.net) |
| 15:00:20 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.7.1) |
| 15:04:48 | <carbolymer> | over the last 2 weeks I got a few GHC runtime errors: https://bpa.st/2XDQ - any ideas what I'm looking at? there's nothing more in the output besides link to GHC bugtracker |
| 15:04:56 | <carbolymer> | I don't have a repro for that yet :| |
| 15:05:02 | × | catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 276 seconds) |
| 15:05:18 | <yin> | ok so following the types: alterF :: ... => (Bool -> f Bool) -> a -> Set a -> f (Set a) |
| 15:05:52 | <merijn> | carbolymer: :O |
| 15:05:57 | <merijn> | carbolymer: Which GHC version and which arch? |
| 15:06:09 | <carbolymer> | merijn: GHC 9.2.3, arch tbd |
| 15:06:22 | <merijn> | carbolymer: Also, might wanna ask in #ghc |
| 15:07:01 | <yin> | alterF (pure :: a -> f a) (6 :: Int) (fromList [0..7] :: Set Int) -- Shouldn't the result be :: f (Set Int) ? |
| 15:07:48 | <carbolymer> | merijn: forgot that this channel existed, thanks |
| 15:07:50 | <yin> | but `:t alterF pure 6 (fromList [0..7]) ==> Set Int` |
| 15:07:54 | <merijn> | yin: Yes |
| 15:08:17 | <merijn> | yin: In IO 'f' is probably defaulted to IO and stripped off |
| 15:08:23 | <merijn> | err |
| 15:08:25 | <merijn> | in ghci |
| 15:08:25 | <yin> | oh |
| 15:08:59 | <yin> | i realized that as soon as i wrote it |
| 15:09:11 | → | catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
| 15:09:36 | <merijn> | λ :t alterF pure 6 (fromList [0..7]) |
| 15:09:36 | <merijn> | alterF pure 6 (fromList [0..7]) :: (Ord a, Applicative f, Num a, Enum a) => f (Set a) |
| 15:09:39 | <[Leary]> | carbolymer: 9.2.1--3 are known to be broken; we had a lot of segfaults in xmonad. |
| 15:09:46 | <[Leary]> | Fixed in 9.2.4. |
| 15:09:59 | <geekosaur> | also 9.2.5 came out this morning |
| 15:10:05 | <carbolymer> | geekosaur: :O |
| 15:10:22 | <carbolymer> | [Leary]: thanks, that's our intuition, but I'd like to know the root cause |
| 15:11:19 | <geekosaur> | root cause of the xmonad one was that cmm was eliding a join point and a touch# went along with it, causing heap objects to be gcd prematurely |
| 15:11:26 | <yin> | merijn: all my doubts are gone. thanks! |
| 15:11:50 | → | jtomas joins (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
| 15:12:48 | <merijn> | Usually the "use" of alterF becomes clear as soon as you hit a case where you wanna do some operation on a container that's not supported by the existing API |
| 15:13:20 | <merijn> | i.e. stuff where the API makes you do 2, 3, whatever passes of the same data structure to get the result you want. Generally alterF can help you turn those kinda things into single pass operations |
| 15:14:38 | <yin> | if i have `f x` in multiple guards am i computing it everytime a guard fails or is this memoized? |
| 15:14:38 | × | jonathanx__ quits (~jonathan@c-5eea70b8-74736162.cust.telenor.se) (Read error: Connection reset by peer) |
| 15:14:50 | <yin> | (memoized might not be the word) |
| 15:15:03 | <kuribas> | lortabac: well, I expect that haskell value don't use unsafePerformIO, or lazyIO, or if they do, it should not be observable. |
| 15:15:08 | <carbolymer> | geekosaur: what's cmm? |
| 15:15:24 | <kuribas> | lortabac: that's also how I would structure Python code. |
| 15:16:02 | → | jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 15:16:29 | <geekosaur> | the intermediate language below STG. it's kinda halfway between asm and C in complexity |
| 15:16:45 | <geekosaur> | https://gitlab.haskell.org/ghc/ghc/-/issues/21708 is the ticket for this |
| 15:17:06 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c444:d37e:95a5:c717) |
| 15:17:36 | <merijn> | yin: Unspecified |
| 15:17:47 | <merijn> | yin: If you wanna be sure, move it into a where binding |
| 15:17:52 | → | gensyst joins (gensyst@user/gensyst) |
| 15:17:59 | <merijn> | yin: That gives you 98% certainty it'll be computed once |
| 15:18:09 | <yin> | ha |
| 15:18:47 | <gensyst> | Is "mkStdGen :: Int -> StdGen" guaranteed to give same generator (producing same random sequence) across runs, OSes, random library versions, etc.? |
| 15:18:51 | <merijn> | yin: GHC might still duplicate stuff it deems "cheap", but in general if a computation is significant naming it pretty much guarantees single evaluation |
| 15:18:53 | <carbolymer> | geekosaur: oh looks similar, thanks! |
| 15:18:59 | <gensyst> | (For the same input seed Int.) |
| 15:19:02 | <merijn> | gensyst: afaik no |
| 15:19:10 | <merijn> | gensyst: At least not in older versions of random |
| 15:19:16 | <merijn> | I think newer versions might? |
| 15:19:46 | <dminuoso> | yin: you can improve that 98% by adding {-# NOINLINE foo #-} |
| 15:20:07 | <dminuoso> | So we do have these heavy tools to obtain sharing guarantees |
| 15:20:19 | <dminuoso> | This is particularly needed for top-level IORefs (global mutable state) |
| 15:20:36 | <dminuoso> | i.e. {-# NOINLINE counter #-} counter = unsafePerformIO (newIORef 0) |
| 15:21:14 | <dminuoso> | But most of the time its really not needed, unless a) your `f a` is actually not shared and a relevant hot spot. |
| 15:21:26 | × | irrgit quits (~irrgit@146.70.27.218) (Remote host closed the connection) |
| 15:21:31 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c444:d37e:95a5:c717) (Ping timeout: 252 seconds) |
| 15:21:54 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 15:22:20 | → | irrgit joins (~irrgit@146.70.27.218) |
| 15:22:40 | <merijn> | gensyst: https://hackage.haskell.org/package/random-1.2.1.1/docs/System-Random.html#g:8 |
| 15:23:24 | <merijn> | There are bindings for PCG random on hackage, so for any case where you want deterministic randomness you might wanna look into that |
| 15:24:27 | <gensyst> | merijn, thanks! |
| 15:25:08 | <merijn> | Since afaik PCG is one of the fastest and highest quality PRNG implementations |
| 15:26:10 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 15:26:15 | <merijn> | (Obviously not suitable for CS-PRNG, but if you want determinism that's probably not what you are looking for) |
| 15:26:47 | <gensyst> | merijn, so why use random library then? |
| 15:26:52 | <gensyst> | only if you've got problems with using c lib? |
| 15:27:05 | <gensyst> | s/why/when |
| 15:27:12 | <merijn> | gensyst: the random library does 2 things |
| 15:27:30 | <merijn> | 1) it specifies a generic interface for PRNG implementations |
| 15:27:39 | <merijn> | 2) it provides a number of basic PRNG implementations |
| 15:28:03 | <merijn> | There are more specific/niche implementations of PRNGs that are built on top of random's interface |
| 15:28:37 | <merijn> | The basic PRNG implementations are there for people who don't have particular demands of their PRNG |
| 15:29:29 | <merijn> | For example, the pcg-random package uses the same interface/API as random, but with it's PCG being the underlying PRNG |
| 15:29:54 | <merijn> | Same for things like mwc-random |
| 15:30:16 | × | danso quits (danso@2600:3c03::f03c:91ff:fe05:6954) (Quit: ZNC - https://znc.in) |
| 15:31:12 | <gensyst> | nice |
| 15:31:47 | <merijn> | So you can easily write something using random's builtin generators (or even generator agnostic) and hook it up to something more specific later |
| 15:32:42 | → | danso joins (~danso@danso.ca) |
| 15:37:39 | → | mmhat joins (~mmh@p200300f1c700b8c5ee086bfffe095315.dip0.t-ipconnect.de) |
| 15:40:14 | × | Xeroine quits (~Xeroine@user/xeroine) (Ping timeout: 260 seconds) |
| 15:41:20 | <yin> | why is IntSet not Foldable? |
| 15:41:23 | → | Xeroine joins (~Xeroine@user/xeroine) |
| 15:42:06 | <merijn> | Wrong kind |
| 15:42:27 | <merijn> | Foldable :: (* -> *) -> Constraint |
| 15:42:33 | <merijn> | But IntSet :: *' |
| 15:42:46 | <merijn> | (As opposed to 'Set :: * -> *') |
| 15:45:04 | <yin> | oh |
| 15:45:28 | <yin> | ok we use `member` instead of `elem` |
| 15:45:47 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds) |
| 15:46:46 | × | mmhat quits (~mmh@p200300f1c700b8c5ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1) |
| 15:46:54 | → | Sciencentistguy2 joins (~sciencent@hacksoc/ordinary-member) |
| 15:47:17 | <gensyst> | merijn, are you sure pcg are reproducible (same seeds) across runs, OSes, random library versions, etc? |
| 15:48:59 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 260 seconds) |
| 15:48:59 | Sciencentistguy2 | is now known as Sciencentistguy |
| 15:50:02 | × | kimjetwav quits (~user@2607:fea8:235e:b600:fa57:ff7b:bed3:61bf) (Quit: reboot time) |
| 15:50:35 | <merijn> | gensyst: Yes, because everything about it is fixed (i.e. it always produces 32bit random values from 64 bit state) and all the high level stuff is on top of that. So with the same initialisation state and generation order you always get the same |
| 15:51:29 | <gensyst> | very nice |
| 15:52:46 | × | mokee quits (~mokee@37.228.215.235) (Remote host closed the connection) |
| 15:54:14 | × | MajorBiscuit quits (~MajorBisc@145.94.173.65) (Ping timeout: 260 seconds) |
| 15:55:41 | → | MajorBiscuit joins (~MajorBisc@145.94.173.65) |
| 16:00:01 | <tomsmeding> | merijn: why does the background image on the fp day website look distinctly like imperative OOP code |
| 16:00:24 | <tomsmeding> | I see `; i++)` and `.removeClass()` |
| 16:00:27 | → | infinity0 joins (~infinity0@pwned.gg) |
| 16:00:34 | <tomsmeding> | actually it looks very much like JS |
| 16:00:53 | <tomsmeding> | with jquery, at that |
| 16:04:13 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:2daa:8b78:9a2e:bfe4) (Quit: WeeChat 2.8) |
| 16:04:50 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 16:05:33 | <merijn> | tomsmeding: Because that appears to be the default theme of the faculty hosting this year's NL-FP day? |
| 16:05:52 | <merijn> | Which was probably picked by some designer searching for a "code" stock image :p |
| 16:07:23 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 16:07:31 | <tomsmeding> | "shows code, lgtm" |
| 16:08:14 | <merijn> | I mean, in all likelihood the faculty overall probably does more imperative stuff than FP |
| 16:08:51 | <geekosaur> | who said the faculty even had input into it? I could see the designer picking "shows code" regardless |
| 16:09:51 | <merijn> | that too |
| 16:11:22 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:11:32 | × | arahael quits (~arahael@124.168.94.52) (Ping timeout: 248 seconds) |
| 16:14:37 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 16:15:07 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 16:15:22 | → | JimL joins (~quassel@89-162-2-132.fiber.signal.no) |
| 16:18:50 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::4b68) |
| 16:22:27 | <yin> | i have recently seen an ad for a Java course that featured a very beautiful girl sitting in a gaming chair, lokking over her shoulder at the camera while playing a racing game, mid race, with the mouse |
| 16:22:32 | <yin> | so... |
| 16:24:37 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) |
| 16:24:57 | → | arahael joins (~arahael@193-119-109-208.tpgi.com.au) |
| 16:26:24 | <pavonia> | Maybe she was testing the game she has programmed in Java |
| 16:30:07 | <yin> | nah, she was smiling |
| 16:30:20 | <kuribas> | lol :) |
| 16:30:25 | → | nate4 joins (~nate@98.45.169.16) |
| 16:30:44 | <kuribas> | java and smiling is very suspicious. |
| 16:31:19 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 16:31:46 | → | gera joins (~gera@user/gera) |
| 16:33:01 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 16:34:29 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
| 16:36:01 | → | arjun joins (~arjun@user/arjun) |
| 16:36:48 | → | econo joins (uid147250@user/econo) |
| 16:39:39 | → | abhiroop joins (~abhiroop@ext-1-450.eduroam.chalmers.se) |
| 16:39:44 | × | abhiroop_ quits (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 260 seconds) |
| 16:40:21 | → | beka joins (~beka@104.193.170.240) |
| 16:40:40 | × | machinedgod quits (~machinedg@clnet-p10-126.ikbnet.co.at) (Ping timeout: 260 seconds) |
| 16:55:29 | × | MajorBiscuit quits (~MajorBisc@145.94.173.65) (Ping timeout: 260 seconds) |
| 16:57:48 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:58:12 | × | pyrex_ quits (~pyrex@user/pyrex) (Quit: Leaving) |
| 16:59:55 | × | abhiroop quits (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 248 seconds) |
| 17:00:16 | <gensyst> | merijn, https://hackage.haskell.org/package/pcg-random-0.1.3.7/docs/System-Random-PCG.html |
| 17:01:23 | <gensyst> | merijn, would it be ok to just use initFrozen n 1 with n starting at some starting point and increasing it by 1 every time i want a new random number? |
| 17:01:45 | → | pyrex joins (~quassel@user/pyrex) |
| 17:01:59 | <gensyst> | Since those random number functions, e.g. "uniform", don't return a new generator for me alongside the random number |
| 17:02:08 | <gensyst> | so it seems like i have to create a new generator from scratch every time |
| 17:02:25 | <gensyst> | (In initFrozen n 1, the idea is to not worry about the second number) |
| 17:03:12 | <gensyst> | Hmm oh. We have "withFrozen" |
| 17:11:33 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 17:12:26 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) (Remote host closed the connection) |
| 17:14:55 | → | abhiroop joins (~abhiroop@ext-1-450.eduroam.chalmers.se) |
| 17:16:07 | → | jao joins (~jao@92.233.85.247) |
| 17:16:09 | money | is now known as Guest6765 |
| 17:17:03 | × | thyriaen quits (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Remote host closed the connection) |
| 17:22:43 | × | razetime quits (~quassel@117.193.1.205) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:24:18 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 17:25:34 | → | thyriaen joins (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) |
| 17:26:56 | → | thyriaen_ joins (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) |
| 17:29:39 | × | gensyst quits (gensyst@user/gensyst) (Quit: Leaving) |
| 17:33:30 | → | zeenk joins (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) |
| 17:33:54 | × | kenaryn quits (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving) |
| 17:33:59 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 17:35:41 | → | danso_o joins (danso@2600:3c03::f03c:91ff:fe05:6954) |
| 17:36:19 | × | danso quits (~danso@danso.ca) (Ping timeout: 260 seconds) |
| 17:36:19 | danso_o | is now known as danso |
| 17:36:36 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:36:54 | × | gera quits (~gera@user/gera) (Ping timeout: 260 seconds) |
| 17:39:22 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:40:27 | × | Guest75 quits (~Guest75@178.141.177.81) (Quit: Client closed) |
| 17:40:49 | → | Guest75 joins (~Guest75@178.141.177.81) |
| 17:44:02 | × | teo quits (~teo@user/teo) (Ping timeout: 252 seconds) |
| 17:47:03 | × | mbuf quits (~Shakthi@49.204.130.107) (Quit: Leaving) |
| 17:51:14 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.7.1) |
| 17:53:17 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:56:21 | → | akegalj joins (~akegalj@93-138-41-233.adsl.net.t-com.hr) |
| 18:00:28 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) |
| 18:02:35 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 18:04:26 | → | Tuplanolla joins (~Tuplanoll@91-159-69-11.elisa-laajakaista.fi) |
| 18:13:07 | × | michalz quits (~michalz@185.246.207.215) (Ping timeout: 252 seconds) |
| 18:18:00 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:19:03 | Guest6765 | is now known as money |
| 18:19:29 | × | JimL quits (~quassel@89-162-2-132.fiber.signal.no) (Ping timeout: 260 seconds) |
| 18:19:58 | → | JimL joins (~quassel@89-162-2-132.fiber.signal.no) |
| 18:20:44 | → | michalz joins (~michalz@185.246.207.217) |
| 18:26:12 | → | AlexNoo_ joins (~AlexNoo@178.34.163.65) |
| 18:29:31 | × | Alex_test quits (~al_test@178.34.150.205) (Ping timeout: 248 seconds) |
| 18:29:31 | × | AlexNoo quits (~AlexNoo@178.34.150.205) (Ping timeout: 248 seconds) |
| 18:29:31 | × | AlexZenon quits (~alzenon@178.34.150.205) (Ping timeout: 248 seconds) |
| 18:35:05 | → | AlexZenon joins (~alzenon@178.34.163.65) |
| 18:35:43 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:36:24 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 260 seconds) |
| 18:36:47 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 18:37:17 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 18:41:42 | → | Alex_test joins (~al_test@178.34.163.65) |
| 18:42:33 | → | Alex_test_ joins (~al_test@178.34.163.65) |
| 18:42:34 | × | AlexZenon quits (~alzenon@178.34.163.65) (Ping timeout: 252 seconds) |
| 18:43:44 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 18:43:55 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 252 seconds) |
| 18:44:45 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 18:45:31 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 18:47:44 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 18:48:05 | <yin> | what's the current idiomatic way of updating a record? i'm still doing `r { x = f (x r) }` |
| 18:48:34 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 18:48:44 | <[exa]> | probably lenses but I'd be very interested in anything less lightweight |
| 18:48:48 | <[exa]> | *more lightweight |
| 18:48:59 | <yin> | yes i want to avoid lenses |
| 18:49:46 | <EvanR> | I do record update syntax |
| 18:49:57 | <money> | Beep |
| 18:50:08 | → | AlexZenon joins (~alzenon@178.34.163.65) |
| 18:50:17 | <EvanR> | if I will update a field in many places, define a "functional reference" style lens |
| 18:50:31 | <EvanR> | it doesn't require installing any lens library |
| 18:50:36 | <monochrom> | I still use record update syntax. |
| 18:51:26 | × | Alex_test_ quits (~al_test@178.34.163.65) (Ping timeout: 246 seconds) |
| 18:51:44 | <EvanR> | onX :: (X -> X) -> T -> T |
| 18:51:56 | → | AlexZenon_2 joins (~alzenon@178.34.163.65) |
| 18:52:21 | <monochrom> | And yeah defining your own minimal lens clone works too if you have repetitively many similar update sites. |
| 18:52:55 | <[exa]> | +1 for `onX`, concise&powerful |
| 18:53:54 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 260 seconds) |
| 18:54:29 | × | ksu quits (~ksu@user/prtr) (Ping timeout: 268 seconds) |
| 18:56:16 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:56:49 | <monochrom> | I just feel that usually the update is not as simple as x = f (x r). |
| 18:57:21 | <monochrom> | Equivalently not as simple as (X->X) -> T->T |
| 18:57:51 | × | arjun quits (~arjun@user/arjun) (Remote host closed the connection) |
| 18:58:24 | <monochrom> | I mean it sometimes need to be (T->X) -> T->T. The new X depends on other fields of the record, not just the old X field. |
| 18:59:52 | × | thyriaen_ quits (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Quit: Leaving) |
| 19:00:05 | × | AlexZenon_2 quits (~alzenon@178.34.163.65) (Ping timeout: 260 seconds) |
| 19:00:05 | × | AlexZenon quits (~alzenon@178.34.163.65) (Ping timeout: 260 seconds) |
| 19:00:10 | × | abhiroop quits (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 252 seconds) |
| 19:00:17 | <yin> | monochrom: that's exactly the situation i find myself in all the time |
| 19:00:48 | <yin> | even depending on fields of parent records |
| 19:01:59 | × | jlgw quits (~jw@83-233-104-81.cust.bredband2.com) (Remote host closed the connection) |
| 19:02:04 | × | Alex_test quits (~al_test@178.34.163.65) (Ping timeout: 260 seconds) |
| 19:02:16 | <monochrom> | I just start with low-tech elementary record update syntax, then look for opportunities for normal refactoring. |
| 19:04:13 | → | Alex_test joins (~al_test@178.34.163.65) |
| 19:05:17 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 19:06:53 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:11:04 | → | Alex_test_ joins (~al_test@178.34.163.65) |
| 19:12:00 | <EvanR> | monochrom, there should be an entire field of study turned snake oil industry dedicated to updating the fields in the presence of all the other fields of yourself xD |
| 19:12:45 | <EvanR> | yin, you just said "parent records", so you basically just admitted you need lenses now |
| 19:13:00 | <EvanR> | or not heavily nesting the records webstyle |
| 19:14:36 | × | Alex_test quits (~al_test@178.34.163.65) (Ping timeout: 252 seconds) |
| 19:14:45 | <EvanR> | on needing to update a record using more than one field there is some nice syntax for that, f (r {x=x, y=y, z=z}) = r {y = g x y z} |
| 19:15:51 | <EvanR> | made less atrocious using NamedFieldPuns, perhaps |
| 19:16:47 | → | AlexZenon joins (~alzenon@178.34.163.65) |
| 19:16:51 | <yin> | EvanR: 2 levels is usually my maximum |
| 19:17:29 | <yin> | or so i like to pretend |
| 19:17:39 | <EvanR> | you'd think only 2 means it's not as painful... but... |
| 19:17:41 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:17:48 | <ski> | `(T -> X) -> (T -> T)' looks sortof `MonoComonad'ish |
| 19:17:55 | <dolio> | Yeah, that's a comonad. |
| 19:18:10 | <ski> | well, it's not plymorphic, but ad hoc |
| 19:18:21 | <dolio> | Right. |
| 19:18:55 | <dolio> | It's probably a particular coalgebra, rather than the cofree coalgebra. |
| 19:20:34 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) (Remote host closed the connection) |
| 19:22:53 | <ski> | now i'm wondering if there's something `loeb'ish here |
| 19:22:53 | <ski> | hm, best i can think of would be `(X -> T -> X) -> (T -> T)' .. dunno if that actually works |
| 19:22:53 | → | AlexZenon_2 joins (~alzenon@178.34.163.65) |
| 19:22:54 | <ski> | well, or `(X -> T -> X) -> (Y -> T -> Y) -> (T -> T)' &c. |
| 19:22:54 | → | defanor_ joins (~defanor@tart.uberspace.net) |
| 19:22:54 | × | litharge quits (litharge@libera/bot/litharge) (Remote host closed the connection) |
| 19:23:04 | → | loonycyborg_ joins (loonycybor@chat.chantal.wesnoth.org) |
| 19:23:09 | → | Alex_test joins (~al_test@178.34.163.65) |
| 19:23:55 | → | farn_ joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) |
| 19:24:07 | × | dispater quits (~dispater@user/brprice) (Ping timeout: 246 seconds) |
| 19:24:07 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Ping timeout: 246 seconds) |
| 19:24:07 | × | nonzen quits (~nonzen@user/nonzen) (Ping timeout: 246 seconds) |
| 19:24:07 | × | loonycyborg quits (loonycybor@wesnoth/developer/loonycyborg) (Ping timeout: 246 seconds) |
| 19:24:07 | × | acidsys quits (~crameleon@openSUSE/member/crameleon) (Ping timeout: 246 seconds) |
| 19:24:07 | × | defanor quits (~defanor@tart.uberspace.net) (Ping timeout: 246 seconds) |
| 19:24:07 | × | fvr quits (ef3e56ca8b@2604:bf00:561:2000::3c4) (Ping timeout: 246 seconds) |
| 19:24:07 | × | hays quits (rootvegeta@fsf/member/hays) (Remote host closed the connection) |
| 19:24:07 | × | fgaz quits (~fgaz@2001:470:69fc:105::842) (Ping timeout: 246 seconds) |
| 19:24:07 | × | aidy quits (~aidy@2001:470:69fc:105::c7b4) (Ping timeout: 246 seconds) |
| 19:24:07 | × | ozkutuk[m] quits (~ozkutuk@2001:470:69fc:105::2:9af8) (Ping timeout: 246 seconds) |
| 19:24:07 | × | silky[m] quits (~noonvande@2001:470:69fc:105::2:943c) (Ping timeout: 246 seconds) |
| 19:24:07 | × | july541[m] quits (~july541ma@2001:470:69fc:105::1:e416) (Ping timeout: 246 seconds) |
| 19:24:07 | × | Deide quits (~deide@user/deide) (Ping timeout: 246 seconds) |
| 19:24:07 | × | farn quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (Ping timeout: 246 seconds) |
| 19:24:07 | × | b0o quits (0e4a0bf4c9@2604:bf00:561:2000::1bf) (Ping timeout: 246 seconds) |
| 19:24:07 | × | VarikValefor[m] quits (~varikvale@2001:470:69fc:105::a5d) (Ping timeout: 246 seconds) |
| 19:24:07 | × | Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Ping timeout: 246 seconds) |
| 19:24:07 | × | tiziodcaio quits (~tiziodcai@2001:470:69fc:105::1:2bf8) (Ping timeout: 246 seconds) |
| 19:24:07 | × | MangoIV[m] quits (~mangoivma@2001:470:69fc:105::2:8417) (Ping timeout: 246 seconds) |
| 19:24:07 | × | JensPetersen[m] quits (~juhp@2001:470:69fc:105::6e9) (Ping timeout: 246 seconds) |
| 19:24:07 | × | unclechu quits (~unclechu@2001:470:69fc:105::354) (Ping timeout: 246 seconds) |
| 19:24:07 | × | jmcantrell quits (~jmcantrel@user/jmcantrell) (Ping timeout: 246 seconds) |
| 19:24:07 | × | fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Ping timeout: 246 seconds) |
| 19:24:07 | × | nshepperd2 quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Ping timeout: 246 seconds) |
| 19:24:08 | × | JonathanWatson[m quits (~jjwmatrix@2001:470:69fc:105::2:a544) (Ping timeout: 246 seconds) |
| 19:24:08 | × | VanceIsM7[m] quits (~vanceism7@2001:470:69fc:105::3ad) (Ping timeout: 246 seconds) |
| 19:24:08 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 19:24:08 | <EvanR> | submitted for the approval of the midnight society, a paradigm where tree of records are generated for read only purposes, while domain data intended to be persistent and updated arbitrarily is kept in something like a relational database |
| 19:24:08 | × | AlexZenon quits (~alzenon@178.34.163.65) (Ping timeout: 252 seconds) |
| 19:24:08 | × | Alex_test_ quits (~al_test@178.34.163.65) (Ping timeout: 246 seconds) |
| 19:24:09 | → | litharge joins (litharge@libera/bot/litharge) |
| 19:24:12 | × | jao quits (~jao@92.233.85.247) (Ping timeout: 260 seconds) |
| 19:24:18 | → | dispater- joins (~dispater@user/brprice) |
| 19:24:22 | → | Taneb0 joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
| 19:24:25 | → | nonzen_ joins (~nonzen@user/nonzen) |
| 19:24:42 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 19:24:46 | → | ft joins (~ft@p508dbd59.dip0.t-ipconnect.de) |
| 19:24:46 | <ski> | fmapLoebXY upX upY t0 = t1 |
| 19:24:48 | <ski> | where |
| 19:24:52 | → | ozkutuk[m] joins (~ozkutuk@2001:470:69fc:105::2:9af8) |
| 19:24:54 | <ski> | t1 = t0 {x = upX (x t0) t1,y = upY (y t0) t1} |
| 19:24:56 | <ski> | basically |
| 19:25:17 | <ski> | dolio : elaborate ? |
| 19:25:21 | → | b0o joins (0e4a0bf4c9@2604:bf00:561:2000::1bf) |
| 19:25:32 | → | silky[m] joins (~noonvande@2001:470:69fc:105::2:943c) |
| 19:26:01 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 19:26:59 | <dolio> | Actually, it looks more like an algebra. |
| 19:27:36 | <dolio> | There's a correspondence between lenses and coalgebras of store. |
| 19:27:39 | × | Alex_test quits (~al_test@178.34.163.65) (Ping timeout: 248 seconds) |
| 19:28:05 | → | Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0) |
| 19:28:06 | <ski> | of course, `fmapLoebXY' doesn't (easily) allow you to depend on the old field values of other fields .. but now that's what `loeb' does |
| 19:28:06 | → | MangoIV[m] joins (~mangoivma@2001:470:69fc:105::2:8417) |
| 19:28:49 | <ski> | s/does/is known for/ |
| 19:29:19 | → | Alex_test joins (~al_test@178.34.163.65) |
| 19:29:37 | → | july541[m] joins (~july541ma@2001:470:69fc:105::1:e416) |
| 19:29:39 | → | aidy joins (~aidy@2001:470:69fc:105::c7b4) |
| 19:29:42 | → | Deide joins (~deide@user/deide) |
| 19:30:04 | → | fvr joins (ef3e56ca8b@2604:bf00:561:2000::3c4) |
| 19:30:56 | <EvanR> | :t loeb |
| 19:30:57 | <lambdabot> | error: Variable not in scope: loeb |
| 19:30:58 | <ski> | `T -> (X,X -> T)' being `T -> Coalg T' where `Coalg a = (X,X -> a)' ? |
| 19:31:02 | → | JonathanWatson[m joins (~jjwmatrix@2001:470:69fc:105::2:a544) |
| 19:31:23 | × | AlexZenon_2 quits (~alzenon@178.34.163.65) (Ping timeout: 248 seconds) |
| 19:31:26 | shapr | hops cheerfully |
| 19:31:34 | <ski> | @let loeb :: Functor f => f (f a -> a) -> f a; loeb ff = fa where fa = fmap ($ fa) ff |
| 19:31:35 | <lambdabot> | Defined. |
| 19:31:41 | <ski> | @arr |
| 19:31:41 | <lambdabot> | Avast! |
| 19:32:01 | <geekosaur> | http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html ? |
| 19:32:11 | → | VarikValefor[m] joins (~varikvale@2001:470:69fc:105::a5d) |
| 19:32:14 | → | unclechu joins (~unclechu@2001:470:69fc:105::354) |
| 19:32:15 | <shapr> | I have work to do, but that link looks so interesting |
| 19:32:17 | → | jmcantrell joins (~jmcantrel@user/jmcantrell) |
| 19:32:18 | → | tiziodcaio joins (~tiziodcai@2001:470:69fc:105::1:2bf8) |
| 19:32:20 | → | fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd) |
| 19:32:21 | → | JensPetersen[m] joins (~juhp@2001:470:69fc:105::6e9) |
| 19:32:28 | <geekosaur> | sorry 🙂 |
| 19:32:28 | <shapr> | I shall resist |
| 19:32:29 | → | VanceIsM7[m] joins (~vanceism7@2001:470:69fc:105::3ad) |
| 19:32:32 | <ski> | > loeb [sum . tail,const 2,length] |
| 19:32:34 | <lambdabot> | [5,2,3] |
| 19:32:53 | <shapr> | I wish my firefox bookmark tags would realize that data flow and dataflow are the same thing |
| 19:33:00 | shapr | sighs and goes back to Android dev |
| 19:33:18 | <shapr> | Oh speaking of which, any suggestions for Android dev with Haskell? What's the best thing at the moment? |
| 19:34:14 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:34:24 | → | acidsys joins (~crameleon@openSUSE/member/crameleon) |
| 19:34:49 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:35:17 | → | Alex_test_ joins (~al_test@178.34.163.65) |
| 19:35:21 | <shapr> | I thought I heard reflex-frp was the way to go for Haskell on Andorid, but I'm not up to date on that. |
| 19:35:27 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 19:35:30 | → | AlexZenon joins (~alzenon@178.34.163.65) |
| 19:35:55 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 19:35:57 | <geekosaur> | Cale's employer has been using it; dunno about others |
| 19:36:06 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 19:36:29 | <shapr> | I think Obsidian is the creator and maintainer of reflex-frp? |
| 19:36:31 | <davean> | shapr: Obsidian does a lot of maintaining support for that stuff, and they PRODUCE reflex. You don't need to use reflex to use their nix stuff |
| 19:36:49 | → | vglfr joins (~vglfr@145.224.100.100) |
| 19:37:06 | <shapr> | davean: I'm asking about Haskell on Android |
| 19:38:25 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) |
| 19:38:47 | <davean> | Yes, exactly |
| 19:38:47 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:38:50 | <shapr> | Oh, I see! |
| 19:39:02 | <shapr> | davean: thank you |
| 19:39:08 | <davean> | reflex-platform I think is the name |
| 19:39:08 | → | talismanick joins (~talismani@76.133.152.122) |
| 19:39:26 | <davean> | I think 9.6 will be a lot better for this |
| 19:39:49 | <shapr> | Why so? |
| 19:39:58 | <Cale> | Yeah, reflex-platform is basically our nix build solution for all that stuff. |
| 19:40:19 | <Cale> | Obelisk is a web/mobile application framework built atop that |
| 19:40:23 | <davean> | shapr: Because core stuff gets mainlined |
| 19:40:32 | <shapr> | core stuff? |
| 19:40:33 | → | AlexZenon_2 joins (~alzenon@178.34.163.65) |
| 19:40:48 | <shapr> | Any links to specifics? |
| 19:41:26 | <davean> | GHCJS and WASM get mainlined into GHC |
| 19:41:34 | <shapr> | Oh, exciting! |
| 19:41:38 | <davean> | GHC will FINALLY support backends |
| 19:41:42 | <davean> | instead of insisting they die |
| 19:42:16 | AlexNoo_ | is now known as AlexNoo |
| 19:42:36 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 19:43:13 | <ozkutuk[m]> | Is it possible "instantiate" multiple pattern synonyms for a polymorphic type with different concrete types? Something like instance declarations with `FlexibleInstances` but for pattern synonyms |
| 19:43:37 | × | AlexZenon quits (~alzenon@178.34.163.65) (Ping timeout: 252 seconds) |
| 19:43:37 | × | Alex_test quits (~al_test@178.34.163.65) (Ping timeout: 252 seconds) |
| 19:44:06 | → | abhiroop joins (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 19:45:16 | × | AlexZenon_2 quits (~alzenon@178.34.163.65) (Ping timeout: 252 seconds) |
| 19:46:03 | <ozkutuk[m]> | I can't write a general polymorphic pattern synonym because this type variable is also used as input to a type family within the type, so the types differ across different concrete types |
| 19:47:20 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 19:47:37 | × | Alex_test_ quits (~al_test@178.34.163.65) (Remote host closed the connection) |
| 19:47:42 | <EvanR> | the link about Löb's and spreadsheets makes me think the previous decade which was partly defined as "FRP it's just a spreadsheet, what's the problem" was really about Löb's xD |
| 19:48:01 | <EvanR> | and not FRP really |
| 19:48:18 | <EvanR> | ok the subject and verb of that sentence was messed up, sorry |
| 19:48:58 | → | gmg joins (~user@user/gehmehgeh) |
| 19:49:51 | → | AlexZenon joins (~alzenon@178.34.163.65) |
| 19:49:54 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 19:53:48 | × | AlexZenon quits (~alzenon@178.34.163.65) (Client Quit) |
| 19:55:24 | <yin> | why are some ghc versions hls-powered and some aren't? |
| 19:55:59 | → | AlexZenon joins (~alzenon@178.34.163.65) |
| 19:56:35 | <davean> | yin: "hls-powered"? |
| 19:56:39 | <davean> | what does that even mean? |
| 19:56:41 | <tomsmeding> | yin: ghcup saying that a ghc-version is "hls-powered" simply means that the default bundle of HLS executables packaged by ghcup contains a version for that ghc version |
| 19:57:01 | <tomsmeding> | i.e. ghcup has chosen a bunch of versions to precompile HLS for, and those are the ones |
| 19:57:20 | <tomsmeding> | you can compile your own HLS for a different ghc version should you be so inclined |
| 19:59:09 | → | Alex_test joins (~al_test@178.34.163.65) |
| 19:59:21 | <yin> | got it thanks |
| 19:59:49 | × | akegalj quits (~akegalj@93-138-41-233.adsl.net.t-com.hr) (Ping timeout: 260 seconds) |
| 19:59:50 | → | nshepperd2 joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
| 20:00:12 | <tomsmeding> | yin: (see e.g. 'ghcup compile hls --help') |
| 20:00:16 | <yin> | that being said, there's something wrong with code actions in 1.8.0.0 |
| 20:00:46 | <ski> | ah, there is a <https://hackage.haskell.org/package/mono-traversable-1.0.15.3/docs/Data-MonoTraversable.html#t:MonoComonad> .. but the `X' is determined by the `T', so you can't also have an `Y' part |
| 20:01:10 | <tomsmeding> | yin: there's #haskell-language-server |
| 20:01:27 | → | akegalj joins (~akegalj@93-138-41-233.adsl.net.t-com.hr) |
| 20:01:28 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 20:01:32 | <yin> | tomsmeding: thanks. didn't know that |
| 20:01:35 | <yin> | i found this https://github.com/haskell/haskell-language-server/issues/3241 |
| 20:02:24 | <yin> | compiling hls from source seems to fix it |
| 20:02:30 | × | abhiroop quits (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 20:03:39 | <EvanR> | ski, in your fmapLoeb you have X and Y. Is there anything special about 2 fields or it just an example |
| 20:03:56 | <ski> | just an example |
| 20:04:20 | <ski> | imagine `data T = MkT {x :: X,y :: Y}' |
| 20:04:43 | <EvanR> | oh ok, basically you designed it to update all the fields |
| 20:04:53 | <ski> | like `loeb', yea |
| 20:06:00 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 20:07:31 | <ski> | @type (loeb .) . fmap |
| 20:07:32 | <lambdabot> | Functor f => (a1 -> f a2 -> a2) -> f a1 -> f a2 |
| 20:08:09 | <ski> | (guess i should've said s/fmapLoeb/loebFMap/) |
| 20:10:19 | <ski> | (i guess one could possibly have "cache fields" that wouldn't be (explicitly) updated) |
| 20:15:29 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 20:16:01 | × | lechner quits (lechner@debian/lechner) (Quit: WeeChat 3.5) |
| 20:16:25 | → | gmg joins (~user@user/gehmehgeh) |
| 20:18:38 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 20:18:38 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 20:20:20 | → | beteigeuze joins (~Thunderbi@89.187.168.55) |
| 20:21:04 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 20:21:26 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 20:22:48 | × | beteigeuze quits (~Thunderbi@89.187.168.55) (K-Lined) |
| 20:22:56 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 20:27:01 | → | AlexNoo_ joins (~AlexNoo@178.34.163.65) |
| 20:30:23 | × | akegalj quits (~akegalj@93-138-41-233.adsl.net.t-com.hr) (Quit: leaving) |
| 20:30:44 | × | AlexNoo quits (~AlexNoo@178.34.163.65) (Ping timeout: 260 seconds) |
| 20:31:09 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 20:32:07 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 20:34:50 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 20:35:07 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 20:35:35 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:36:00 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 20:40:39 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 260 seconds) |
| 20:40:49 | → | vn36 joins (~vn36@123.63.203.210) |
| 20:40:55 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) (Remote host closed the connection) |
| 20:42:19 | <monochrom> | Ugh just when I have adopted GHC 9.2.4... 9.2.5 enters the bar! |
| 20:42:51 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) |
| 20:43:02 | <Xeroine> | Hello, https://en.wikibooks.org/wiki/Haskell/Type_basics_II I don't understand a lot in the paragraph starting with "However, that design fits poorly with the way computers perform arithmetic.". First of all, I don't understand why this is true: "While computers can handle integers as a sequence of binary digits in memory, that approach does not work for real numbers". Aren't integers real |
| 20:43:04 | <Xeroine> | numbers? https://en.wikipedia.org/wiki/List_of_types_of_numbers this says integers are rational numbers which are real numbers. |
| 20:43:23 | <Xeroine> | I guess I'm misunderstanding something |
| 20:43:53 | <EvanR> | general real numbers have infinite non trivial bits |
| 20:44:01 | <EvanR> | they don't fit in the computer (all at once) |
| 20:44:11 | <darkling> | Integers are a subset of rationals, which are a subset of reals. |
| 20:44:54 | <darkling> | Specifically, the integers are a subset of reals that can be precisely represented as a sequence in a specific way. |
| 20:45:15 | → | titibandit joins (~titibandi@xdsl-87-78-8-6.nc.de) |
| 20:46:04 | <Xeroine> | EvanR: what do you mean by "non trivial bits"? |
| 20:46:11 | × | fserucas quits (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving) |
| 20:46:17 | <EvanR> | look at the binary expansion of sqrt 2 |
| 20:46:22 | AlexNoo_ | is now known as AlexNoo |
| 20:46:35 | <monochrom> | "Integers are real numbers" is true but useless for the purpose of "how to support all real numbers on a computer". |
| 20:47:09 | <EvanR> | it's irrational so the bit pattern ... isn't much of a pattern |
| 20:47:19 | <EvanR> | more damningly, it goes on forever |
| 20:47:36 | <monochrom> | Although, the argument on the wikibook is irrelevant, too. |
| 20:47:46 | <Xeroine> | monochrom: okay then I guess what I want to ask is what problems do other real numbers have that integers don't have when it comes to computers? |
| 20:47:47 | <monochrom> | Scheme is a counterexample. |
| 20:47:57 | → | pavonia joins (~user@user/siracusa) |
| 20:48:00 | × | nschoe quits (~q@141.101.51.197) (Ping timeout: 260 seconds) |
| 20:48:55 | <EvanR> | integers have the feature that you only need a small number of bits to do the arithmetic |
| 20:49:11 | <darkling> | None of the irrational reals (which is almost all of them) are representable as a finite sequence of bits. |
| 20:49:20 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 20:49:37 | <monochrom> | Scheme shows that one can take the stance of having one number type that contains several cases: integer, rational, floating point. |
| 20:49:45 | <EvanR> | gross |
| 20:49:56 | × | mixfix41 quits (~sdeny9ee@user/mixfix41) (Ping timeout: 252 seconds) |
| 20:50:11 | <monochrom> | If you try to do <integer> + <rational>, the result is a promotion, you get <rational>. |
| 20:50:21 | <EvanR> | computer int isn't a subset of computer float or vice versa |
| 20:50:31 | → | nucranium joins (~nucranium@2a02:8010:6173:0:8102:5ccd:28d9:3575) |
| 20:50:34 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 20:50:53 | <monochrom> | In pseudo-Haskell terms, Scheme is doing "data Number = Integer ??? | Rational ??? | FloatingPoint ???" |
| 20:50:55 | <davean> | EvanR: Well sometimes int is a subset of float |
| 20:51:03 | <darkling> | You could represent specific subsets of the reals (for example, square roots and surds) with an appropriate representation based on integers, but it's limited in the operations you can make. |
| 20:51:06 | <EvanR> | don't make me bonkcat you |
| 20:51:11 | <davean> | On like a I16 system it is |
| 20:51:18 | <davean> | Hell, I think an I32? |
| 20:51:28 | → | vglfr joins (~vglfr@145.224.100.100) |
| 20:51:29 | <davean> | I can't recall of the top of my head where the cutoff is |
| 20:52:17 | <darkling> | IEEE FP, it's 53 bits of mantissa. |
| 20:52:26 | <davean> | darkling: thats what I thought |
| 20:52:31 | <darkling> | Which is, oddly enough, the limit of the integer type in JavaScript. :) |
| 20:52:33 | <davean> | so yah, many systems Int is a subset of float |
| 20:52:40 | <EvanR> | Float |
| 20:52:51 | <davean> | I32LP64 is a pretty normal setup |
| 20:52:55 | <EvanR> | if you interpret this to mean 32 bit float, it's right, but it doesn't matter |
| 20:52:58 | <monochrom> | The correct explanation for the Haskell design decision is: The committee prefers not to do it the Scheme way. The committee prefers to do the more traditional: There is an Int->Int->Int addition, there is a Double->Double->Double addition, etc., and keeping those number types separate, not unified. |
| 20:53:10 | <davean> | EvanR: No, no Float has a meaning in IEEE754 |
| 20:53:28 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 20:53:35 | <c_wraith> | yeah, the name "double" actually means "twice as much of something as something else" |
| 20:54:17 | <EvanR> | the point is that the subset relationship is not true, you could instead drill down and get into when it's not true if you want but it's not contradicting anything |
| 20:54:28 | <monochrom> | (One could argue for that separation by the desire to match hardware-level distinctions and the hope that the matching helps efficiency.) |
| 20:54:31 | <Xeroine> | I still don't understand. There is some issue being described in that paragraph which exists for real numbers other than integers but what is it? Integers and other numbers from different sets of the real number set can be infinite but this isn't an issue for integers? |
| 20:54:43 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 20:54:45 | <monochrom> | (Although, with laziness, the point is moot IMO.) |
| 20:54:47 | <c_wraith> | Integer can't be infintie |
| 20:54:49 | <EvanR> | infinite set? or infinite representations |
| 20:54:53 | <c_wraith> | err, can't be infinite |
| 20:54:53 | <davean> | EvanR: The point is it is unconditionally true on some systems |
| 20:55:08 | <c_wraith> | Integer can't be bigger than the amount of memory you've got |
| 20:55:13 | <EvanR> | davean, no, it's not the point. Sorry xD |
| 20:55:16 | <cpli> | (^^^), (^^^^), (^^^^^), (^^^^^^), |
| 20:55:16 | <cpli> | (^^^^^^^), (^^^^^^^^), (^^^^^^^^^), |
| 20:55:16 | → | vglfr joins (~vglfr@145.224.100.100) |
| 20:55:16 | <cpli> | (^^^^^^^^^^), (^^^^^^^^^^^), (^^^^^^^^^^^^), |
| 20:55:16 | <cpli> | (^^^^^^^^^^^^^), (^^^^^^^^^^^^^^), (^^^^^^^^^^^^^^^), |
| 20:55:16 | <cpli> | (^^^^^^^^^^^^^^^^), (^^^^^^^^^^^^^^^^^), (^^^^^^^^^^^^^^^^^^) |
| 20:55:17 | <cpli> | :: MonadUnliftIO m ⇒ m a → String → m a |
| 20:55:17 | <cpli> | (^^^) = flip $ (>>) . liftIO . Prelude.putStrLn |
| 20:55:18 | <cpli> | (^^^^) = (^^^) |
| 20:55:18 | <cpli> | (^^^^^) = (^^^^) |
| 20:55:19 | <cpli> | (^^^^^^) = (^^^^^) |
| 20:55:19 | <cpli> | (^^^^^^^) = (^^^^^^) |
| 20:55:20 | <cpli> | (^^^^^^^^) = (^^^^^^^) |
| 20:55:22 | <cpli> | (^^^^^^^^^) = (^^^^^^^^) |
| 20:55:22 | ChanServ | sets mode +o monochrom |
| 20:55:24 | <cpli> | (^^^^^^^^^^) = (^^^^^^^^^) |
| 20:55:25 | <EvanR> | scheme is a programming language not a hardware |
| 20:55:26 | <cpli> | (^^^^^^^^^^^) = (^^^^^^^^^^) |
| 20:55:28 | <cpli> | (^^^^^^^^^^^^) = (^^^^^^^^^^^) |
| 20:55:29 | <davean> | Xeroine: "Can be infinite" and "must be infinite" |
| 20:55:30 | <cpli> | (^^^^^^^^^^^^^) = (^^^^^^^^^^^^) |
| 20:55:30 | monochrom | sets mode +b *!*@2604:bf00:561:2000::252 |
| 20:55:41 | → | buffet joins (~buffet@buffet.sh) |
| 20:55:57 | <EvanR> | it's defining some abstraction for all computers |
| 20:56:00 | <Xeroine> | c_wraith: but that's true for any number from any number set not just integers |
| 20:56:05 | <monochrom> | err, there is a "quiet" mode, let me change that. |
| 20:56:10 | <c_wraith> | Xeroine: IEEE754 numbers have an explicit representation for "infinity" |
| 20:56:16 | monochrom | sets mode -b *!*@2604:bf00:561:2000::252 |
| 20:56:33 | ← | cpli parts (77fc530071@2604:bf00:561:2000::252) () |
| 20:56:37 | → | cpli joins (77fc530071@2604:bf00:561:2000::252) |
| 20:56:38 | <davean> | Xeroine: note "must", this gets into non-trivial, many numbers have a single extension of implicite zero bits |
| 20:56:41 | <monochrom> | ha I don't know how to use the quiet mode |
| 20:56:47 | <davean> | Xeroine: not all numbers CAN be implicitely extended to get a subset |
| 20:56:54 | <ski> | cpli : please don't do that |
| 20:57:19 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) (Remote host closed the connection) |
| 20:57:41 | <monochrom> | There are uncountably many real numbers, but only countable many possibilities for any data structure or program. There is not going to be an injective mapping from real numbers to computer data. |
| 20:57:52 | <ski> | @where paste |
| 20:57:52 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 20:57:58 | <ski> | cpli ^ |
| 20:58:30 | <EvanR> | there are also countable rational numbers, but you still can't do the arithmetic on a bunch of bits. It won't fit |
| 20:58:43 | <EvanR> | like 1/3 = 0.33333... |
| 20:58:47 | <monochrom> | At best you can indulge in the notion of "computable reals", but it's very expensive. |
| 20:59:03 | <monochrom> | Sometimes even just Rationals is already considered too slow. |
| 20:59:11 | <cpli> | https://paste.tomsmeding.com/ZYkkSVns ski |
| 20:59:13 | <monochrom> | Or too memory-hogging. |
| 20:59:19 | <cpli> | ski ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 21:00:19 | <ski> | i don't really see the point of those operators |
| 21:00:23 | <davean> | Xeroine: Also you can represent some numbers by how to compute them. This doesn't always let you find out anything about the number though. Consider if we have something where the far off bits influnce a lot and we ask "is it even or odd?" That might not be comput able. |
| 21:00:58 | <EvanR> | it might let you "find out about the number", e.g. by interpreting the computations |
| 21:00:59 | <cpli> | ski, they're important. they draw your eyes to the code that is being debugged. literate haskell is something similar if you know that. |
| 21:01:00 | <ski> | (also seems `MonadIO m' would be enough, rather than `MonadUnliftIO m', no ?) |
| 21:01:08 | <pyrex> | those are some nice operators! |
| 21:01:12 | monochrom | sets mode -o monochrom |
| 21:01:18 | <davean> | EvanR: The point is some of those computations are non-computable. |
| 21:01:29 | <ski> | why not just one operator ? |
| 21:01:30 | <EvanR> | then it's badly named isn't it |
| 21:01:51 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 21:01:56 | <EvanR> | rather than computations you might be expressing some kind of logical definition |
| 21:01:58 | <cpli> | ski, sadly DiscordHandler is not of the family `MonadIO`, instead it is `MonadUnliftIO` |
| 21:02:14 | <davean> | EvanR: Oh this shows up just in numbers and basic math operations |
| 21:02:34 | <cpli> | ski i had one operator about 2 hours ago. it was far less expressive. |
| 21:02:34 | <ski> | but `(^^^)' doesn't appear to require that, cpli |
| 21:02:47 | <ski> | all the operators do the same thing |
| 21:02:47 | <monochrom> | You could have just one (^^^) and then at use sites add spaces, e.g. ^^^ "get stuff" |
| 21:03:45 | <cpli> | true, ski thank you for making the type declaration shorter, it lets me add more operators. |
| 21:03:47 | <EvanR> | the classic psuedo scheme sqrt function, (the y (= (squared y) x)), not really a computation |
| 21:03:53 | <monochrom> | Anyway Scheme refutes "it seems that we can't even have (+) mix integers and floating-point numbers" so the wikibook is wrong on this point. |
| 21:04:27 | <davean> | monochrom: I mean scheme shows you can't. It gets incorrect answers? |
| 21:04:38 | <monochrom> | The correct reason is as I stated, someone decided to match hardware-level distinctions. |
| 21:04:44 | <cpli> | monochrom, i might misread it as `>>=` |
| 21:05:03 | <monochrom> | I don't know how to misread ^^^ and spaces as >>= |
| 21:05:20 | <cpli> | i did before, that's why i added `^^^^` |
| 21:05:28 | <EvanR> | there are an equal number of line segment strokes in each |
| 21:06:05 | <monochrom> | Or rather, someone decided to follow the tradition of matching hardware-level distinctions, because Fortran Algol Pascal C have been doing that. |
| 21:06:43 | <davean> | monochrom: except I really think you're wrong - scheme makes '+' stop being addition |
| 21:06:55 | <monochrom> | How does Scheme get incorrect answers? |
| 21:07:13 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 21:07:13 | <davean> | monochrom: because of its promotion and the float issues. |
| 21:07:27 | <davean> | it losses the properties that makes + be addition |
| 21:07:33 | <EvanR> | no true addition fallacy? xD |
| 21:07:41 | <davean> | No, but there is a definition of addition |
| 21:07:43 | <EvanR> | it's already broken for floats |
| 21:07:48 | <ski> | (inexacts ?) |
| 21:07:50 | <EvanR> | and arguably for ints |
| 21:07:53 | <davean> | Yes, it is always broken for floats. |
| 21:08:43 | <EvanR> | otoh to use your logic from before, + sometimes gives the right answer, therefore + is actually addition after all |
| 21:09:01 | <monochrom> | In Scheme if you + two integers it still stays within integers, it is not converted to float, this is Scheme not javascript or Applesoft BASIC. |
| 21:09:04 | <davean> | EvanR: No my logic from before was it *always* gives you the correct answer |
| 21:09:23 | <EvanR> | the logic from before was that int is a subset of float because it sometimes is |
| 21:09:24 | <davean> | monochrom: 1*f/f = ? |
| 21:09:46 | <davean> | EvanR: No, in the cases that it is a subset of Float it always is and thus it works for those designs |
| 21:10:01 | <monochrom> | Shrug IMO this is getting unnecessarily pedantic. |
| 21:10:16 | <EvanR> | that + sometimes works is actually more useful to be true |
| 21:10:27 | <EvanR> | because you can control that usually |
| 21:10:40 | <davean> | EvanR: you can control the Int thing too - its a very classic approach |
| 21:10:43 | <davean> | Esp in like GPU coding |
| 21:10:44 | <EvanR> | like using dyadic rationals in your algorithm |
| 21:11:33 | <EvanR> | or assuming something about the input |
| 21:14:24 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 21:15:58 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:16:24 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 21:18:12 | × | Batzy quits (~quassel@user/batzy) (Ping timeout: 248 seconds) |
| 21:19:48 | × | titibandit quits (~titibandi@xdsl-87-78-8-6.nc.de) (Remote host closed the connection) |
| 21:22:04 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 21:22:34 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 21:24:12 | × | caryhartline quits (~caryhartl@2600:1700:2d0:8d30:6cc5:fd4d:6712:aa2c) (Quit: caryhartline) |
| 21:28:47 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 21:29:04 | × | ft quits (~ft@p508dbd59.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 21:29:31 | × | nucranium quits (~nucranium@2a02:8010:6173:0:8102:5ccd:28d9:3575) (Quit: WeeChat 3.5) |
| 21:30:28 | → | ft joins (~ft@p508dbd59.dip0.t-ipconnect.de) |
| 21:31:10 | → | nate4 joins (~nate@98.45.169.16) |
| 21:35:49 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 21:37:14 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 21:38:59 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 21:39:14 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 21:39:15 | → | jlgw joins (~jw@83-233-104-81.cust.bredband2.com) |
| 21:39:48 | × | Guest75 quits (~Guest75@178.141.177.81) (Ping timeout: 260 seconds) |
| 21:41:40 | × | danza quits (~francesco@45.red-79-153-2.dynamicip.rima-tde.net) (Ping timeout: 260 seconds) |
| 21:45:34 | → | barak joins (~barak@2a0d:6fc2:68c0:8900:b543:1b85:720f:c15) |
| 21:47:16 | → | acidjnk_new joins (~acidjnk@p200300d6e7137a80d16563246cd9a30d.dip0.t-ipconnect.de) |
| 21:48:28 | × | acidjnk quits (~acidjnk@p200300d6e7137a3425e17e6c3d2393a2.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 21:53:24 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:53:55 | × | jtomas quits (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 260 seconds) |
| 21:57:49 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) |
| 22:00:42 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 22:02:40 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3d74:5eb7:3590:2ac6) (Ping timeout: 260 seconds) |
| 22:03:13 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 22:05:17 | × | califax quits (~califax@user/califx) (Ping timeout: 255 seconds) |
| 22:05:23 | → | califax_ joins (~califax@user/califx) |
| 22:05:29 | → | ph88 joins (~ph88@2a02:8109:9e00:71d0:3734:2921:799c:a285) |
| 22:06:39 | califax_ | is now known as califax |
| 22:07:29 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 22:09:22 | → | caryhartline joins (~caryhartl@2603-8080-6a0e-8d88-e0ea-627d-a5d6-46f6.res6.spectrum.com) |
| 22:09:43 | × | caryhartline quits (~caryhartl@2603-8080-6a0e-8d88-e0ea-627d-a5d6-46f6.res6.spectrum.com) (Client Quit) |
| 22:11:36 | × | irrgit quits (~irrgit@146.70.27.218) (Quit: Leaving) |
| 22:16:03 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:21:41 | → | coot joins (~coot@213.134.171.3) |
| 22:21:57 | × | michalz quits (~michalz@185.246.207.217) (Remote host closed the connection) |
| 22:26:14 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 260 seconds) |
| 22:26:33 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 22:27:20 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 22:29:00 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 22:30:03 | → | malte joins (~malte@mal.tc) |
| 22:37:19 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 22:42:28 | × | coot quits (~coot@213.134.171.3) (Quit: coot) |
| 22:47:51 | → | hays joins (rootvegeta@fsf/member/hays) |
| 22:48:17 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 22:49:08 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:52:03 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 22:54:14 | × | chomwitt quits (~chomwitt@2a02:587:7a0a:c00:1ac0:4dff:fedb:a3f1) (Ping timeout: 252 seconds) |
| 22:57:09 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 260 seconds) |
| 22:58:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 23:01:49 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 23:02:27 | × | finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer) |
| 23:05:00 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 23:06:31 | → | causal joins (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0d) |
| 23:07:38 | → | abhiroop joins (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 23:09:59 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 23:10:06 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 23:10:55 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::4b68) (Ping timeout: 260 seconds) |
| 23:11:26 | × | ph88 quits (~ph88@2a02:8109:9e00:71d0:3734:2921:799c:a285) (Quit: Leaving) |
| 23:17:00 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 23:19:07 | × | thyriaen quits (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Quit: Leaving) |
| 23:21:30 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:23:29 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::4b68) |
| 23:26:19 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 23:26:49 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 23:26:55 | × | causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0d) (Ping timeout: 252 seconds) |
| 23:28:25 | × | vn36 quits (~vn36@123.63.203.210) (Ping timeout: 260 seconds) |
| 23:31:29 | → | freeside_ joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 23:32:44 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 23:34:29 | × | ft quits (~ft@p508dbd59.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 23:36:10 | → | ft joins (~ft@p508dbd59.dip0.t-ipconnect.de) |
| 23:38:50 | × | zeenk quits (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!) |
| 23:40:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:40:18 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 23:40:21 | → | causal joins (~user@50.35.83.177) |
| 23:40:54 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
| 23:43:14 | × | libertyprime quits (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 23:43:29 | → | libertyprime joins (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
| 23:49:48 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 23:50:30 | → | ygsjg joins (~quassel@189.124.224.160) |
| 23:52:05 | × | acidjnk_new quits (~acidjnk@p200300d6e7137a80d16563246cd9a30d.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 23:52:08 | → | thegeekinside joins (~thegeekin@189.180.92.220) |
| 23:53:55 | → | zero joins (~z@user/zero) |
| 23:55:15 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 23:57:23 | × | yin quits (~z@user/zero) (Ping timeout: 268 seconds) |
All times are in UTC on 2022-11-07.