Logs on 2022-08-31 (liberachat/#haskell)
| 00:02:33 | <segfaultfizzbuzz> | https://images.anandtech.com/doci/16924/TElumsystems.jpg here is IBM talking about a 32GB cache shared across 32 chips (!) |
| 00:02:37 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 252 seconds) |
| 00:03:15 | <segfaultfizzbuzz> | but that is "L4 cache" (lol wat) |
| 00:03:49 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 00:04:14 | → | califax joins (~califax@user/califx) |
| 00:04:14 | <geekosaur> | you can have as many levels as you're willing to pay for. whether they're worth it may be another question |
| 00:05:20 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.6) |
| 00:07:52 | <qrpnxz> | i think if your main memory is in the terabytes as these cpu can go, L4 have a place |
| 00:07:55 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 00:10:04 | → | Midjak joins (~Midjak@82.66.147.146) |
| 00:19:29 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 00:22:07 | × | emad quits (~emad@156.214.126.109) (Quit: Leaving) |
| 00:25:43 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 00:27:05 | × | nilradical quits (~nilradica@user/naso) () |
| 00:28:05 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 00:28:44 | → | rockystone joins (~rocky@user/rockymarine) |
| 00:31:41 | × | dsrt^ quits (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) (Ping timeout: 255 seconds) |
| 00:35:01 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 00:35:09 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 00:42:40 | × | PiDelport quits (uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 00:46:09 | × | luffy quits (~chenqisu1@183.217.201.192) (Ping timeout: 268 seconds) |
| 00:47:27 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 00:47:47 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 00:56:31 | × | foul_owl quits (~kerry@23.82.194.109) (Ping timeout: 252 seconds) |
| 00:59:08 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
| 00:59:37 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 01:01:51 | × | kannon quits (~NK@74-95-14-193-SFBA.hfc.comcastbusiness.net) (Ping timeout: 260 seconds) |
| 01:02:19 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 01:02:49 | × | inversed quits (~inversed@90.209.137.56) (Ping timeout: 268 seconds) |
| 01:04:00 | → | coady joins (~coady@103.214.45.49) |
| 01:05:48 | → | dsrt^ joins (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) |
| 01:10:22 | → | foul_owl joins (~kerry@174-21-65-36.tukw.qwest.net) |
| 01:10:47 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:03 | × | xff0x quits (~xff0x@2405:6580:b080:900:e0cc:5d40:3d2b:1c07) (Ping timeout: 248 seconds) |
| 01:14:10 | × | coady quits (~coady@103.214.45.49) (Quit: WeeChat 3.0) |
| 01:16:55 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:20:17 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 01:23:10 | × | dsrt^ quits (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) (Ping timeout: 268 seconds) |
| 01:23:25 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 01:23:43 | → | biberu joins (~biberu@user/biberu) |
| 01:24:15 | → | dsrt^ joins (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) |
| 01:24:27 | × | talismanick quits (~talismani@2601:200:c100:3850::dd64) (Ping timeout: 244 seconds) |
| 01:26:38 | → | finsternis joins (~X@23.226.237.192) |
| 01:27:19 | × | alexd quits (~nineonine@50.216.62.10) (Ping timeout: 252 seconds) |
| 01:30:40 | → | jargon joins (~jargon@184.101.185.66) |
| 01:36:44 | × | dsrt^ quits (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) (Ping timeout: 268 seconds) |
| 01:37:45 | → | dsrt^ joins (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) |
| 01:43:03 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
| 01:56:10 | → | Alex_test_ joins (~al_test@178.34.163.186) |
| 01:56:25 | → | frost joins (~frost@user/frost) |
| 01:57:45 | × | Alex_test quits (~al_test@178.34.163.186) (Ping timeout: 252 seconds) |
| 01:58:25 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:58:56 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds) |
| 02:00:26 | → | nate4 joins (~nate@98.45.169.16) |
| 02:07:19 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds) |
| 02:10:27 | → | bontaq` joins (~user@ool-45779fe5.dyn.optonline.net) |
| 02:18:47 | → | inversed joins (~inversed@90.209.137.56) |
| 02:26:55 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 02:27:06 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 02:31:23 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 02:31:23 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds) |
| 02:33:34 | → | luffy joins (~chenqisu1@183.217.201.192) |
| 02:33:44 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 02:34:11 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 02:35:14 | × | kimjetwav quits (~user@2607:fea8:235e:b600:69c4:d208:cb71:54a6) (Ping timeout: 244 seconds) |
| 02:41:57 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:43:24 | × | mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
| 02:43:57 | × | vglfr quits (~vglfr@145.224.94.248) (Ping timeout: 252 seconds) |
| 02:44:00 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 02:44:36 | → | mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001) |
| 02:47:15 | × | td_ quits (~td@94.134.91.35) (Ping timeout: 252 seconds) |
| 02:47:38 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 02:48:36 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 02:49:07 | → | td_ joins (~td@94.134.91.66) |
| 02:49:23 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 02:49:57 | → | vglfr joins (~vglfr@145.224.94.248) |
| 02:52:52 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:53:26 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 02:53:50 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
| 02:55:12 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 02:55:31 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:55:31 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:55:31 | finn_elija | is now known as FinnElija |
| 02:57:02 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 02:58:28 | → | king_gs joins (~Thunderbi@2806:103e:29:58a3:1594:b5e0:74f3:c774) |
| 02:58:42 | → | mikoto-chan joins (~mikoto-ch@164.5.249.78) |
| 02:59:41 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 03:04:11 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:17:14 | × | poscat quits (~poscat@2408:8206:4821:e39f:4e35:ebbb:112a:d1b7) (Quit: Bye) |
| 03:18:56 | <qrpnxz> | i can use `effectful` effects to track object lifetimes lol. This is epic honestly. |
| 03:19:28 | → | poscat joins (~poscat@114.245.109.80) |
| 03:21:05 | → | rockystone joins (~rocky@user/rockymarine) |
| 03:23:24 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 03:24:04 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 03:26:40 | → | Sgeo_ joins (~Sgeo@user/sgeo) |
| 03:27:06 | × | Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 268 seconds) |
| 03:30:23 | × | Kaiepi quits (~Kaiepi@142.68.249.28) (Read error: Connection reset by peer) |
| 03:31:40 | → | Kaiepi joins (~Kaiepi@142.68.249.28) |
| 03:34:21 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 03:34:27 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:35:28 | → | Ailrk joins (~Ailrk@2604:3d08:9578:cd70:642:1aff:fe0a:2504) |
| 03:35:37 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:40:01 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 03:40:36 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:41:12 | → | sp0ok joins (~sp0ok@2603-8000-d201-0802-7c61-092a-1d36-ce0b.res6.spectrum.com) |
| 03:41:19 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 03:44:20 | <Clinton[m]> | Is there anyway to have constraints in a `cabal.project` file which are only triggered upon passing a flag? I basically have a project which has about a dozen packages and I want to pass a `cabal build all --flag dev` (or something of that effect) which turns off a bunch of warnings/stops "typed holes" from giving an error in "development mode", whilst the build itself it still fairly strict. |
| 03:44:28 | × | king_gs quits (~Thunderbi@2806:103e:29:58a3:1594:b5e0:74f3:c774) (Ping timeout: 244 seconds) |
| 03:45:11 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 03:46:13 | <glguy> | Clinton[m]: you can have multiple project files and then specify which one to use with the --project-file flag |
| 03:47:41 | <Clinton[m]> | glguy: Ah, I was hoping to avoid the copy pasta |
| 03:48:21 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:48:28 | → | nate4 joins (~nate@98.45.169.16) |
| 03:49:10 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.5) |
| 03:51:56 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 03:52:18 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 03:52:46 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 03:52:53 | → | causal joins (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) |
| 03:52:55 | <qrpnxz> | yes you can do flags one sec |
| 03:54:02 | <glguy> | https://cabal.readthedocs.io/en/stable/cabal-project.html#conditionals-and-imports -- As of cabal-install version 3.8, cabal supports conditional logic and imports in cabal.project files. Conditions in cabal may case on operating system, architecture, and compiler (i.e. there is no support for a notion of custom flags in project files). |
| 03:54:05 | <qrpnxz> | Clinton[m]: example https://paste.tomsmeding.com/F8t2qwI9 |
| 03:54:18 | <glguy> | qrpnxz: that's something else |
| 03:54:28 | <qrpnxz> | it's functionally exactly what he needs far i can tell |
| 03:54:36 | <qrpnxz> | syntax is a minor detail |
| 03:54:43 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 03:54:47 | <sclv> | Clinton[m]: you can avoid copypasta with includes |
| 03:58:50 | <glguy> | qrpnxz: it's not a syntax thing, it's a level of abstraction thing, one works at the project workspace and the other is per package |
| 03:59:45 | <qrpnxz> | i didn't see anything about doing per package in the question |
| 03:59:49 | <qrpnxz> | but sure |
| 04:05:40 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 04:06:35 | <Clinton[m]> | sclv: are you saying I can avoid copypastaering the list of warnings I'm turning off in each package library/test/executable in each `.cabal` file? |
| 04:06:42 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 04:07:09 | → | nate4 joins (~nate@98.45.169.16) |
| 04:07:54 | <Clinton[m]> | sclv: like this? https://cabal.readthedocs.io/en/3.4/cabal-package.html#autogenerated-modules-and-includes |
| 04:08:27 | <sclv> | You can turn them off in the project file. Im suggesting you can have a shared common project file and turn off them in a special file that first imports the shared one |
| 04:12:08 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 04:12:11 | <Clinton[m]> | sclv: I'm not following sorry. Let's keep it simple. I've got `cabal.project` and `mypackage1.cabal`, `mypackage2.cabal`, ... , `mypackage9.cabal`. I want to add `-O0` and `-Wno-unused-imports` to my dev build. I want the "packages" built by my "dev" build to be ignored by my "proper" build. That is I don't want packages compiled with `-O0` to be mixed with those compiled with `-O0`. What should I be doing here? |
| 04:12:35 | <Clinton[m]> | * to my "dev, * dev" build. |
| 04:12:44 | <Clinton[m]> | * I'm not following sorry. Let's keep it simple. I've got `cabal.project` and `mypackage1.cabal`, `mypackage2.cabal`, ... , `mypackage9.cabal`. I want to add `-O0` and `-Wno-unused-imports` to my "dev" build. I want the "packages" built by my "dev" build to be ignored by my "proper" build. That is I don't want packages compiled with `-O0` to be mixed with those compiled with `-O1`. What should I be doing here? |
| 04:13:06 | <Clinton[m]> | * I'm not following sorry. Let's keep it simple. I've got `cabal.project` and `mypackage1.cabal`, `mypackage2.cabal`, ... , `mypackage9.cabal`. I want to add `-O0` and `-Wno-unused-imports` to my "dev" build. I want the "packages" built by my "dev" build to be ignored by my "proper" build. That is I don't want packages compiled with `-O0` without warnings/errors to be mixed with those compiled with `-O1` with the full warning/error set. |
| 04:13:06 | <Clinton[m]> | What should I be doing here? |
| 04:13:34 | <sclv> | Create a second project file. Import the first and for each package add the ghc flags. Now you can use the first project file or the second, |
| 04:14:05 | <sclv> | cabal won’t let the two build products mix. |
| 04:14:21 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 04:14:24 | <Clinton[m]> | sclv: ah, gotcha. So I need to copypasta `-O0 -Wno-unused-imports` under a flag in EVERY `.cabal` file? |
| 04:14:39 | <sclv> | No. Put them in the project file! |
| 04:15:04 | <sclv> | Project files let you set ghc options for packages |
| 04:15:58 | <Clinton[m]> | sclv: as in just put a `ghc-options` clause at the top level of the `cabal.project` file? |
| 04:16:03 | → | Sgeo__ joins (~Sgeo@user/sgeo) |
| 04:16:56 | <sclv> | I think. You might need to put it under a clause for each package. Don’t recall the semantics offhand, they’ve been goofy and fixed recently. |
| 04:17:45 | <Clinton[m]> | sclv: `Unrecognized field 'ghc-options'` |
| 04:19:30 | <glguy> | https://cabal.readthedocs.io/en/stable/cabal-project.html#package-configuration-options |
| 04:19:30 | <Clinton[m]> | sclv: my packages are listed like in my `cabal.project` file:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/b59e29c28ca9d85f4244de3b853968b8ec4bf416) |
| 04:19:50 | × | Sgeo_ quits (~Sgeo@user/sgeo) (Ping timeout: 255 seconds) |
| 04:20:19 | <sclv> | right, let me find you an example |
| 04:20:48 | <sclv> | https://github.com/haskell/cabal/blob/master/cabal.project |
| 04:21:06 | <sclv> | so for each local package you have a stanza and then you put the options under it |
| 04:21:22 | <sclv> | You mgiht be able to say "package *" for all local packages, but i don't recall. |
| 04:21:36 | <Clinton[m]> | sclv: so there is a copypasta but at least it's all in one file. |
| 04:21:45 | <sclv> | and if you say "package *" then there's no copypasta |
| 04:21:57 | <sclv> | just "package * \n\t ghc-options: etc" |
| 04:22:35 | <sclv> | that's the goofy semantics bit -- the current documentation should explain. it at times meant "all packages, not just local ones" but that might have been fixed |
| 04:22:42 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 04:22:44 | <Clinton[m]> | sclv: I think `package *` applies to external packages though (according to glguy 's link) which I don't _think_ I want, although perhaps it doesn't matter much |
| 04:23:07 | <sclv> | right, so then you need to list them all, but yeah, its all in one place and you don't need extra flags and stuff |
| 04:24:43 | <sclv> | i'm sort of surprised you can't just say "ghc-options: " at the top level, since that's what the docs suggest should work, and then apply to all local packages only |
| 04:24:53 | <Clinton[m]> | hang on, the documentation glguy has linked to https://cabal.readthedocs.io/en/stable/cabal-project.html#package-configuration-options suggests that I should be able to just put `ghc-options` at the top level of my `cabal.project` file (outside of any package stanza) and have that apply to all *local* packages |
| 04:25:00 | <sclv> | right |
| 04:25:15 | <Clinton[m]> | * sclv: hang on, the documentation glguy has linked to https://cabal.readthedocs.io/en/stable/cabal-project.html#package-configuration-options suggests that I should be able to just put `ghc-options` at the top level of my `cabal.project` file (outside of any package stanza) and have that apply to all _local_ packages |
| 04:25:23 | <Clinton[m]> | sclv: we had the same thought at the same time |
| 04:28:01 | <Clinton[m]> | sclv: and how do I import the base `cabal.project` file? I presume I need something like `cabal_dev.project` which contains "import cabal.project" (shrugs) |
| 04:29:00 | <glguy> | section 7.1 |
| 04:30:34 | → | steve[m]1 joins (~stevetrou@2001:470:69fc:105::e0b) |
| 04:31:46 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 04:32:15 | <Clinton[m]> | glguy: I can't see anything in 7.1 about importing other `cabal.project` files. Sure it's not in a subsection of `7.1`, say `7.1.X` for some `X`? Or have I just missed it in `7.1`? |
| 04:33:16 | <Clinton[m]> | glguy: you talking about here? https://cabal.readthedocs.io/en/3.6/cabal-package.html#creating-a-package |
| 04:33:34 | <glguy> | Ah, you're on an old version of the docs |
| 04:34:51 | <Clinton[m]> | glguy: ah, gotcha. Does only Cabal 3.8 support top level `ghc-options` as well? https://cabal.readthedocs.io/en/3.8/cabal-project.html#conditionals-and-imports |
| 04:35:35 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 04:36:08 | → | king_gs joins (~Thunderbi@187.201.19.107) |
| 04:37:27 | <glguy> | I tried and it didn't seem to support top-level ghc-options, unfortunately |
| 04:37:32 | <glguy> | but it's possible I tried wrong somehow |
| 04:41:49 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
| 04:46:43 | <Clinton[m]> | ah, to do the imports I need Cabal 3.8 which looks like it's pretty recently released |
| 04:47:01 | <Clinton[m]> | * glguy: ah, to |
| 04:47:09 | × | luffy quits (~chenqisu1@183.217.201.192) (Ping timeout: 252 seconds) |
| 04:52:30 | <Clinton[m]> | glguy: looks like this is what one needs to do: https://github.com/haskell/cabal/pull/7973 |
| 04:53:07 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 04:54:02 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 04:54:56 | × | king_gs quits (~Thunderbi@187.201.19.107) (Read error: Connection reset by peer) |
| 04:56:17 | × | sp0ok quits (~sp0ok@2603-8000-d201-0802-7c61-092a-1d36-ce0b.res6.spectrum.com) (Ping timeout: 244 seconds) |
| 04:56:21 | → | king_gs joins (~Thunderbi@2806:103e:29:58a3:1594:b5e0:74f3:c774) |
| 04:57:38 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 05:00:07 | → | mbuf joins (~Shakthi@49.204.120.6) |
| 05:02:29 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 05:04:25 | → | nate4 joins (~nate@98.45.169.16) |
| 05:06:38 | → | radhika joins (uid560836@id-560836.helmsley.irccloud.com) |
| 05:07:24 | → | rockystone joins (~rocky@user/rockymarine) |
| 05:07:59 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 255 seconds) |
| 05:10:41 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 05:12:05 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 05:17:22 | → | Volt_ joins (~Volt_@c-73-167-119-209.hsd1.ma.comcast.net) |
| 05:18:25 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 05:21:00 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 05:23:17 | → | coot joins (~coot@213.134.176.158) |
| 05:24:38 | × | aeka quits (~aeka@user/hiruji) (Ping timeout: 255 seconds) |
| 05:29:21 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 05:35:40 | × | Volt_ quits (~Volt_@c-73-167-119-209.hsd1.ma.comcast.net) (Quit: ) |
| 05:36:12 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:38:45 | → | zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
| 05:42:05 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 05:45:30 | → | eikke joins (~NicolasT@user/NicolasT) |
| 05:46:31 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 05:47:43 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 05:49:26 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 05:57:33 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 05:57:34 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 05:58:18 | → | cheater joins (~Username@user/cheater) |
| 06:00:23 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 06:01:20 | → | aeka joins (~aeka@2606:6080:2001:6:e14e:c3f3:8562:6916) |
| 06:04:36 | × | bgamari quits (~bgamari@64.223.130.166) (Ping timeout: 260 seconds) |
| 06:06:06 | → | bgamari joins (~bgamari@64.223.132.120) |
| 06:08:53 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 06:10:24 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 06:15:31 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 06:16:50 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 06:16:50 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds) |
| 06:17:30 | → | rockystone joins (~rocky@user/rockymarine) |
| 06:17:52 | → | michalz joins (~michalz@185.246.204.65) |
| 06:20:36 | → | ccntrq joins (~Thunderbi@172.209.94.92.rev.sfr.net) |
| 06:27:21 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 06:28:24 | × | jespada quits (~jespada@cpc121060-nmal24-2-0-cust249.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:28:56 | → | rockystone joins (~rocky@user/rockymarine) |
| 06:29:24 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 06:29:57 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:33:25 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 06:33:29 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 06:35:27 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 06:38:02 | × | biberu quits (~biberu@user/biberu) (Quit: ZNC - https://znc.in) |
| 06:40:32 | → | akegalj joins (~akegalj@109.60.126.91) |
| 06:41:38 | → | toeffel joins (~toeffel@user/toeffel) |
| 06:41:51 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:43:41 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds) |
| 06:48:41 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:390c:d915:a3eb:2597) |
| 06:49:35 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 06:53:04 | → | nate4 joins (~nate@98.45.169.16) |
| 06:54:48 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 06:57:41 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 07:00:09 | × | bontaq` quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
| 07:01:44 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 07:03:25 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 07:09:02 | <Axman6> | how do I run ghci with cabal, and tell it on the command line to add a package as a dependency? it starts find when I do cabal repl --build-depends foo but then it tells me that modules from foo are hidden and I need to add it as a build-depend |
| 07:09:54 | × | Sgeo__ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:10:23 | → | titibandit joins (~titibandi@xdsl-87-78-66-58.nc.de) |
| 07:10:39 | <sclv> | that should work. unless the package is already in the global db possibly. |
| 07:11:14 | <Axman6> | yeah it probably is |
| 07:11:31 | <Axman6> | I did a cabal install foo, out of old habits |
| 07:12:03 | <sclv> | oh its a global env file possibly! |
| 07:12:38 | <sclv> | depending if it was a v1 or v2 install. see if ghci says its using an env file… |
| 07:14:26 | × | foul_owl quits (~kerry@174-21-65-36.tukw.qwest.net) (Ping timeout: 255 seconds) |
| 07:16:13 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 07:16:24 | × | radhika quits (uid560836@id-560836.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:17:02 | → | chele joins (~chele@user/chele) |
| 07:17:48 | → | rockystone joins (~rocky@user/rockymarine) |
| 07:22:25 | × | cheater quits (~Username@user/cheater) (Quit: BitchX: don't leave home without it!) |
| 07:23:13 | → | cheater joins (~Username@user/cheater) |
| 07:23:15 | → | foul_owl joins (~kerry@174-21-65-36.tukw.qwest.net) |
| 07:23:31 | → | acidjnk joins (~acidjnk@p200300d6e7137a348c7fe01a0065d5f9.dip0.t-ipconnect.de) |
| 07:23:43 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 07:23:48 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 07:26:08 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 07:26:45 | → | slac66106 joins (~slack1256@191.126.99.94) |
| 07:27:11 | × | jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:28:50 | × | slack1256 quits (~slack1256@186.11.99.53) (Ping timeout: 255 seconds) |
| 07:30:43 | → | CiaoSen joins (~Jura@p200300c9572e65002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 07:32:06 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 07:34:23 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 244 seconds) |
| 07:38:37 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Read error: Connection reset by peer) |
| 07:38:37 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer) |
| 07:38:37 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Write error: Connection reset by peer) |
| 07:38:37 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Write error: Connection reset by peer) |
| 07:38:37 | × | califax quits (~califax@user/califx) (Read error: Connection reset by peer) |
| 07:39:05 | → | califax joins (~califax@user/califx) |
| 07:39:08 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 07:39:08 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 07:39:27 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 07:40:29 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 07:42:48 | <dminuoso> | How can you configure extensions with lambdabot? |
| 07:44:38 | → | Guest4971 joins (~david@2a01:e34:ec2b:d430:44a:f5ca:9867:d69d) |
| 07:46:21 | → | fserucas joins (~fserucas@89.214.116.132) |
| 07:46:59 | <merijn> | Isn't there, like, a L.hs that gets auto-loaded? |
| 07:53:30 | × | slac66106 quits (~slack1256@191.126.99.94) (Ping timeout: 244 seconds) |
| 07:53:46 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 07:54:03 | → | razetime joins (~quassel@117.254.35.85) |
| 07:54:43 | × | toeffel quits (~toeffel@user/toeffel) (Quit: quit) |
| 07:55:47 | → | kuribas joins (~user@silversquare.silversquare.eu) |
| 07:56:19 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:57:14 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:58:11 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 08:02:20 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 08:03:22 | × | kuribas quits (~user@silversquare.silversquare.eu) (Ping timeout: 268 seconds) |
| 08:05:16 | <c_wraith> | L.hs is modified when someone uses @define |
| 08:05:31 | <c_wraith> | the base is Pristine.hs |
| 08:07:24 | → | toeffel joins (~toeffel@user/toeffel) |
| 08:08:08 | → | jespada joins (~jespada@194.73.88.114) |
| 08:08:28 | <dminuoso> | @define {-# LANGUAGE NoPolyKinds #-} |
| 08:08:29 | <lambdabot> | Defined. |
| 08:08:38 | <dminuoso> | @define {-# LANGUAGE NoDataKinds #-} |
| 08:08:39 | <lambdabot> | Defined. |
| 08:08:43 | <dminuoso> | :k "foo" |
| 08:08:44 | <lambdabot> | Symbol |
| 08:09:36 | × | jespada quits (~jespada@194.73.88.114) (Read error: Connection reset by peer) |
| 08:12:43 | → | rockystone joins (~rocky@user/rockymarine) |
| 08:16:57 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 08:19:19 | → | jespada joins (~jespada@89.238.176.168) |
| 08:20:14 | × | Ailrk quits (~Ailrk@2604:3d08:9578:cd70:642:1aff:fe0a:2504) (Ping timeout: 252 seconds) |
| 08:20:33 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 08:21:56 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 08:22:49 | × | tzh_ quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:24:25 | × | titibandit quits (~titibandi@xdsl-87-78-66-58.nc.de) (Remote host closed the connection) |
| 08:26:30 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 08:29:34 | Guest4971 | is now known as bbear |
| 08:31:04 | → | alternateved joins (~user@staticline-31-183-146-203.toya.net.pl) |
| 08:32:11 | → | luffy joins (~chenqisu1@183.217.201.192) |
| 08:34:51 | → | Pickchea joins (~private@user/pickchea) |
| 08:38:23 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 08:39:19 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 08:39:27 | → | Inst__ joins (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) |
| 08:40:55 | → | zaquest joins (~notzaques@5.130.79.72) |
| 08:41:20 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 08:42:35 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
| 08:42:36 | × | Inst_ quits (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) (Ping timeout: 244 seconds) |
| 08:45:36 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 08:50:04 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 08:54:28 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 08:57:05 | <akegalj> | if I have a strict let binding "let !x = something" and I use x on multiple places within a function, with GHC am I guaranteed that x will be evaluated only once? |
| 08:59:07 | → | wonko_ joins (~wjc@2a0e:1c80:2::130) |
| 09:00:24 | × | frost quits (~frost@user/frost) (Quit: Client closed) |
| 09:01:25 | <akegalj> | or that means x will be evaluated many times |
| 09:02:38 | <opqdonut> | the basic rule of haskell is that a name is evaluated at most once |
| 09:02:47 | <opqdonut> | strictness annotations don't change that |
| 09:03:48 | <akegalj> | opqdonut: thanks! |
| 09:03:50 | → | frost joins (~frost@user/frost) |
| 09:04:02 | × | braf quits (~braf@58.84.143.92) (Quit: Client closed) |
| 09:07:28 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 09:07:30 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 09:09:20 | <merijn> | It depends on how strong you want your guarantees, tbh :p |
| 09:11:53 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 09:12:52 | → | __monty__ joins (~toonn@user/toonn) |
| 09:20:38 | → | andreabedini joins (~andreabed@host-87-18-207-240.retail.telecomitalia.it) |
| 09:24:27 | × | king_gs quits (~Thunderbi@2806:103e:29:58a3:1594:b5e0:74f3:c774) (Quit: king_gs) |
| 09:25:16 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 09:26:47 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 09:28:28 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 09:29:45 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 09:30:01 | <dminuoso> | opqdonut: *the basic rule of GHC |
| 09:30:27 | <dminuoso> | I know this is a bit of nitpicking, but its only a mild guarantee that GHC gives |
| 09:30:57 | <dminuoso> | It is a bit curious that we do not have an explicit sharing control |
| 09:31:49 | <dminuoso> | Im not even sure how well this assertion holds in reality, given that GHC can just inline a definition anyway. |
| 09:33:14 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 09:33:40 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 09:34:50 | → | alternateved joins (~user@staticline-31-183-146-203.toya.net.pl) |
| 09:35:02 | ← | Benzi-Junior parts (~BenziJuni@dsl-149-67-162.hive.is) (WeeChat 3.0) |
| 09:35:17 | <opqdonut> | dminuoso: I know the semantics of haskell are a bit ill-defined but https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-440003.12 seems to support my claim |
| 09:36:06 | <merijn> | opqdonut: Eh, sharing is intentionally not part of Haskell's semantics |
| 09:36:15 | <merijn> | So I disagree the semantics are "ill-defined" here |
| 09:36:29 | <opqdonut> | yeah sorry, "under-defined" |
| 09:36:41 | <dminuoso> | opqdonut: Which portion are you referring to in particular? |
| 09:36:45 | <merijn> | I would take issue witht that too |
| 09:36:46 | <merijn> | :p |
| 09:37:29 | <opqdonut> | dminuoso: the translation of a single let to case, but now that I think about it I guess I was thinking about GHC's case which drives evaluation |
| 09:37:40 | <opqdonut> | maybe the case doesn't mean anything here |
| 09:38:21 | <merijn> | opqdonut: definitions might be floated out or duplicated into sub-expressions |
| 09:38:37 | <merijn> | opqdonut: Let's rewind and ask: Why do you care 'x' will only be evaluated once? |
| 09:38:42 | <dminuoso> | That doesnt really mean anything. In fact, GHC will aggressively transform case-of via different simplifier passes to enable inlining |
| 09:39:27 | <dminuoso> | I guess if you want to ensure you get sharing, you have to put a `{-# NOINLINE ... #-}` at it |
| 09:39:56 | <dminuoso> | Recall, you need to do this for global iorefs for precisely the same reason too |
| 09:40:42 | <dminuoso> | i.e.: {-# NOINLINE foo #-} foo :: IORef Int; foo = unsafePerformIO (newIORef 0) |
| 09:41:13 | <dminuoso> | (The fact that it has a name is not enough of a guarantee that GHC wont inline it) |
| 09:42:09 | <merijn> | In reality, GHC's guarantees are "good enough" for when you're not doing stupid things. And there's no way to get the guarantees you need to safe you if you *are* doing stupid things :p |
| 09:42:16 | <dminuoso> | opqdonut: In particular, consider case-of-case which can duplicate case branches. |
| 09:42:57 | <dminuoso> | Which in turn allows for let-floating, which again can enable further inlining |
| 09:45:37 | × | cheater quits (~Username@user/cheater) (Ping timeout: 244 seconds) |
| 09:46:00 | → | cheater joins (~Username@user/cheater) |
| 09:46:21 | × | dsrt^ quits (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) (Ping timeout: 252 seconds) |
| 09:47:04 | → | dsrt^ joins (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) |
| 09:47:43 | <opqdonut> | merijn: right, yeah |
| 09:48:19 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:48:19 | <merijn> | opqdonut: In *principle* anything with a name will be evaluated (at most) once |
| 09:48:32 | <opqdonut> | yeah that's what I want to tell students |
| 09:48:35 | <merijn> | In reality there's a billion complicated interactions in the optimiser that *may* invalidate that |
| 09:48:53 | <merijn> | But as a first approximation "at most once" is good enough unless people mess with unsafeX |
| 09:48:54 | <opqdonut> | dminuoso: you mean transforming a single big case into nested case-case? |
| 09:49:41 | <merijn> | opqdonut: i.e. GHC will only duplicate expressions where heuristics predicts it's cheaper to compute them multiple times than share, so for big computations that's unlikely to happen |
| 09:50:51 | → | nilradical joins (~nilradica@user/naso) |
| 09:53:53 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 09:55:56 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 09:59:03 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 09:59:16 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 09:59:55 | × | razetime quits (~quassel@117.254.35.85) (Ping timeout: 268 seconds) |
| 10:00:19 | → | razetime joins (~quassel@117.254.35.85) |
| 10:01:29 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 10:02:42 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:06:07 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 10:09:57 | → | sterni joins (~lukas@user/sterni) |
| 10:12:59 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 10:13:16 | ← | even4void[m] parts (~even4void@2001:470:69fc:105::2:4b9c) () |
| 10:20:44 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
| 10:20:47 | <Axman6> | akegalj: evaluating something generally means replacing what its name points to with its value |
| 10:21:45 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:24:31 | <akegalj> | Axman6: yes, thats clear. I was just curious if there are some edge cases where it might not be the case. Like the example with NOINLINING where some transformations might bi skipped and which in turn could change the bahaviour. The discussion above was very educational to me, so thanks all for time invested! |
| 10:25:27 | <akegalj> | (I said it wrong with NOINLINING above) |
| 10:27:06 | × | CiaoSen quits (~Jura@p200300c9572e65002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:27:07 | <akegalj> | What I wanted to say is that if I somehow force very aggresive INLINING (and possibly skip other optimizations) that I might end with some term being evaluated many times in GHC. That is the intition I got from discussion above |
| 10:27:47 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 252 seconds) |
| 10:30:36 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 10:31:59 | × | akegalj quits (~akegalj@109.60.126.91) (Ping timeout: 268 seconds) |
| 10:33:09 | × | bbear quits (~david@2a01:e34:ec2b:d430:44a:f5ca:9867:d69d) (Ping timeout: 244 seconds) |
| 10:36:53 | → | eikke joins (~NicolasT@user/NicolasT) |
| 10:38:48 | → | kuribas joins (~user@silversquare.silversquare.eu) |
| 10:39:55 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:40:51 | → | akegalj joins (~akegalj@141-136-145-110.dsl.iskon.hr) |
| 10:40:51 | × | akegalj quits (~akegalj@141-136-145-110.dsl.iskon.hr) (Client Quit) |
| 10:41:48 | → | akegalj joins (~akegalj@141-136-145-110.dsl.iskon.hr) |
| 10:46:23 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 255 seconds) |
| 10:46:48 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 10:50:38 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 10:51:14 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 10:54:34 | → | nate4 joins (~nate@98.45.169.16) |
| 10:55:45 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 10:56:56 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 10:57:02 | dcoutts_ | is now known as dcoutts |
| 10:57:12 | → | yvan-sraka joins (~yvan-srak@37.171.44.215) |
| 10:57:47 | × | yvan-sraka quits (~yvan-srak@37.171.44.215) (Remote host closed the connection) |
| 10:59:19 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 11:00:23 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 11:05:02 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 11:09:29 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:11:04 | → | xff0x joins (~xff0x@2405:6580:b080:900:1e7f:d8b4:4969:4ebb) |
| 11:14:21 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 11:19:23 | → | CiaoSen joins (~Jura@p200300c9572e65002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:22:23 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 11:34:54 | × | jespada quits (~jespada@89.238.176.168) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 11:37:06 | × | dsrt^ quits (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) (Ping timeout: 260 seconds) |
| 11:37:36 | → | dsrt^ joins (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) |
| 11:39:15 | → | Pickchea joins (~private@user/pickchea) |
| 11:49:15 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 11:50:37 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 11:50:42 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 11:53:35 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 11:55:14 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 11:56:56 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 12:01:01 | × | Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 260 seconds) |
| 12:02:22 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 12:03:32 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:07:17 | → | ETECbelem joins (~ETECbelem@2804:214:861b:5270:d9bd:4c36:7f92:a57c) |
| 12:07:27 | <ETECbelem> | hi |
| 12:07:30 | <ETECbelem> | bom dia |
| 12:07:38 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 12:10:32 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 12:19:23 | → | jespada joins (~jespada@185.195.232.155) |
| 12:22:47 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 12:24:04 | <akegalj> | Why is Int defined as `data Int = I# Int#`? If Int is defined as `type Int = #Int` or `newtype Int = Int #Int`, and then implemented all instances on that newtype or type, wouldn't that avoid extra pointer indirection that we get now with `data Int = I# Int#`? Wouldn't that avoid extra boxing/unboxing and thus be faster? What is the benefit of adding this pointer indirection? |
| 12:24:59 | <dminuoso> | akegalj: It's to faciliate lazyness |
| 12:25:03 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 12:25:24 | <dminuoso> | Also being unboxed can be very annoying in various places |
| 12:25:35 | <dminuoso> | :k Int# |
| 12:25:36 | <lambdabot> | error: |
| 12:25:36 | <lambdabot> | Not in scope: type constructor or class ‘Int#’ |
| 12:25:36 | <lambdabot> | Perhaps you meant one of these: |
| 12:25:37 | → | yvan-sraka joins (~yvan-srak@37.171.44.215) |
| 12:25:47 | <dminuoso> | @let import GHC.Int |
| 12:25:48 | <lambdabot> | Defined. |
| 12:25:50 | <dminuoso> | :k Int# |
| 12:25:51 | <lambdabot> | error: |
| 12:25:51 | <lambdabot> | Not in scope: type constructor or class ‘Int#’ |
| 12:25:51 | <lambdabot> | Perhaps you meant one of these: |
| 12:26:01 | <dminuoso> | @let import GHC.Exts |
| 12:26:02 | <kuribas> | akegalj: we want Int to be lazy. |
| 12:26:02 | <lambdabot> | /sandbox/tmp/.L.hs:132:1: error: |
| 12:26:02 | <lambdabot> | GHC.Exts: Can't be safely imported! The module itself isn't safe. |
| 12:26:02 | <lambdabot> | | |
| 12:26:28 | <dminuoso> | akegalj: If it was unboxed, you couldnt use it in most places. |
| 12:26:41 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 12:26:53 | <dminuoso> | Say `Maybe Int#` wouldn't be allowed |
| 12:26:57 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 12:27:08 | <akegalj> | dminuoso: because it has different kind, right ? |
| 12:27:16 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 12:27:31 | → | nilradical joins (~nilradica@user/naso) |
| 12:27:40 | <dminuoso> | Right |
| 12:28:04 | <kuribas> | @kind Int# |
| 12:28:05 | <lambdabot> | error: |
| 12:28:05 | <lambdabot> | Not in scope: type constructor or class ‘Int#’ |
| 12:28:05 | <lambdabot> | Perhaps you meant one of these: |
| 12:28:28 | <dminuoso> | akegalj: though, strictly speaking its not about being boxed or unboxed, but about lifted/unlifted. |
| 12:28:42 | <akegalj> | :k Int# -> Int# :: TYPE 'IntRep |
| 12:28:43 | <lambdabot> | error: |
| 12:28:43 | <lambdabot> | Not in scope: type constructor or class ‘Int#’ |
| 12:28:43 | <lambdabot> | Perhaps you meant one of these: |
| 12:29:13 | <dminuoso> | (This differentiation is, for the most part, moot. But there exist a few types that are boxed but unlifted.) |
| 12:31:10 | → | Colere joins (~colere@about/linux/staff/sauvin) |
| 12:31:28 | <akegalj> | dminuoso: my understanding is that lifted types can have bottom (like error/undefined), and undefined can't have bottom. So what you are saying is that unboxed type like Int# can't have bottom/error , right? So we couldn't define something like [Int#] ? |
| 12:32:15 | <akegalj> | "and Int# can't have bottom"* |
| 12:32:31 | <dminuoso> | Right. But the reason we cant have [Int#] is merely its kindness |
| 12:32:33 | <dminuoso> | % :k [] |
| 12:32:33 | <yahb2> | [] :: * -> * |
| 12:32:47 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 12:33:03 | <dminuoso> | Note that `*` is just `Type`, and `type Type = TYPE LiftedRep` |
| 12:33:11 | × | nilradical quits (~nilradica@user/naso) (Ping timeout: 252 seconds) |
| 12:33:17 | <dminuoso> | There's no deeper reason than "the type system does not allow for it" |
| 12:35:18 | <akegalj> | dminuoso: regarding rts, if we are operating on bindings/values of unlifted types like Int#, does that mean I can reason about them that no thunk will be created. so `let k = 1::Int# +# 2::Int#` will be evaluated strictly, right? |
| 12:35:51 | <akegalj> | and no thunk will be created for `+#` function |
| 12:36:14 | <dminuoso> | Strictly speaking thunks are not created by functions, but by application rather |
| 12:36:29 | <dminuoso> | At any rate |
| 12:36:30 | <geekosaur> | there's nowhere to put a thunk since it's a direct value, not a pointer |
| 12:37:41 | <akegalj> | dminuoso: then, `let f x = (+#) 1::Int# in k 2::Int#` ; no thunk will be created for f? |
| 12:37:53 | <dminuoso> | akegalj: In principle we could imagine [] being polymorphic and accepting unboxed/unlifted types too I guess. |
| 12:38:20 | <dminuoso> | But its not, and because its not GHC has no support for this kind of levity polymorphism here |
| 12:38:35 | <dminuoso> | akegalj: thunks are created by *application* |
| 12:38:39 | <dminuoso> | not by *definition* |
| 12:38:56 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 12:39:41 | <akegalj> | dminuoso: maybe stuppid question, but what is application here? |
| 12:39:47 | <akegalj> | can you give me an example |
| 12:39:59 | <dminuoso> | akegalj: Application is when you apply a function to an argument. |
| 12:40:01 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 12:40:38 | <akegalj> | dminuoso: right, so in the example above where we apply 2::Int# to `k` , that is application and thunk is created |
| 12:41:04 | <dminuoso> | Well no, no thunk is created *there* because its all unboxed |
| 12:42:51 | <dminuoso> | If the application returns an unboxed (well unlifted, really) value, its all strict and no thunks get generated |
| 12:42:52 | <akegalj> | dminuoso: so when we have unboxed values, ghc will imediatelly evaluate on function application |
| 12:42:57 | <dminuoso> | No |
| 12:43:06 | <dminuoso> | Im not sure whether GHC does any constant folding |
| 12:43:23 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds) |
| 12:43:24 | <dminuoso> | Or rather, if it could do constant folding it would try and do this for boxed just as easily. |
| 12:43:41 | <dminuoso> | You can think of this as compiling into a simple `add` instruction with two immediates. |
| 12:43:58 | <dminuoso> | With some luck LLVM/GHC/Clang that gets executed afterwards will constant fold that away. |
| 12:44:44 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 12:46:23 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 12:46:25 | <dminuoso> | akegalj: Ah actually GHC has a constant folding core pass for IntAddOp! |
| 12:46:30 | <dminuoso> | So it will actually constant fold this operation away |
| 12:46:52 | → | cheater joins (~Username@user/cheater) |
| 12:47:41 | <akegalj> | dminuoso: goes to wiki to read what constant folding unfolding is |
| 12:47:49 | <dminuoso> | akegalj: So GHC will technically compile +# into a primop IntAddOp, which gets directly turned into a word add operation (so just a simple machine-specific add instruction) |
| 12:48:21 | <dminuoso> | akegalj: But if both sides are immediates and known, you can compute this at compile time and turn say 3# +# 5# into just #8 |
| 12:48:52 | <dminuoso> | (Or well, +# actually *IS* that primop) |
| 12:49:07 | → | epolanski joins (uid312403@id-312403.helmsley.irccloud.com) |
| 12:50:34 | <akegalj> | dminuoso: ok, that is constant folding. But if values are uknown at compile time, then in the case of `x::Int + y::Int` it will generate code that unboxes, does the operation and then boxes again, right? |
| 12:51:42 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
| 12:52:28 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 12:53:14 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 258 seconds) |
| 12:54:16 | → | toeffel_ joins (~toeffel@user/toeffel) |
| 12:54:29 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 12:55:44 | × | yvan-sraka quits (~yvan-srak@37.171.44.215) (Remote host closed the connection) |
| 12:55:56 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 12:55:58 | → | yvan-sraka joins (~yvan-srak@37.171.44.215) |
| 12:56:17 | × | toeffel quits (~toeffel@user/toeffel) (Ping timeout: 268 seconds) |
| 12:58:09 | <akegalj> | dminuoso: anyway, thanks for the info - I have a better understanding now |
| 12:59:07 | <dminuoso> | akegalj: unboxing is not an operation. |
| 12:59:51 | → | nilradical joins (~nilradica@user/naso) |
| 12:59:58 | <dminuoso> | akegalj: It's, at best, just a simple c-style function |
| 13:00:08 | <dminuoso> | Some value goes in, computation, value comes up |
| 13:00:30 | <dminuoso> | But it can, potentially, be less than a function - if it doesnt depend on some parametrizsed value for example |
| 13:01:47 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 13:02:02 | → | nilradical joins (~nilradica@user/naso) |
| 13:06:52 | ← | sterni parts (~lukas@user/sterni) (WeeChat 3.6) |
| 13:08:02 | <akegalj> | got it |
| 13:08:48 | × | ETECbelem quits (~ETECbelem@2804:214:861b:5270:d9bd:4c36:7f92:a57c) (Ping timeout: 252 seconds) |
| 13:11:09 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 13:11:33 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 13:12:03 | × | luffy quits (~chenqisu1@183.217.201.192) (Ping timeout: 252 seconds) |
| 13:12:11 | × | dsrt^ quits (~dsrt@c-73-237-184-20.hsd1.ga.comcast.net) (Ping timeout: 255 seconds) |
| 13:14:33 | → | nate4 joins (~nate@98.45.169.16) |
| 13:14:58 | → | toeffel joins (~toeffel@user/toeffel) |
| 13:15:18 | × | toeffel_ quits (~toeffel@user/toeffel) (Ping timeout: 240 seconds) |
| 13:15:46 | × | yvan-sraka quits (~yvan-srak@37.171.44.215) (Ping timeout: 252 seconds) |
| 13:15:47 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 13:17:10 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 13:18:14 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 13:19:14 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 13:19:23 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 13:21:31 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 13:26:50 | → | coot joins (~coot@213.134.176.158) |
| 13:28:28 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:31:05 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 13:31:10 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 13:31:20 | → | cheater joins (~Username@user/cheater) |
| 13:32:52 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 13:36:34 | × | wonko_ quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 244 seconds) |
| 13:51:51 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
| 13:51:51 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.6) |
| 13:53:28 | → | biberu joins (~biberu@user/biberu) |
| 13:56:40 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 13:57:04 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:02:23 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 14:04:39 | × | coot quits (~coot@213.134.176.158) (Remote host closed the connection) |
| 14:04:49 | ezzieygu1wuf | is now known as ezzieyguywuf |
| 14:05:03 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 14:06:52 | → | rockystone joins (~rocky@user/rockymarine) |
| 14:08:43 | → | slack1256 joins (~slack1256@186.11.99.53) |
| 14:10:36 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 14:10:55 | → | yvan-sraka joins (~yvan-srak@37.171.44.215) |
| 14:15:10 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Remote host closed the connection) |
| 14:15:52 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 14:19:34 | × | yvan-sraka quits (~yvan-srak@37.171.44.215) (Ping timeout: 252 seconds) |
| 14:19:47 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 14:20:13 | → | califax joins (~califax@user/califx) |
| 14:32:24 | → | slac77182 joins (~slack1256@191.125.99.70) |
| 14:34:33 | × | slack1256 quits (~slack1256@186.11.99.53) (Ping timeout: 252 seconds) |
| 14:34:57 | × | mrmr quits (~mrmr@user/mrmr) (Ping timeout: 268 seconds) |
| 14:35:36 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 14:38:20 | → | mrmr joins (~mrmr@user/mrmr) |
| 14:38:39 | → | ardell joins (~ardell@user/ardell) |
| 14:39:16 | × | toeffel quits (~toeffel@user/toeffel) (Ping timeout: 268 seconds) |
| 14:43:35 | × | jespada quits (~jespada@185.195.232.155) (Ping timeout: 268 seconds) |
| 14:44:20 | <ardell> | oh no, not again |
| 14:44:37 | <ardell> | just when I looked into hpack (with stack) there is ghcup |
| 14:44:55 | → | nilradical joins (~nilradica@user/naso) |
| 14:45:21 | <ardell> | how widespread is ghcup? I just found out about this because of the haskell-language-server promoting it. |
| 14:45:45 | → | jespada joins (~jespada@194.73.88.114) |
| 14:45:56 | <geekosaur> | it's become the primary recommended way of installing ghc / stack / cabal |
| 14:46:59 | <ardell> | since when? I missed this completely |
| 14:47:26 | <geekosaur> | a year or so? |
| 14:47:39 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 14:52:00 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 14:52:09 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 14:52:43 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:390c:d915:a3eb:2597) (Quit: WeeChat 2.8) |
| 14:54:50 | × | slac77182 quits (~slack1256@191.125.99.70) (Remote host closed the connection) |
| 15:02:06 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:03:38 | × | andreabedini quits (~andreabed@host-87-18-207-240.retail.telecomitalia.it) (Quit: WeeChat 3.6) |
| 15:04:56 | × | razetime quits (~quassel@117.254.35.85) (Remote host closed the connection) |
| 15:06:04 | → | toeffel joins (~toeffel@user/toeffel) |
| 15:09:37 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:13:45 | → | Topsi joins (~Topsi@dyndsl-095-033-090-077.ewe-ip-backbone.de) |
| 15:13:57 | × | mncheck quits (~mncheck@193.224.205.254) (Quit: Leaving) |
| 15:20:02 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:20:23 | × | jespada quits (~jespada@194.73.88.114) (Ping timeout: 252 seconds) |
| 15:23:14 | → | jespada joins (~jespada@185.248.85.40) |
| 15:23:16 | × | akegalj quits (~akegalj@141-136-145-110.dsl.iskon.hr) (Quit: leaving) |
| 15:25:35 | × | CiaoSen quits (~Jura@p200300c9572e65002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 15:27:43 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 15:28:03 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 15:29:39 | × | Vajb quits (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) (Read error: Connection reset by peer) |
| 15:29:48 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 15:30:00 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
| 15:31:28 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 15:32:09 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 15:33:56 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 260 seconds) |
| 15:34:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:36:42 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 15:36:42 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 15:37:07 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 15:37:15 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 15:37:57 | <segfaultfizzbuzz> | ok so i added brick to a toy project (freshly created stack project ) and am getting a build failure, and some forum post said that this is m1/macos incompatibility from an older version of ghc. i am looking at the documentation here https://docs.haskellstack.org/en/stable/faq/ |
| 15:38:44 | × | epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:38:45 | <segfaultfizzbuzz> | but it doesn't actually explicitly say how to set the ghc version number... i kinda think that i might specify resolver: ghc-###### in the stack.yaml? |
| 15:39:01 | <merijn> | segfaultfizzbuzz: That's because resolvers control ghc version |
| 15:39:22 | <geekosaur> | or select a resoolver based around the ghc version you want, which you can get from stackage.org |
| 15:41:52 | <segfaultfizzbuzz> | ok so i put resolver: nightly-2022-08-30 in the stack.yaml but it didn't seem to download a new ghc. i then ran stack clean and still no impact |
| 15:44:11 | → | lottaquestions joins (~nick@2607:fa49:503e:7100:8a8:aba4:ac00:def5) |
| 15:46:49 | <pareto-optimal-d> | What's the output of `stack config`? |
| 15:47:05 | <segfaultfizzbuzz> | missing: COMMAND lol |
| 15:47:46 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:48:21 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 15:48:21 | jinsun | is now known as Guest376 |
| 15:48:21 | jinsun__ | is now known as jinsun |
| 15:48:39 | <pareto-optimal-d> | Actually show output for `stack ls snapshots -n` |
| 15:49:20 | <segfaultfizzbuzz> | that shows nothing, it just says (END) |
| 15:49:22 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 15:49:59 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 15:49:59 | <pareto-optimal-d> | And then also `stack config get install-ghc` |
| 15:50:26 | <pareto-optimal-d> | segfaultfizzbuzz: So no nightly was installed |
| 15:50:37 | <segfaultfizzbuzz> | invalid argument 'get' |
| 15:50:53 | <geekosaur> | what version of stack is this? |
| 15:50:55 | × | Guest376 quits (~jinsun@user/jinsun) (Ping timeout: 244 seconds) |
| 15:51:09 | <segfaultfizzbuzz> | Version 2.7.5, Git revision 717ec96c15520748f3fcee00f72504ddccaa30b5 (dirty) (163 commits) aarch64 |
| 15:51:23 | → | MoC joins (~moc@user/moc) |
| 15:51:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 244 seconds) |
| 15:51:31 | <pareto-optimal-d> | <segfaultfizzbuzz> "ok so i put resolver: nightly-20..." <- Did you run `stack build` or `stack setup`? |
| 15:51:43 | <segfaultfizzbuzz> | i ran stack build,... ok didn't realize there was another command, i'll try that |
| 15:52:12 | <segfaultfizzbuzz> | stack setup seemed to do nothing, didn't show me a download prompt... says "stack will use a sandboxed GHC it installed" |
| 15:52:17 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 15:54:14 | → | Vajb joins (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) |
| 15:56:12 | <pareto-optimal-d> | segfaultfizzbuzz: stack config set resolver nightly-2022-08-30 |
| 15:56:26 | <pareto-optimal-d> | Then try stack setup again |
| 15:57:16 | <pareto-optimal-d> | Make sure stack.yaml only has one resolver line after first though |
| 15:58:00 | <segfaultfizzbuzz> | failed to compile a sanity check |
| 15:58:16 | <Zemyla> | > 3 % 1 |
| 15:58:17 | <lambdabot> | 3 % 1 |
| 15:58:19 | <segfaultfizzbuzz> | and then running stack build on my project failed |
| 16:03:05 | <segfaultfizzbuzz> | so,... maybe trying to get this stuff working on an m1 is just foolishly chasing the bleeding edge |
| 16:03:08 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 16:03:43 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 16:04:07 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 16:04:25 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:04:57 | → | rockystone joins (~rocky@user/rockymarine) |
| 16:07:08 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:07:14 | × | dos__^^ quits (~user@user/dos/x-1723657) (Ping timeout: 255 seconds) |
| 16:09:53 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 16:10:20 | → | mncheck joins (~mncheck@193.224.205.254) |
| 16:11:42 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 16:12:10 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:16:26 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 16:17:21 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 16:17:45 | → | rockystone joins (~rocky@user/rockymarine) |
| 16:18:26 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:18:30 | × | kuribas quits (~user@silversquare.silversquare.eu) (Remote host closed the connection) |
| 16:19:08 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 16:21:36 | × | nilradical quits (~nilradica@user/naso) () |
| 16:22:19 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:23:31 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 16:23:45 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 16:25:59 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 16:26:03 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:26:12 | → | PiDelport joins (uid25146@id-25146.lymington.irccloud.com) |
| 16:26:33 | → | benin0 joins (~benin@117.207.69.221) |
| 16:28:39 | × | jespada quits (~jespada@185.248.85.40) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:30:10 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 244 seconds) |
| 16:30:57 | × | toeffel quits (~toeffel@user/toeffel) (Ping timeout: 268 seconds) |
| 16:31:31 | × | fryguybob quits (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Ping timeout: 248 seconds) |
| 16:31:53 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:31:59 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:32:01 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:34:27 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 252 seconds) |
| 16:35:47 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 16:36:29 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 16:36:40 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 16:38:29 | → | coot joins (~coot@213.134.176.158) |
| 16:39:14 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 16:43:37 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
| 16:44:49 | × | mncheckm quits (~mncheck@193.224.205.254) (Quit: Leaving) |
| 16:46:06 | → | Guest|23 joins (~Guest|23@171.23.6.112) |
| 16:46:40 | × | Guest|23 quits (~Guest|23@171.23.6.112) (Client Quit) |
| 16:51:04 | → | the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f) |
| 16:53:05 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 16:59:46 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 16:59:57 | <segfaultfizzbuzz> | so, should i give up on stack or,...? |
| 17:02:22 | → | econo joins (uid147250@user/econo) |
| 17:03:09 | → | rockystone joins (~rocky@user/rockymarine) |
| 17:06:02 | → | eikke joins (~NicolasT@user/NicolasT) |
| 17:06:37 | → | Tuplanolla joins (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) |
| 17:08:56 | → | toeffel joins (~toeffel@user/toeffel) |
| 17:09:36 | × | ccntrq quits (~Thunderbi@172.209.94.92.rev.sfr.net) (Remote host closed the connection) |
| 17:09:47 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 17:09:56 | → | gmg joins (~user@user/gehmehgeh) |
| 17:10:06 | → | cheater joins (~Username@user/cheater) |
| 17:13:26 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 17:16:05 | → | nate4 joins (~nate@98.45.169.16) |
| 17:16:07 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 17:17:06 | × | mbuf quits (~Shakthi@49.204.120.6) (Quit: Leaving) |
| 17:17:34 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 17:18:05 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 17:21:27 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 17:24:32 | → | wonko_ joins (~wjc@2a0e:1c80:2::130) |
| 17:25:31 | → | cheater1__ joins (~Username@user/cheater) |
| 17:26:05 | × | ardell quits (~ardell@user/ardell) (Quit: Leaving) |
| 17:26:34 | cheater1__ | is now known as cheater |
| 17:27:08 | <dolio> | Were you using something else before? |
| 17:30:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:32:08 | → | beteigeuze joins (~Thunderbi@p4fdbfdd5.dip0.t-ipconnect.de) |
| 17:32:44 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 17:32:52 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 17:33:07 | → | jinsun joins (~jinsun@user/jinsun) |
| 17:35:54 | → | cheater joins (~Username@user/cheater) |
| 17:37:29 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 268 seconds) |
| 17:37:41 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 17:45:02 | <dsal> | segfaultfizzbuzz: What's going on? I have always found stack to be the easy path. |
| 17:45:48 | <monochrom> | I guess that's segfaultfizzbuzz's question too. :) |
| 17:46:02 | Alex_test_ | is now known as Alex_test |
| 17:46:07 | <dsal> | Oh, but yeah, if you're going to try to build old stuff on new hardware, that might be an issue. |
| 17:46:12 | → | mniip joins (mniip@libera/staff/mniip) |
| 17:46:28 | <dsal> | I've just been running LTS for a while, occasionally bumping it when I'm paying attention to a project. |
| 17:46:52 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds) |
| 17:46:52 | × | califax quits (~califax@user/califx) (Ping timeout: 258 seconds) |
| 17:46:52 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 17:47:15 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds) |
| 17:47:44 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 17:47:54 | <segfaultfizzbuzz> | i'm just trying to use brick, all i did was add it to a new stack project and everything is failing |
| 17:48:00 | → | jinsun joins (~jinsun@user/jinsun) |
| 17:48:01 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 258 seconds) |
| 17:48:24 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
| 17:48:29 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 17:48:47 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds) |
| 17:49:00 | <dsal> | Is your project shared somewhere? |
| 17:49:56 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
| 17:50:55 | <segfaultfizzbuzz> | there's kinda no point, it's just stack new and then add - brick to the dependencies |
| 17:56:35 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 17:56:39 | → | califax joins (~califax@user/califx) |
| 17:56:58 | × | wonko_ quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 244 seconds) |
| 17:57:28 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 17:57:35 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 17:57:44 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 17:57:47 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 17:57:52 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 17:58:32 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 18:00:15 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 18:00:58 | → | bbear joins (~david@2a01:e34:ec2b:d430:44a:f5ca:9867:d69d) |
| 18:02:21 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 18:02:44 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 18:02:48 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 18:03:31 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 18:04:17 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 18:04:35 | → | cheater joins (~Username@user/cheater) |
| 18:04:41 | × | fserucas quits (~fserucas@89.214.116.132) (Ping timeout: 255 seconds) |
| 18:05:39 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 18:06:02 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 18:06:46 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 18:09:29 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
| 18:10:31 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 18:10:58 | → | cheater joins (~Username@user/cheater) |
| 18:11:39 | <dsal> | Oh. Then I'll add it to one of mine. |
| 18:13:58 | <segfaultfizzbuzz> | i was not using something else before,... i was fiddling in ghci and now i am trying to fiddle with a more proper project (mostly for the purpose of using dependencies) and trying to actually write some code,... |
| 18:14:31 | <segfaultfizzbuzz> | i mean maybe i should just abandon brick--i think (??) it is used in the ghcup tui so i was kinda expecting it to work (the ghcup tui works on my system...) |
| 18:15:22 | → | cheater1__ joins (~Username@user/cheater) |
| 18:15:39 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 18:15:45 | cheater1__ | is now known as cheater |
| 18:16:15 | <dsal> | segfaultfizzbuzz: It worked OK for me. I timed it with this and it was about 2/3 of this track: https://www.youtube.com/watch?v=zYU75-OANxc |
| 18:17:24 | <segfaultfizzbuzz> | lol |
| 18:18:10 | <dsal> | This project is using resolver: lts-19.13 |
| 18:18:38 | <pareto-optimal-d> | <segfaultfizzbuzz> "so, should i give up on stack or..." <- Oh.. you are on m1? Pretty sure official binaries from stack are still WIP. |
| 18:18:38 | <pareto-optimal-d> | Either install stack+ghc with ghcup and configure stack to use your system installed ghc from ghcup or... |
| 18:18:38 | <pareto-optimal-d> | Just use ghcup+cabal |
| 18:19:48 | <dsal> | I use stack on m1. I've got projects I've never even figured out how to build without it. |
| 18:20:00 | <segfaultfizzbuzz> | yeah i'm on m1. i was initially using cabal, then ghcup+cabal and i ran into some dylib error,... some forum post said to use stack to deal with a dylib error so here i am now,... |
| 18:20:38 | <dsal> | I don't use ghcup. Last time I tried, it didn't work. |
| 18:20:51 | <pareto-optimal-d> | Either stack released aarch64 binaries or it's working through Rosetta then I think. |
| 18:20:51 | <qrpnxz> | for what i'm working on, i have to pull `extra-deps` a lot, but stack tells me what to put in there, so no issue for the most part |
| 18:20:55 | <dsal> | I've been doing the same stuff that seems super easy and occasionally try the better things people suggest and I just can't make them work. heh |
| 18:21:04 | <dsal> | I do not use rosetta. |
| 18:21:11 | <qrpnxz> | i use resolver: ghc-9.0.2 |
| 18:22:06 | <pareto-optimal-d> | Huh... on m1 *only* ghcup and cabal on ghc9.0.2 have given me 0 problems |
| 18:22:37 | <segfaultfizzbuzz> | oh interesting, i hadn't used ghcup+cabal+ghc9.0.2 i think |
| 18:22:39 | <dsal> | There were KIs last time I tried moving to ghcup. They're probably fixed by now. |
| 18:23:04 | <qrpnxz> | stack is merely working on top of the cabal file, so i can always just nuke the stack.yaml and manage the compiler and such myself |
| 18:23:35 | <pareto-optimal-d> | segfaultfizzbuzz: I can help most with that, though I hear 9.2 has even more aarch64 fixes |
| 18:23:44 | <dsal> | qrpnxz: I don't have a cabal file checked in for this project, but cabal will not build it: https://github.com/dustin/s3up |
| 18:25:11 | × | zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
| 18:25:28 | <segfaultfizzbuzz> | wow i just excteed a rate limit on github, that is lame :-/ |
| 18:25:45 | <dsal> | Hubbin too hard. |
| 18:26:43 | <pareto-optimal-d> | segfaultfizzbuzz: You can set a github api token |
| 18:27:00 | <qrpnxz> | dsal: i don't see a cabal file there? |
| 18:27:13 | <qrpnxz> | oh, your "but" confused me |
| 18:27:30 | → | eikke joins (~NicolasT@user/NicolasT) |
| 18:27:50 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 18:28:47 | <monochrom> | My impression is that stack doesn't need foo.cabal, just needs its own one or two yml files. It shows because stack users use hpack to output foo.cabal as an afterthought before uploading to hackage. And it shows because version bounds are left open. |
| 18:29:46 | <sclv> | stack can work with a cabal file or an hpack yaml file. it just autotranslates the latter to the former as part of its pipeline. |
| 18:29:56 | <monochrom> | Yeah. |
| 18:30:19 | <dsal> | qrpnxz: It generates one when you run stack. I just didn't check it in in this project. Partially because it won't build with cabal. |
| 18:30:26 | <segfaultfizzbuzz> | ok well moving to ghc 9.0.2 with stack has stack complaining about extra-deps now, which is perhaps a good sign? |
| 18:32:05 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:32:15 | <qrpnxz> | i mean, that's what i was saying, i use resolver: 9.0.2 and need a bunch of extra-deps xD. I'm guessing that resolver just has GHC, and not other packages? I forget what problem i had with LTS, maybe versions i didn't like. I don't understand resolvers very well, but i just filled out the extra-deps and it works for now. |
| 18:32:26 | <qrpnxz> | *ghc-9.0.2 |
| 18:32:31 | <segfaultfizzbuzz> | i was expecting to just add brick and have the project go but instead i am like manually running stack build over and over and it keeps asking me to manually add extra-deps |
| 18:32:32 | <dsal> | Does that happen with LTS? |
| 18:32:48 | <dsal> | segfaultfizzbuzz: I just stuck `brick` in deps and it worked. |
| 18:32:56 | <segfaultfizzbuzz> | LTS didn't build |
| 18:33:08 | <segfaultfizzbuzz> | or, it errors out complaining about a missing aarch64 header file |
| 18:33:24 | <dsal> | I've not tried 19.21. Let's see… |
| 18:33:44 | <pareto-optimal-d> | dsal: It's recommended by stacks creator to check in the cabal file |
| 18:33:44 | <pareto-optimal-d> | https://www.fpcomplete.com/blog/storing-generated-cabal-files/ |
| 18:34:10 | <pareto-optimal-d> | segfaultfizzbuzz: I'd try with just cabal on 9.0.2 |
| 18:36:10 | <dsal> | pareto-optimal-d: Yeah, I have been doing that for some libraries and stuff. But this isn't a library and cabal will not build the project, so there's not much of a point. |
| 18:36:48 | <sclv> | why will it not |
| 18:37:21 | <dsal> | It has `amazonka >=2.0` as a requirement, but no way to satisfy that. stack can, though. |
| 18:38:33 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 18:38:53 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 18:38:53 | <dsal> | I'm hoping someday amazonka 2.0 ships, but I've been hoping that long enough that I don't stop builds for it. |
| 18:39:20 | × | benin0 quits (~benin@117.207.69.221) (Ping timeout: 255 seconds) |
| 18:41:06 | <segfaultfizzbuzz> | pareto-optimal-d: yeah that sounds like a good idea |
| 18:44:49 | → | coot joins (~coot@213.134.176.158) |
| 18:47:34 | → | benin0 joins (~benin@59.92.178.116) |
| 18:49:21 | <segfaultfizzbuzz> | ok i used the ghcup tui to install and set ghc 9.0.2 and i created a brand new cabal project (cabal init in a new folder). cabal run on the new project worked. then i added brick to the build-depends and building errored out,... it complains about #include "ffitarget_arm64.h" |
| 18:50:49 | <sclv> | dsal: wait why the heck can cabal not satisfy that? because its not on hackage? cabal.project files can point to repos just like stack files... |
| 18:54:36 | → | jespada joins (~jespada@185.195.232.175) |
| 18:57:28 | <dsal> | sclv: Not sure. It *doesn't* in any case. I've never mastered cabal because it's always seemed strictly harder than using stack for me. If there's a way to get it to work (presumably stack does it somehow) then I can try it, but it seems to be uphill. |
| 19:00:44 | <sclv> | dsal: well your stack.yaml has an extra-deps pointing to the repo. the equivalent is having a cabal.project file (which is the equivalent of a stack.yaml, but optional) and having a source-repository-package stanza like so https://cabal.readthedocs.io/en/3.4/cabal-project.html#specifying-packages-from-remote-version-control-locations |
| 19:00:45 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 19:03:38 | → | rockystone joins (~rocky@user/rockymarine) |
| 19:05:50 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 19:06:20 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 19:07:08 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 19:08:05 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 19:11:30 | → | Midjak joins (~Midjak@82.66.147.146) |
| 19:12:38 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 255 seconds) |
| 19:13:20 | → | fryguybob joins (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
| 19:15:07 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 19:20:00 | → | rockystone joins (~rocky@user/rockymarine) |
| 19:21:53 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:22:20 | <dsal> | Makes sense. I'd not heard of a cabal.project file. |
| 19:22:57 | <dsal> | I'm not staying cabal isn't possible to use. Just that every time I've tried, it's been an uphill battle that only increases work I've got to do |
| 19:24:04 | → | jcob1 joins (~jcob1@216-165-95-138.natpool.nyu.edu) |
| 19:25:31 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 260 seconds) |
| 19:26:47 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 19:32:53 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 19:36:05 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 19:38:09 | → | kmein joins (~weechat@user/kmein) |
| 19:40:46 | × | jcob1 quits (~jcob1@216-165-95-138.natpool.nyu.edu) (Quit: Client closed) |
| 19:42:55 | × | toeffel quits (~toeffel@user/toeffel) (Ping timeout: 252 seconds) |
| 19:51:49 | <c_wraith> | hmm. the template Haskell staging restriction is biting me in a situation where I don't think it's appropriate. |
| 19:53:08 | <c_wraith> | oh. nevermind, I see why it's triggering. |
| 19:53:22 | <c_wraith> | I wish I didn't have to work around it... |
| 19:53:45 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 19:54:06 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 19:56:31 | → | rockystone joins (~rocky@user/rockymarine) |
| 19:59:50 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 20:03:16 | → | wonko_ joins (~wjc@2a0e:1c80:2::130) |
| 20:17:10 | → | eikke joins (~NicolasT@user/NicolasT) |
| 20:17:37 | → | Pickchea joins (~private@user/pickchea) |
| 20:24:35 | × | Topsi quits (~Topsi@dyndsl-095-033-090-077.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 20:25:08 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 20:26:05 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 20:30:48 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 20:31:23 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 20:39:02 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 20:40:07 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 20:40:32 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:40:34 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 20:45:34 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 20:45:53 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:46:20 | <raehik> | repeating msg because I'm pretty sure I lost connection, sry if not |
| 20:46:33 | <raehik> | I have a simple enum-style sum type. I want to enumerate all the options in a list. Is there a "good" way to do this? Am I bad if I do `enumFrom @a (toEnum 0)`? |
| 20:47:38 | <geekosaur> | also derive Bounded and use [minBound .. maxBound] ? |
| 20:49:33 | <raehik> | heh that's nice. which makes more sense to you, or would you use? or would you list em out boring style |
| 20:51:18 | → | rockystone joins (~rocky@user/rockymarine) |
| 20:51:47 | <geekosaur> | I have used the one I suggested, I think it's the one best in agreement with the rules and the definitions of Enum and Bounded |
| 20:53:08 | → | fserucas joins (~fserucas@89.214.116.132) |
| 20:53:56 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:54:11 | <raehik> | thinking about it, it certainly is clearer than enumFrom,To. will use that, thanks! |
| 20:57:06 | × | hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 260 seconds) |
| 20:57:30 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 21:01:51 | → | rockymarine joins (~rocky@user/rockymarine) |
| 21:03:29 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 244 seconds) |
| 21:05:26 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 21:13:10 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:14:59 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 21:17:36 | → | nate4 joins (~nate@98.45.169.16) |
| 21:18:38 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 255 seconds) |
| 21:19:02 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:19:16 | × | beteigeuze quits (~Thunderbi@p4fdbfdd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 21:19:31 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 21:21:20 | × | rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 21:22:09 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 21:22:35 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 21:26:01 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:28:26 | → | rockymarine joins (~rocky@user/rockymarine) |
| 21:33:10 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:34:37 | → | pavonia joins (~user@user/siracusa) |
| 21:39:31 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 21:44:50 | × | wonko_ quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 268 seconds) |
| 22:00:12 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 22:04:46 | × | jespada quits (~jespada@185.195.232.175) (Ping timeout: 260 seconds) |
| 22:04:49 | × | rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 22:06:00 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 244 seconds) |
| 22:06:57 | → | rockymarine joins (~rocky@user/rockymarine) |
| 22:07:18 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 22:08:29 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 22:08:59 | → | jespada joins (~jespada@cpc121060-nmal24-2-0-cust249.19-2.cable.virginm.net) |
| 22:09:12 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 22:17:32 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 22:21:04 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 22:21:37 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 22:26:39 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 22:28:41 | × | acidjnk quits (~acidjnk@p200300d6e7137a348c7fe01a0065d5f9.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 22:29:44 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 22:30:08 | → | cheater joins (~Username@user/cheater) |
| 22:31:52 | → | Guest|80 joins (~Guest|80@187.61.246.232) |
| 22:33:25 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:36:15 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 22:37:52 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 22:41:19 | → | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 22:43:25 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.5) |
| 22:43:48 | → | cheater1__ joins (~Username@user/cheater) |
| 22:43:58 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 22:44:01 | cheater1__ | is now known as cheater |
| 22:44:29 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 22:45:31 | × | rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 22:49:23 | → | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 22:52:34 | <c_wraith> | so... is this new to the recent cabal-install release? https://paste.tomsmeding.com/ZCOaea8v (I've trimmed the output a lot) |
| 22:53:35 | × | rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 22:54:40 | → | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 22:59:05 | × | rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 23:03:41 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 23:04:00 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 23:04:56 | × | rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 23:05:18 | → | rockymarine joins (~rocky@user/rockymarine) |
| 23:08:45 | <int-e> | c_wraith: the number for "Linking"? That seems to be a ghc-9.4 thing |
| 23:08:53 | × | Tuplanolla quits (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:09:21 | <c_wraith> | I'm sad it wasn't [5 of 4] |
| 23:09:42 | <c_wraith> | but yeah, right. that's GHC output, not cabal |
| 23:10:34 | <int-e> | I did test it with GHC 9.2.3 (no such number) and 9.4.2 |
| 23:12:02 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 255 seconds) |
| 23:14:54 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 23:16:08 | → | dcoutts_ joins (~duncan@host86-184-242-102.range86-184.btcentralplus.com) |
| 23:16:16 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 23:16:27 | × | dcoutts quits (~duncan@host86-184-242-102.range86-184.btcentralplus.com) (Read error: Connection reset by peer) |
| 23:18:53 | × | vglfr quits (~vglfr@145.224.94.248) (Ping timeout: 252 seconds) |
| 23:19:46 | × | xsarnik quits (xsarnik@lounge.fi.muni.cz) (Ping timeout: 268 seconds) |
| 23:19:54 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 23:19:57 | → | xsarnik joins (xsarnik@lounge.fi.muni.cz) |
| 23:20:54 | → | vglfr joins (~vglfr@145.224.94.248) |
| 23:25:03 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 23:25:22 | × | soumen quits (~soumen@58.182.45.203) (Quit: Konversation terminated!) |
| 23:25:49 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:27:33 | → | soumen joins (~soumen@58.182.45.203) |
| 23:27:44 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 23:29:54 | → | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 23:30:25 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:33:38 | × | soumen quits (~soumen@58.182.45.203) (Quit: Konversation terminated!) |
| 23:35:45 | → | soumen joins (~soumen@58.182.45.203) |
| 23:35:52 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 23:39:25 | → | guest8080 joins (~guest8080@S01069050ca3016a3.vs.shawcable.net) |
| 23:41:19 | → | braf joins (~braf@180-150-13-139.b4960d.syd.static.aussiebb.net) |
| 23:41:46 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 23:42:26 | <guest8080> | I'm wondering if there is a Haskell equivalent of Vaadin (Java). In Vaadin the Web front end is constructed via server-side Java components. There is no (unless you want to reach down) javascript/typescript work. You simply construct a GUI in a way similar to writing a native app. Has anyone seen such a framework? |
| 23:43:12 | × | rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 23:48:37 | → | pavonia_ joins (~user@user/siracusa) |
| 23:48:54 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec) |
| 23:50:47 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 252 seconds) |
| 23:51:02 | pavonia_ | is now known as pavonia |
| 23:51:09 | × | fserucas quits (~fserucas@89.214.116.132) (Ping timeout: 252 seconds) |
| 23:57:01 | × | rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 23:57:32 | → | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 23:59:06 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 23:59:45 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
All times are in UTC on 2022-08-31.