Logs on 2022-12-20 (liberachat/#haskell)
| 00:00:50 | × | ddellacosta quits (~ddellacos@89.45.224.220) (Ping timeout: 272 seconds) |
| 00:00:58 | × | tvandinther quits (~tvandinth@203.34.100.2) (Ping timeout: 260 seconds) |
| 00:04:00 | × | MajorBiscuit quits (~MajorBisc@31-23-159.netrun.cytanet.com.cy) (Ping timeout: 272 seconds) |
| 00:04:37 | → | cross joins (~cross@spitfire.i.gajendra.net) |
| 00:17:45 | × | Inst_ quits (~Inst@2601:6c4:4081:54f0:7095:a698:8ea8:7bc6) (Ping timeout: 256 seconds) |
| 00:17:52 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:20:28 | <talismanick> | How can I disable the "add informative comments" prompt when calling `cabal init` interactively? |
| 00:21:05 | <talismanick> | Presumably it's another field in ~/.cabal/config, under "init", but I haven't found it in the docs |
| 00:22:51 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 00:27:40 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:27:40 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:27:40 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:28:19 | → | ddellacosta joins (~ddellacos@143.244.47.75) |
| 00:29:45 | → | Deide_ joins (~Deide@wire.desu.ga) |
| 00:36:12 | × | Deide quits (~deide@user/deide) (Quit: issued !quit command) |
| 00:36:27 | Deide_ | is now known as Deide |
| 00:37:17 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
| 00:37:17 | → | Deide joins (~Deide@user/deide) |
| 00:39:12 | <glguy> | talismanick: does: cabal init --no-comments do it? |
| 00:41:28 | <glguy> | I don't see anything about setting that in a config-file, however |
| 00:41:31 | × | fizbin_ quits (~fizbin@user/fizbin) (Remote host closed the connection) |
| 00:41:50 | → | fizbin_ joins (~fizbin@user/fizbin) |
| 00:51:38 | <talismanick> | glguy: It does work. Too bad no one can find the config field, though. |
| 00:51:39 | → | meinside joins (uid24933@id-24933.helmsley.irccloud.com) |
| 00:55:28 | × | Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa) |
| 00:56:21 | <geekosaur> | strings suggests there isn't one |
| 00:56:24 | → | Deide_ joins (~Deide@wire.desu.ga) |
| 00:57:31 | × | Deide_ quits (~Deide@wire.desu.ga) (Client Quit) |
| 00:57:48 | → | Deide_ joins (~Deide@wire.desu.ga) |
| 00:59:04 | ← | Deide_ parts (~Deide@wire.desu.ga) () |
| 01:04:11 | × | jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in) |
| 01:04:12 | → | Deide_ joins (~Deide@wire.desu.ga) |
| 01:05:11 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 01:09:29 | × | ddellacosta quits (~ddellacos@143.244.47.75) (Ping timeout: 246 seconds) |
| 01:09:52 | → | Deide joins (~deide@user/deide) |
| 01:10:43 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:24 | × | fizbin_ quits (~fizbin@user/fizbin) (Ping timeout: 272 seconds) |
| 01:12:29 | × | xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 260 seconds) |
| 01:12:43 | × | acidjnk quits (~acidjnk@p200300d6e7137a97c81a3694893f5e3e.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 01:13:12 | <hpc> | they probably just expect you to write the whole cabal file yourself if you want to skip that stuff? |
| 01:14:35 | ← | Deide_ parts (~Deide@wire.desu.ga) (o/) |
| 01:14:37 | → | fizbin_ joins (~fizbin@user/fizbin) |
| 01:16:05 | × | bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 01:16:49 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:19:50 | <sclv> | nobody expects anyone to write the whole file by yourself |
| 01:20:19 | <sclv> | there's just not a way to set your .config file to default all the preferences to cabal init |
| 01:23:52 | fizbin_ | is now known as fizbin |
| 01:24:59 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds) |
| 01:28:18 | → | bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:29:15 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:30:48 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 260 seconds) |
| 01:41:12 | → | bodisiw joins (~bodiskw@cpe-74-138-114-237.kya.res.rr.com) |
| 01:43:31 | → | tvandinther joins (~tvandinth@203.34.100.2) |
| 01:44:03 | <tvandinther> | Is it possible to cross-compile an app written in Haskell? |
| 01:44:31 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 01:45:14 | <iqubic> | What platforms and architectures are you targetting? |
| 01:45:34 | <sclv> | the answer is "sometimes, and with great difficulty" |
| 01:45:57 | × | bodisiw quits (~bodiskw@cpe-74-138-114-237.kya.res.rr.com) (Client Quit) |
| 01:48:58 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 252 seconds) |
| 01:49:44 | → | slack1256 joins (~slack1256@186.11.29.188) |
| 01:52:45 | → | dsrt^ joins (~dsrt@76.145.185.103) |
| 01:53:36 | <sclv> | tvandinther: ^^ ? |
| 01:56:02 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:56:24 | <tvandinther> | Using linux, I want to target macOS (x86_64 and ARM64) and Windows (x86_64) |
| 01:57:31 | <tvandinther> | I'm currently settling for only x86 and using the different runners in github actions to compile the different binaries. Would be nice to do it all from linux to save the 10x minutes price on the macos runner :O |
| 01:58:48 | × | drvitek quits (~drvitek@2601:85:c300:7940:6d22:5284:fc40:3019) (Quit: Konversation terminated!) |
| 01:59:40 | <sm> | I don't think there's a way to run macos on linux, but I could be wrong |
| 01:59:58 | <sm> | I use github, like you |
| 02:01:05 | → | Guest25 joins (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) |
| 02:08:28 | <iqubic> | What's the difference between `rseq` and `rdeepseq` in Control.Parallel.Strategies? |
| 02:10:54 | <jackdk> | https://hackage.haskell.org/package/parallel-3.2.2.0/docs/Control-Parallel-Strategies.html#v:rseq : rseq evaluates its argument to weak head normal form. rdeepseq fully evaluates its argument. |
| 02:11:37 | <iqubic> | What is `weak head normal form`? |
| 02:15:06 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 02:16:10 | <c_wraith> | for data, it means that the value is evaluated to the top-level constructor. For functions, it means that it's evaluated until it actually can be applied to a value. |
| 02:16:27 | <iqubic> | Ah. |
| 02:17:11 | <iqubic> | So if I have a list, finding the length requires evaluating it to weak head normal form? |
| 02:17:25 | <c_wraith> | finding the length requires a lot more than head-normal form |
| 02:17:32 | <EvanR> | is (*) in weak head normal form? can it be applied? xD |
| 02:17:41 | <c_wraith> | determining if the list is [] or (:) is head-normal form |
| 02:19:58 | <dsal> | WHNF is approximately "is this a thunk?" rseq will ensure that it's not. rdeepseq should ensure that it doesn't *contain* a thunk. |
| 02:20:50 | <c_wraith> | EvanR: (*) is in WHNF. ((\x -> if even x then (*) else (+)) 7) is not in in WHNF. |
| 02:21:26 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 272 seconds) |
| 02:24:52 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 02:26:36 | <Guest25> | Hi 👋 Anybody using hls with vim and coc? |
| 02:26:46 | <Guest25> | When I complete eg `IndexOutOfBounds` then it completes to `IndexOutOfBounds String` |
| 02:27:53 | <Guest25> | Have you seen this before? |
| 02:28:01 | <Guest25> | 1. How can I prevent this, instead only getting `IndexOutOfBounds` |
| 02:28:02 | <Guest25> | 2. Is there a reason this happens? How can I profit from it? |
| 02:31:03 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 02:33:09 | × | slack1256 quits (~slack1256@186.11.29.188) (Remote host closed the connection) |
| 02:33:24 | → | slack1256 joins (~slack1256@186.11.29.188) |
| 02:34:24 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
| 02:37:16 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 02:37:28 | × | Guest25 quits (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) (Quit: Client closed) |
| 02:43:02 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 02:44:39 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 02:44:42 | → | Guest25 joins (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) |
| 02:44:53 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 02:45:30 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 272 seconds) |
| 02:47:12 | → | Guest25_ joins (~Guest25_@cm-171-101-20-84.revip11.asianet.co.th) |
| 02:49:46 | <iqubic> | c_wraith: I see. |
| 02:52:15 | <iqubic> | So, if I'm doing something like `parMap _ lengthyComputation xs` how can I decide what's best in the underscore location between rseq and rdeepseq? |
| 02:53:19 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 02:53:29 | <iqubic> | Or are there other options I should be considering? |
| 02:59:44 | × | vulpine quits (xfnw@tilde.team) (Quit: Connection reset by purr) |
| 03:01:53 | → | vulpine joins (xfnw@tilde.team) |
| 03:01:55 | → | razetime joins (~quassel@49.207.230.181) |
| 03:03:25 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 03:10:34 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 03:11:07 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 03:17:47 | × | Guest25 quits (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) (Quit: Client closed) |
| 03:17:51 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:17:51 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:17:51 | finn_elija | is now known as FinnElija |
| 03:19:03 | → | Guest25 joins (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) |
| 03:20:45 | × | jargon quits (~jargon@174-22-192-24.phnx.qwest.net) (Remote host closed the connection) |
| 03:23:19 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 03:26:45 | × | Guest25 quits (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) (Quit: Client closed) |
| 03:27:50 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 03:30:54 | × | td_ quits (~td@83.135.9.40) (Ping timeout: 252 seconds) |
| 03:32:41 | → | td_ joins (~td@83.135.9.60) |
| 03:33:04 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 260 seconds) |
| 03:35:06 | → | Guest25 joins (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) |
| 03:35:25 | × | Guest25 quits (~Guest25@cm-171-101-20-84.revip11.asianet.co.th) (Client Quit) |
| 03:35:38 | <albet70> | what's easy way to dectect if a string in another string? |
| 03:35:50 | <albet70> | :t elem |
| 03:35:52 | <lambdabot> | (Foldable t, Eq a) => a -> t a -> Bool |
| 03:36:19 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 03:36:20 | <albet70> | this elem is Char -> [Char] , but I want [Char] -> [Char] -> Bool |
| 03:37:54 | <albet70> | isInfixOf? |
| 03:41:55 | → | manwithluck joins (~manwithlu@194.177.28.176) |
| 03:45:35 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
| 03:46:00 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 03:49:34 | → | jargon joins (~jargon@174-22-192-24.phnx.qwest.net) |
| 03:50:20 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 03:51:32 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 03:55:10 | → | blinkhard joins (~blinkhard@pool-72-88-174-206.nwrknj.fios.verizon.net) |
| 03:55:12 | <glguy> | Yes, isInfixOf |
| 03:55:48 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 272 seconds) |
| 03:55:49 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 03:58:58 | × | beefbambi quits (~beefbambi@183.82.30.144) (Read error: Connection reset by peer) |
| 03:59:42 | → | beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 04:00:38 | × | beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 04:00:57 | → | beefbambi joins (~beefbambi@183.82.30.144) |
| 04:06:43 | × | beefbambi quits (~beefbambi@183.82.30.144) (Read error: Connection reset by peer) |
| 04:10:11 | → | beefbambi joins (~beefbambi@183.82.30.144) |
| 04:15:46 | <dsal> | albet70: If you're doing a lot with text, you might consider using `Text` instead. |
| 04:15:53 | × | blinkhard quits (~blinkhard@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 260 seconds) |
| 04:18:03 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:18:24 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 04:18:24 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 04:18:24 | → | wroathe joins (~wroathe@user/wroathe) |
| 04:20:41 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 04:23:20 | × | quazimodo quits (~quazimodo@122-199-39-221.ip4.superloop.com) (Ping timeout: 252 seconds) |
| 04:23:21 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 04:23:35 | → | quazimodo joins (~quazimodo@45.132.226.250) |
| 04:24:04 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 04:25:04 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 04:25:12 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
| 04:28:36 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 255 seconds) |
| 04:29:56 | × | quazimodo quits (~quazimodo@45.132.226.250) (Ping timeout: 252 seconds) |
| 04:31:33 | ← | smol-hors parts (sid524992@smol/hors) () |
| 04:31:45 | → | quazimodo joins (~quazimodo@122-199-39-221.ip4.superloop.com) |
| 04:36:18 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 04:38:49 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 04:40:38 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 04:45:10 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 260 seconds) |
| 04:46:18 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 04:49:59 | → | fizbin joins (~fizbin@user/fizbin) |
| 04:55:20 | × | beefbambi quits (~beefbambi@183.82.30.144) (Ping timeout: 272 seconds) |
| 04:55:46 | → | beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 04:58:12 | × | Vajb quits (~Vajb@2001:999:250:c9:8588:6e93:7809:7816) (Read error: Connection reset by peer) |
| 04:58:45 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 04:59:50 | × | johnw quits (~johnw@2600:1700:cf00:db0:c0a7:cf05:c926:15f4) (Quit: ZNC - http://znc.in) |
| 05:00:24 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 05:01:46 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 05:08:58 | × | tvandinther quits (~tvandinth@203.34.100.2) (Ping timeout: 260 seconds) |
| 05:10:32 | × | slack1256 quits (~slack1256@186.11.29.188) (Ping timeout: 272 seconds) |
| 05:17:33 | <Clinton[m]> | I'm obviously missing something here, but is there a simpler equivalent to MaybeT (pure Nothing) :: MaybeT m a? |
| 05:18:09 | <Clinton[m]> | `fail ""` works but seems ugly |
| 05:20:57 | → | pavonia joins (~user@user/siracusa) |
| 05:23:18 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 05:23:56 | → | Vajb joins (~Vajb@2001:999:250:c9:8588:6e93:7809:7816) |
| 05:24:54 | <[Leary]> | Clinton[m]: `empty` |
| 05:26:25 | <Clinton[m]> | [Leary]: oh silly me! |
| 05:26:39 | <Clinton[m]> | Thanks! |
| 05:31:49 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 05:32:02 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 06:09:19 | × | Red_Swan quits (~jared@174-23-134-43.slkc.qwest.net) (Quit: Konversation terminated!) |
| 06:11:44 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 06:19:19 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 06:19:36 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 06:30:11 | × | codaraxis quits (~codaraxis@user/codaraxis) (Quit: Leaving) |
| 06:30:46 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: leaving) |
| 06:31:00 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:32:25 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 06:33:26 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:36:24 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: leaving) |
| 06:36:51 | × | Me-me quits (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Ping timeout: 256 seconds) |
| 06:38:00 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:39:41 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 256 seconds) |
| 06:40:51 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 06:42:29 | werneta | is now known as werneta_ |
| 06:43:01 | werneta_ | is now known as werneta |
| 06:45:04 | → | paulpaul1076 joins (~textual@95-29-5-111.broadband.corbina.ru) |
| 06:45:22 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:46:22 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:48:20 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: leaving) |
| 06:48:36 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:51:35 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 256 seconds) |
| 06:57:58 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:05:51 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 07:16:55 | → | Me-me joins (~Me-me@146.102.215.218.dyn.iprimus.net.au) |
| 07:16:59 | × | manwithluck quits (~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:17:59 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
| 07:18:49 | → | manwithluck joins (~manwithlu@194.177.28.176) |
| 07:23:24 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:25:36 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 07:27:43 | → | MajorBiscuit joins (~MajorBisc@31-23-159.netrun.cytanet.com.cy) |
| 07:29:20 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:32:13 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 07:33:54 | → | Major_Biscuit joins (~MajorBisc@c-001-007-014.client.tudelft.eduvpn.nl) |
| 07:37:23 | × | MajorBiscuit quits (~MajorBisc@31-23-159.netrun.cytanet.com.cy) (Ping timeout: 264 seconds) |
| 07:50:44 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:56:29 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:cd68:fed:5456:432f) |
| 08:00:07 | → | Guest8974 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 08:01:08 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 08:01:55 | × | Me-me quits (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Changing host) |
| 08:01:55 | → | Me-me joins (~Me-me@user/me-me) |
| 08:04:41 | → | jonathanx joins (~jonathan@c-5eea657a-74736162.cust.telenor.se) |
| 08:04:42 | × | jonathanx quits (~jonathan@c-5eea657a-74736162.cust.telenor.se) (Read error: Connection reset by peer) |
| 08:04:59 | → | akegalj joins (~akegalj@78-3-46-217.adsl.net.t-com.hr) |
| 08:05:52 | → | jonathanx joins (~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) |
| 08:17:00 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 08:22:52 | → | jinsl joins (~jinsl@2408:8207:2558:2b10:211:32ff:fec8:6aea) |
| 08:22:54 | × | jinsl- quits (~jinsl@2408:8207:2554:1a50:211:32ff:fec8:6aea) (Ping timeout: 265 seconds) |
| 08:23:34 | → | zer0bitz_ joins (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) |
| 08:25:57 | → | pip[m] joins (~wyb-pipma@2001:470:69fc:105::2:d2f8) |
| 08:25:58 | ← | pip[m] parts (~wyb-pipma@2001:470:69fc:105::2:d2f8) () |
| 08:27:11 | × | zer0bitz quits (~zer0bitz@196.244.192.58) (Ping timeout: 264 seconds) |
| 08:31:28 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 08:48:40 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1) |
| 08:56:48 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 08:57:25 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 08:58:07 | <MangoIV[m]> | Hi, I have a question with the following szenario:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/196b3983e894e559fe9d61b1ae34403d97918690>) |
| 09:00:15 | <c_wraith> | there's no such thing |
| 09:01:01 | <c_wraith> | that set of performance constraints + immutable can't be solved. |
| 09:01:31 | <c_wraith> | Though I'd also note your set of performance constraints is inconsistent. |
| 09:02:01 | → | johnw joins (~johnw@2600:1700:cf00:db0:c0c5:4436:64e9:c855) |
| 09:02:06 | <c_wraith> | your rejection of Seq is because it has O(log n) lookup, but doubly linked lists have O(n) lookup |
| 09:02:20 | <MangoIV[m]> | thank you, so my only way out is implementing one with STRefs? |
| 09:02:36 | <MangoIV[m]> | c_wraith: what do you mean? |
| 09:04:16 | <MangoIV[m]> | c_wraith: did you read that this is *given an index into the structure, read reference or pointer*? |
| 09:04:17 | <c_wraith> | If you're comparing indexing into Seq, it's important to note you're always starting with the fingers of the finger tree. That's equivalent to starting looking around a doubly linked list from the ends. |
| 09:05:08 | <MangoIV[m]> | this is indeed O(1) as it merely requires following the pointer. |
| 09:05:34 | <c_wraith> | it only takes 1 pointer to reach the 5th element of a doubly linked lists when all you have is the ends? |
| 09:06:06 | <c_wraith> | It's worth comparing like with like. |
| 09:06:16 | <MangoIV[m]> | no, this is a given |
| 09:06:25 | <MangoIV[m]> | I do already have an index. |
| 09:06:42 | <MangoIV[m]> | i.e. the address of the element. |
| 09:07:00 | <c_wraith> | but that's not the operation you're comparing to in Seq when you say Seq isn't good enough |
| 09:07:23 | <MangoIV[m]> | c_wraith: I'm not arguing that `Seq` is a bad datastructure or want to make performance comparisons; `Seq` cannot accomplish what I need here, that's the only thing that's important to me. |
| 09:07:47 | <MangoIV[m]> | c_wraith: right, but there is no equivalent operations in `Seq` |
| 09:07:50 | <c_wraith> | If you stopped pre-rejecting it, maybe there's a solution |
| 09:07:56 | <c_wraith> | get creative |
| 09:08:05 | <c_wraith> | have you heard of zippers? |
| 09:08:16 | <MangoIV[m]> | so I have to compare to the operations that would be equivalent |
| 09:08:26 | <c_wraith> | right. so have you heard of zippers? |
| 09:08:33 | <MangoIV[m]> | c_wraith: yes, I could not come up with a spine that allows for this |
| 09:09:06 | <c_wraith> | typical list zippers do everything except O(1) cons/snoc, right? |
| 09:09:14 | <c_wraith> | so replace the lists with Seq |
| 09:09:22 | <c_wraith> | And there you are. |
| 09:09:29 | <MangoIV[m]> | c_wraith: they do have `O(1)` insertion? |
| 09:09:43 | <c_wraith> | they have O(1) cons and snoc |
| 09:09:52 | <MangoIV[m]> | no i mean list-zippers |
| 09:10:00 | <c_wraith> | sure. |
| 09:10:02 | <[Leary]> | Assuming you want to insert/delete/update at the cursor. |
| 09:10:41 | <c_wraith> | That's actually the entire point of zippers. |
| 09:10:51 | <c_wraith> | efficient access at the cursor. |
| 09:10:56 | <MangoIV[m]> | c_wraith: so I just store the zipper at the cursor? and then how do I propagate that change? |
| 09:11:31 | <MangoIV[m]> | c_wraith: yeah, I'm aware but I do not only need one access, I need to jump within the zipper, if you will |
| 09:11:51 | <MangoIV[m]> | and therefore it will be linear because I need to roll up the zipper |
| 09:12:12 | <c_wraith> | moving the cursor one step in a zipper is O(1), just like moving the focus in a double linked list is one step. |
| 09:12:44 | <c_wraith> | Or do you have an additional constraint, that you need random access between multiple focused positions/ |
| 09:13:30 | <MangoIV[m]> | c_wraith: basically, yeah, I thought that was implied by `O(1)` deletion, indexing and updating given a reference. |
| 09:13:36 | → | acidjnk joins (~acidjnk@p200300d6e7137a9711be15487ebf2b38.dip0.t-ipconnect.de) |
| 09:13:39 | × | Guest8974 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 265 seconds) |
| 09:14:08 | <c_wraith> | It's ambiguous when you've previously talked about having a distinguished point in the list that you want to traverse from. |
| 09:14:24 | <c_wraith> | You never mentioned having *multiples* of them. |
| 09:14:56 | <c_wraith> | Well now you're off into aliasing-land and all the bugs it brings. |
| 09:14:56 | <MangoIV[m]> | c_wraith: right, then please excuse me, I will have a ton of them |
| 09:15:08 | <[Leary]> | Moving n places in the Seq zipper would be O(log n). And frankly, programmers should not waste brain-space distinguishing between O(log n) and O(1). In reality, the latter is often worse. |
| 09:15:58 | <c_wraith> | You're back to the full set of operations requiring mutable refs. And giving yourself all the aliasing headaches normally reserved for C programmers. |
| 09:16:22 | <c_wraith> | At this point, I'd probably reconsider whether all these operations are actually necessary, or if you can do something simpler. |
| 09:16:39 | <MangoIV[m]> | [Leary]: that's surely true but the whole point of the algorithm I'm looking at is `O(n)` time complexity and that requires for the operation I'm talking and asking about to be `O(1)` time, if that's not the case then the algorithm would not be useful. |
| 09:17:18 | <MangoIV[m]> | c_wraith: that's what I'm trying to find out, yeah, I cannot be implementing a C style linked list in Haskell, that'd be horrific. |
| 09:18:01 | <c_wraith> | You can, but it's very pessimal for the GC algorithms |
| 09:18:14 | <c_wraith> | and it's pretty terrible for the ergonomics of writing the code. |
| 09:19:24 | <MangoIV[m]> | that both is very true which is why I'm trying to avoid it and why I'm asking here, I've been biting on granite with this. |
| 09:21:15 | <c_wraith> | You can probably do something a lot cleaner than a ton of refs with a mutable array and some index arithmetic. (look at how high-performance queues are stored in arrays, for instance) |
| 09:21:30 | <c_wraith> | Oh, nevermind. deleting. That's the one that still gets you |
| 09:22:07 | <c_wraith> | Honestly, this sounds like a mess anyway. Those constraints mean you're liable to delete an entry in the list that some other place is holding on to. |
| 09:22:10 | <MangoIV[m]> | yeah, this is a pity, my professor suggested dynamic arrays but deleting still bites me |
| 09:22:26 | <c_wraith> | And that's a fast track to corrupt the list. |
| 09:22:58 | <MangoIV[m]> | c_wraith: why? deleting should always be safe? |
| 09:24:39 | <MangoIV[m]> | the view on the list for an element would be something like |
| 09:24:39 | <MangoIV[m]> | ```haskell |
| 09:24:39 | <MangoIV[m]> | data Node a = MkNode { val :: a, n :: STRef (Maybe (Node a)), p :: STRef (Maybe (Node a)) } |
| 09:24:39 | <MangoIV[m]> | ``` |
| 09:24:41 | <c_wraith> | So let's say you're holding on to to refs, A and B. (not Haskell code, clearly.) You do some operations with them such that they move around a bit and eventually end up pointing to the same entry. Then the holder of A decides to delete it. B is no longer pointed to an entry in the list. |
| 09:24:56 | <c_wraith> | that's the standard aliasing problem |
| 09:25:29 | <MangoIV[m]> | c_wraith: this can never happen in my algorithm, afaict |
| 09:26:03 | <c_wraith> | that's great once it's working, but it's hell while you're debugging. |
| 09:26:09 | <MangoIV[m]> | or rather it could but it's explicit on how to avoid it. |
| 09:27:16 | <MangoIV[m]> | yeah, even writing the operations on the list in ST is not fun, especially something like the empty list which requires making an STRef that holds error for a while :D |
| 09:29:39 | <MangoIV[m]> | I think my way forward is to try and find out an alternative to the datastructures in the algorithm, I cannot for the life of me imagine that implementing an ST mutable linked list in Haskell is already the perfect solution. Thank you for the input though. |
| 09:31:58 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 09:35:27 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 09:36:23 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 255 seconds) |
| 09:40:55 | × | ubert quits (~Thunderbi@p200300ecdf264e518eb9d3d0ff313a22.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 09:47:46 | → | chele joins (~chele@user/chele) |
| 09:49:47 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 09:50:26 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 09:50:38 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 09:58:47 | → | hsw_ joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) |
| 09:58:52 | × | hsw_ quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection) |
| 10:00:03 | → | cfricke joins (~cfricke@user/cfricke) |
| 10:01:34 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:a232:e27a:d124:90ec) |
| 10:06:23 | × | akegalj quits (~akegalj@78-3-46-217.adsl.net.t-com.hr) (Quit: leaving) |
| 10:06:50 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds) |
| 10:15:39 | × | sus quits (zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net) |
| 10:19:00 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 10:20:31 | → | freeside joins (~mengwong@213.86.11.74) |
| 10:22:15 | × | thegeekinside quits (~thegeekin@189.128.148.159) (Ping timeout: 268 seconds) |
| 10:24:42 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 10:24:42 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 10:25:58 | Lord_of_Life_ | is now known as Lord_of_Life |
| 10:28:15 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 10:29:30 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 10:30:49 | × | zer0bitz_ quits (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) () |
| 10:32:43 | → | zer0bitz joins (~zer0bitz@196.244.192.57) |
| 10:35:59 | → | trev joins (~trev@user/trev) |
| 10:40:23 | <Profpatsch> | I think I’ve created something truly horrible |
| 10:40:27 | <Profpatsch> | define newtype Label (label :: Symbol) value = Label value |
| 10:40:34 | <Profpatsch> | Make a HasField instance |
| 10:40:42 | <Profpatsch> | define data T2 (l1 :: Symbol) t1 (l2 :: Symbol) t2 = T2 (Label l1 t1) (Label l2 t2) |
| 10:40:48 | <Profpatsch> | Make 2 HasField instances |
| 10:41:46 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 272 seconds) |
| 10:41:48 | <Profpatsch> | anonymous tuples with accessible-by-name fields that do not require to type out an extra record |
| 10:43:01 | <MangoIV[m]> | Just use NP with a functor that is labelled |
| 10:44:58 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 10:52:12 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 10:53:18 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 10:56:52 | → | __monty__ joins (~toonn@user/toonn) |
| 11:01:08 | → | xff0x joins (~xff0x@ai071162.d.east.v6connect.net) |
| 11:04:16 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 11:06:57 | → | eikke joins (~NicolasT@user/NicolasT) |
| 11:07:43 | × | son0p quits (~ff@2604:3d08:5b7f:5540::e96e) (Ping timeout: 260 seconds) |
| 11:08:12 | <eikke> | I seem to remember there's a way (in context of DataKinds) to specify some data type should actually only create a kind, and hence no constructor shall ever be used at the data-level. Am I wrong? Can't seem to find relevant docs. |
| 11:11:06 | <MangoIV[m]> | That is a new feature iirc, it’s currently being implemented or has just been implemented. Maybe it’s in HEAD of GHC |
| 11:14:27 | <MangoIV[m]> | TypeData I think is the name of the extension |
| 11:15:58 | × | freeside quits (~mengwong@213.86.11.74) (Ping timeout: 272 seconds) |
| 11:18:29 | × | acidjnk quits (~acidjnk@p200300d6e7137a9711be15487ebf2b38.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 11:18:55 | × | jargon quits (~jargon@174-22-192-24.phnx.qwest.net) (Remote host closed the connection) |
| 11:19:46 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 11:22:30 | <eikke> | MangoIV[m]: Thanks! |
| 11:24:10 | → | Wstfgl0 joins (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) |
| 11:25:18 | <__monty__> | I have an Advent of Code solution that runs out of memory. Is there an easy way to check whether something I wrote is too lazy? |
| 11:27:37 | × | Wstfgl0 quits (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) (Client Quit) |
| 11:32:45 | → | son0p joins (~ff@2604:3d08:5b7f:5540::e96e) |
| 11:34:31 | → | dextaa6 joins (~DV@user/dextaa) |
| 11:35:37 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 11:36:37 | × | dextaa quits (~DV@user/dextaa) (Ping timeout: 256 seconds) |
| 11:36:37 | dextaa6 | is now known as dextaa |
| 11:37:30 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 11:37:32 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 11:40:52 | × | Me-me quits (~Me-me@user/me-me) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 11:40:59 | × | foul_owl quits (~kerry@193.29.61.234) (Ping timeout: 264 seconds) |
| 11:41:09 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 11:44:27 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 11:44:29 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 11:44:32 | allbery_b | is now known as geekosaur |
| 11:51:24 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
| 11:53:30 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 11:56:17 | → | foul_owl joins (~kerry@157.97.134.157) |
| 11:59:25 | → | CiaoSen joins (~Jura@p200300c95715c4002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:01:33 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 256 seconds) |
| 12:02:35 | × | ulvarrefr quits (~user@188.124.56.153) (Read error: Connection reset by peer) |
| 12:05:58 | × | raym quits (~ray@user/raym) (Read error: Connection reset by peer) |
| 12:11:54 | → | raym joins (~ray@user/raym) |
| 12:20:38 | → | ulvarrefr joins (~user@188.124.56.153) |
| 12:29:50 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:cd68:fed:5456:432f) (Ping timeout: 246 seconds) |
| 12:34:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 12:39:25 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 260 seconds) |
| 12:39:34 | → | eikke joins (~NicolasT@user/NicolasT) |
| 12:44:07 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 12:49:42 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 272 seconds) |
| 12:50:46 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 12:53:18 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 12:54:46 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
| 13:02:50 | → | slack1256 joins (~slack1256@186.11.31.124) |
| 13:16:45 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 260 seconds) |
| 13:17:39 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 13:25:24 | × | andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 13:26:39 | × | xacktm quits (~xacktm@user/xacktm) (Ping timeout: 260 seconds) |
| 13:27:36 | × | bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:30:40 | <codedmart> | When using `-hT` can I specify where to output the *.hp file? |
| 13:32:36 | × | razetime quits (~quassel@49.207.230.181) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 13:35:03 | × | burakcank quits (burakcank@has.arrived.and.is.ready-to.party) (Killed (NickServ (GHOST command used by burakcank_!B438@free.znc.bg))) |
| 13:35:27 | → | burakcank joins (~burakcank@has.arrived.and.is.ready-to.party) |
| 13:36:47 | × | CiaoSen quits (~Jura@p200300c95715c4002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 13:39:27 | → | kenran joins (~user@user/kenran) |
| 13:39:34 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 252 seconds) |
| 13:41:10 | → | wei2912 joins (~wei2912@138.75.131.197) |
| 13:43:10 | × | tabemann_ quits (~tabemann@2600:1700:7990:24e0:a525:f2f6:8a3c:81c2) (Remote host closed the connection) |
| 13:43:23 | → | tabemann_ joins (~tabemann@2600:1700:7990:24e0:b44:a3db:aa8e:8d3c) |
| 13:44:31 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 13:46:01 | → | Guest8974 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 13:46:17 | → | vpan joins (~0@212.117.1.172) |
| 13:47:10 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:48:04 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 13:51:13 | → | CiaoSen joins (~Jura@p200300c95715c4002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 13:51:27 | <geekosaur> | doesn't look like it |
| 13:56:00 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 13:57:06 | → | SIben joins (~SIben@ns3106586.ip-5-135-191.eu) |
| 13:58:08 | → | mestre joins (~mestre@191.177.185.178) |
| 14:01:19 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 260 seconds) |
| 14:09:12 | → | coot joins (~coot@213.134.171.3) |
| 14:12:40 | → | xacktm joins (~xacktm@user/xacktm) |
| 14:14:58 | → | andreas303 joins (andreas303@ip227.orange.bnc4free.com) |
| 14:15:00 | × | SIben quits (~SIben@ns3106586.ip-5-135-191.eu) (Read error: Connection reset by peer) |
| 14:23:41 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 14:24:56 | → | danza joins (~francesco@rm-19-51-26.service.infuturo.it) |
| 14:25:19 | → | eikke joins (~NicolasT@user/NicolasT) |
| 14:27:20 | → | thegeekinside joins (~thegeekin@189.128.148.159) |
| 14:27:27 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:30:32 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
| 14:32:00 | × | Guest8974 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 14:32:30 | × | danza quits (~francesco@rm-19-51-26.service.infuturo.it) (Read error: Connection reset by peer) |
| 14:32:39 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Quit: WeeChat 3.7.1) |
| 14:35:45 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:559e:1a52:b1a:4fff) |
| 14:36:19 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 14:38:10 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.7.1) |
| 14:40:43 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 248 seconds) |
| 14:42:59 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1) |
| 15:00:22 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 15:01:49 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:02:25 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:03:57 | <jean-paul[m]> | cabal init offers me up to cabal format 3.4 but defaults to 3.0. why wouldn't I want to bump up to 3.4? |
| 15:07:23 | <geekosaur> | https://cabal.readthedocs.io/en/3.8/file-format-changelog.html#cabal-version-3-4 |
| 15:07:41 | <geekosaur> | the second point seems like it might be a breaking change |
| 15:09:54 | <jean-paul[m]> | Okay. I guess that might bug me if I were upgrading an existing project to 3.4 (or if I had strong opinions about sublibraries - whatever those are!). It seems kind of minor though, so maybe 3.4 is fine for my new project where I don't have any such strong opinions... Thanks |
| 15:09:59 | → | freeside joins (~mengwong@213.86.11.74) |
| 15:11:00 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
| 15:12:42 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 252 seconds) |
| 15:15:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:15:09 | <jean-paul[m]> | But maybe cabal2nix has strong opinions since it's giving me a parse error now ... |
| 15:15:28 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 15:17:46 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 15:17:56 | <jean-paul[m]> | Too bad cabal2nix doesn't say right on it what versions of cabal format it supports |
| 15:19:08 | <jean-paul[m]> | eh 3.0 and 3.4 formats don't look so different that they should break any parsing though ... |
| 15:19:25 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 15:19:48 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 15:20:12 | <geekosaur> | would break dependency stuff, but I wouldn't be surprised if they handle Cabal-version as part of parsing |
| 15:21:42 | <geekosaur> | (since it might change parsing, although it doesn't in this case. but see for example Cabal-version 3.8) |
| 15:22:16 | <jean-paul[m]> | Oh, cabal init lets you type syntactically invalid values in for some fields |
| 15:22:34 | <jean-paul[m]> | and I did. so the cabal file is actually syntactically invalid. |
| 15:27:44 | × | freeside quits (~mengwong@213.86.11.74) (Ping timeout: 252 seconds) |
| 15:29:09 | × | raym quits (~ray@user/raym) (Read error: Connection reset by peer) |
| 15:31:31 | × | beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 15:31:56 | → | beefbambi joins (~beefbambi@183.82.207.16) |
| 15:34:20 | <jean-paul[m]> | aha. So that lets it get further. But then it still fails with a parse error, this time explicitly stating that 3.4 is unsupported :p |
| 15:34:23 | → | raym joins (~ray@user/raym) |
| 15:36:42 | → | nschoe joins (~q@141.101.51.197) |
| 15:37:32 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 15:38:44 | × | Guest25_ quits (~Guest25_@cm-171-101-20-84.revip11.asianet.co.th) (Quit: Client closed) |
| 15:43:31 | × | jonathanx quits (~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Remote host closed the connection) |
| 15:45:08 | × | quazimodo quits (~quazimodo@122-199-39-221.ip4.superloop.com) (Ping timeout: 272 seconds) |
| 15:47:06 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 15:53:48 | × | wei2912 quits (~wei2912@138.75.131.197) (Remote host closed the connection) |
| 15:56:20 | → | Guest8974 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 15:57:49 | × | mestre quits (~mestre@191.177.185.178) (Quit: Lost terminal) |
| 16:01:12 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:09:31 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:10:48 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 16:13:00 | × | Guest8974 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds) |
| 16:14:17 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 16:14:43 | × | coot quits (~coot@213.134.171.3) (Quit: coot) |
| 16:15:51 | × | ft quits (~ft@p4fc2a257.dip0.t-ipconnect.de) (Quit: leaving) |
| 16:18:35 | → | notzmv joins (~zmv@user/notzmv) |
| 16:18:49 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 16:31:41 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:a232:e27a:d124:90ec) (Remote host closed the connection) |
| 16:33:05 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:559e:1a52:b1a:4fff) (Quit: WeeChat 2.8) |
| 16:35:16 | → | jao joins (~jao@140.68.79.188.dynamic.jazztel.es) |
| 16:41:30 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 272 seconds) |
| 16:45:11 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 16:46:32 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 265 seconds) |
| 16:47:06 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 16:49:13 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 16:54:00 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 16:55:26 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 272 seconds) |
| 16:56:56 | → | tomokojun joins (~tomokojun@75.164.24.44) |
| 16:58:52 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 16:59:33 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 17:01:46 | × | jao quits (~jao@140.68.79.188.dynamic.jazztel.es) (Ping timeout: 272 seconds) |
| 17:02:25 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 17:03:14 | × | Major_Biscuit quits (~MajorBisc@c-001-007-014.client.tudelft.eduvpn.nl) (Ping timeout: 246 seconds) |
| 17:07:24 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 17:08:41 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 17:14:48 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 252 seconds) |
| 17:16:25 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Remote host closed the connection) |
| 17:18:08 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 17:24:44 | → | emad joins (~emad@102.42.147.181) |
| 17:25:22 | × | emad quits (~emad@102.42.147.181) (Remote host closed the connection) |
| 17:25:23 | × | tomokojun quits (~tomokojun@75.164.24.44) (Quit: じゃあね〜。) |
| 17:28:02 | → | econo joins (uid147250@user/econo) |
| 17:28:16 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 17:29:13 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 17:30:32 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 17:31:14 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 17:31:54 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 260 seconds) |
| 17:32:54 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 17:33:22 | × | nschoe quits (~q@141.101.51.197) (Quit: Switching off) |
| 17:37:07 | → | eikke joins (~NicolasT@user/NicolasT) |
| 17:39:12 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 17:40:19 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Remote host closed the connection) |
| 17:41:56 | × | Xeroine_ quits (~Xeroine@user/xeroine) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 17:42:06 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Remote host closed the connection) |
| 17:42:16 | → | Xeroine joins (~Xeroine@user/xeroine) |
| 17:46:22 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 17:52:53 | ← | onosendi parts (sid552923@user/onosendi) (WeeChat 3.7.1) |
| 17:53:04 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 272 seconds) |
| 17:56:48 | → | [exa] joins (~exa@user/exa/x-3587197) |
| 17:57:41 | × | iqubic quits (~avi@2601:602:9502:c70:98f0:c0ba:f8c9:e2cc) (Ping timeout: 255 seconds) |
| 17:58:52 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:00:40 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 272 seconds) |
| 18:01:03 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 18:02:53 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 18:03:12 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 18:04:21 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 18:11:07 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 265 seconds) |
| 18:12:47 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:17:28 | × | lbseale_ quits (~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:18:00 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 18:18:07 | × | lbseale quits (~quassel@user/ep1ctetus) (Client Quit) |
| 18:18:37 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 18:18:53 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 18:23:43 | × | lbseale quits (~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:24:05 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 18:33:23 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 260 seconds) |
| 18:33:58 | × | CiaoSen quits (~Jura@p200300c95715c4002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 18:37:17 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 18:40:49 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 18:45:25 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 252 seconds) |
| 18:58:20 | → | bjourne joins (~bjorn@94.191.153.8) |
| 19:01:22 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 19:03:09 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 19:03:29 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 19:03:56 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 19:04:29 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 19:05:22 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 19:05:59 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
| 19:07:56 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 19:15:05 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 255 seconds) |
| 19:15:42 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 19:16:56 | → | fizbin joins (~fizbin@user/fizbin) |
| 19:20:40 | × | fizbin quits (~fizbin@user/fizbin) (Read error: Connection reset by peer) |
| 19:23:51 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 19:25:56 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 19:28:07 | → | Guest8974 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 19:30:36 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 19:31:48 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 19:33:42 | → | fizbin joins (~fizbin@user/fizbin) |
| 19:41:44 | → | Topsi joins (~Topsi@dyndsl-091-096-146-006.ewe-ip-backbone.de) |
| 19:41:57 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 19:42:11 | → | Me-me joins (~Me-me@146.102.215.218.dyn.iprimus.net.au) |
| 19:42:55 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Remote host closed the connection) |
| 19:43:13 | → | acidjnk joins (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) |
| 19:46:35 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 19:47:07 | × | Me-me quits (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Changing host) |
| 19:47:07 | → | Me-me joins (~Me-me@user/me-me) |
| 19:51:42 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) |
| 19:52:40 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 268 seconds) |
| 19:54:49 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 20:00:03 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Remote host closed the connection) |
| 20:06:01 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 20:06:02 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 20:10:08 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:ded3:12eb:7e61:b24d) |
| 20:15:37 | → | iqubic joins (~avi@2601:602:9502:c70:ddf2:fbad:a58:4a0b) |
| 20:30:22 | → | freeside joins (~mengwong@88.128.92.124) |
| 20:31:28 | → | kenran joins (~user@user/kenran) |
| 20:32:11 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 20:32:44 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds) |
| 20:37:35 | → | elevenkb joins (~elevenkb@105.224.37.128) |
| 20:39:50 | → | mikoto-chan joins (~mikoto-ch@85-76-117-13-nat.elisa-mobile.fi) |
| 20:46:10 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 20:46:54 | <phileasfogg> | Beginner question here. I defined my own data type, and trying to redefine that type's multiplication and add/sub using the hmatrix. |
| 20:47:06 | <phileasfogg> | basically, here's what I'm doing right now: |
| 20:48:04 | <phileasfogg> | https://paste.tomsmeding.com/rUB87wUg |
| 20:48:54 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 20:49:31 | <phileasfogg> | due to my lack of understanding, I don't know why this is not working. ghci says that '+' is not "visible" from the Matrix type. |
| 20:50:04 | <phileasfogg> | however, I can naturally use all the +,-,* operators with hmatrix |
| 20:50:24 | <phileasfogg> | why it's not working when I make an instance? |
| 20:50:51 | × | fizbin quits (~fizbin@user/fizbin) (Remote host closed the connection) |
| 20:50:56 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 20:51:09 | → | fizbin joins (~fizbin@user/fizbin) |
| 20:51:56 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 20:52:40 | <geekosaur> | hnatrix does not use its own definitions, it uses the standard numeric classes (Num and subclasses) |
| 20:52:47 | <geekosaur> | *hmatrix |
| 20:54:53 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Quit: leaving) |
| 21:00:44 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds) |
| 21:01:47 | <phileasfogg> | In that case, what would be the reasonable approach to build my on +-* definitions, but still sticking with hmatrix? |
| 21:01:49 | → | ft joins (~ft@p4fc2a257.dip0.t-ipconnect.de) |
| 21:04:33 | <geekosaur> | you want to instance Num. hmatrix should still work |
| 21:04:50 | <geekosaur> | (I'm on the phone now, hopefully someone else can help) |
| 21:05:53 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 21:05:55 | <dsal> | Is Matrix a class? |
| 21:06:29 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 21:06:44 | <dsal> | I don't know hmatrix, but in browsing around, it looks like Matrix is a concrete type. |
| 21:08:15 | <phileasfogg> | Oh, so I think I should know how to instance the type A but still use the type B as my type’s value |
| 21:09:21 | <dsal> | Your type can have an instance of a class, but it can't have an instance of a type. |
| 21:10:17 | × | freeside quits (~mengwong@88.128.92.124) (Ping timeout: 246 seconds) |
| 21:10:36 | <phileasfogg> | phileasfogg Oh, sorry. Please think of Type A and B as classes. |
| 21:12:12 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:12:43 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 21:14:00 | <dsal> | I don't know this package, but it defines a `Matrix t` and has a lot of functions like `luSolve' :: (Fractional t, Container Vector t) => LU t -> Matrix t -> Matrix t` which work with any `Matrix t` as long as that `t` is a `Fractional` instance and a `Container Vector` instance. |
| 21:14:55 | <dsal> | `Fractional` requires `Num` so your `t` here has to have a `Num` instance and a `Fractional` instance to call that function. |
| 21:15:34 | <dsal> | I don't know what functions you're calling, though. If you provide a specific bit of code you're trying to use, it'd be clearer. |
| 21:16:52 | → | isovector joins (~isovector@172.103.253.106) |
| 21:17:24 | <isovector> | is there some trick for putting a type of the form `c => t` as the RHS of a type family? |
| 21:19:25 | <phileasfogg> | https://paste.tomsmeding.com/1bPYpG2Q |
| 21:19:35 | <phileasfogg> | This is basically what I'm trying right now |
| 21:19:56 | <dsal> | That's what you're doing. It's not clear why you're doing this. |
| 21:20:01 | <dsal> | Where is `class Matrix` defined? |
| 21:20:10 | × | jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in) |
| 21:20:25 | <dsal> | Also, those {}s look really weird there. |
| 21:21:08 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 21:24:06 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 21:24:23 | <phileasfogg> | https://paste.tomsmeding.com/If5qEFkx |
| 21:24:29 | <phileasfogg> | Which {}s? |
| 21:25:10 | <dsal> | `{ x; }` should be written `x` |
| 21:25:23 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 21:25:38 | × | jludwig quits (~justin@li657-110.members.linode.com) (Client Quit) |
| 21:25:58 | × | Guest8974 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 21:26:18 | <phileasfogg> | oh, so just like Ket x :: String ? |
| 21:26:50 | <dsal> | No, that one is defining a record. It's all the rest of them with the {} and ; in the bodies. Minor thing. |
| 21:27:19 | <phileasfogg> | got it. |
| 21:27:32 | <dsal> | So you're defining your own `Matrix` class. I think defining a class with `(+)` and `(-)` is going to be painful, but it's doable. It's not clear what you mean by `instance Matrix t Ket where` or why the compiler is accepting that. |
| 21:27:59 | → | freeside joins (~mengwong@ip165.ip-51-38-214.eu) |
| 21:28:39 | <dsal> | I think you mean `instance Matrix Ket where` since `Matrix` only has one parameter. But your next error will be confusion around what those two different `(+)` functions do. |
| 21:29:33 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 21:30:23 | <dsal> | Though there's also no `Num` instance for `String` so you won't be able to `(+)` them anyway. |
| 21:30:24 | × | freeside quits (~mengwong@ip165.ip-51-38-214.eu) (Read error: Connection reset by peer) |
| 21:30:25 | <dsal> | :t (+) |
| 21:30:26 | <lambdabot> | Num a => a -> a -> a |
| 21:30:59 | <dsal> | I'm having a bit of trouble understanding what you're trying to do. I can see what you're doing and tell you why it won't work, but I can't tell you how to get where you're going because I don't understand where you're going. |
| 21:32:10 | <phileasfogg> | okay, so I thought the hmatrix is allowing me to simply do some dot product and such with their data, so I simply made an instance of it so that I can basically build an "expanded" version of matrix type. |
| 21:32:23 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 21:32:50 | <dsal> | You're not using anything related to hmatrix in this sample. |
| 21:32:50 | <phileasfogg> | Since Bra-Ket notation is pretty handy, I wanted to implement that |
| 21:33:57 | <phileasfogg> | Reason I made an instance was to define the "show" instance later as well so that I can make it show the result in the right notation instad of evaluating every matrix calculations. |
| 21:34:30 | <dsal> | You generally don't want to do that with a Show instance, but that's a different problem. |
| 21:34:46 | <phileasfogg> | Ok, noted. |
| 21:35:18 | <phileasfogg> | sorry about omitting it in the first place, but "import Numeric.LinearAlgebra" is on the top |
| 21:35:56 | <dsal> | There's nothing in here that's doing anything that requires anything other than prelude, though. |
| 21:36:10 | <dsal> | (except wherever `Ket` is defined) |
| 21:37:01 | → | tabaqui joins (~root@88.231.57.48) |
| 21:37:05 | <dsal> | Er, that's defined here. Yeah, this is showing me all the things. |
| 21:37:24 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 21:37:24 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 21:37:27 | <dsal> | I don't know why you're getting that particular error -- there are a few different errors I'd expect from this code. |
| 21:37:59 | <dsal> | But I don't know what you're trying to satisfy. I can see you're attempting to write some code, and I could probably make some code compile, but it may not be related to what you're trying to do. |
| 21:37:59 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 21:38:11 | <dsal> | e.g., I don't know what you mean when you have `aString + anotherString` |
| 21:38:21 | <dsal> | > "a" + "b" |
| 21:38:23 | <lambdabot> | error: |
| 21:38:23 | <lambdabot> | • No instance for (Num [Char]) arising from a use of ‘+’ |
| 21:38:23 | <lambdabot> | • In the expression: "a" + "b" |
| 21:39:45 | <phileasfogg> | hmm |
| 21:39:47 | <dsal> | Or maybe stoket does something… but stoket would have to take s string and return something that's a matrix. I guess that's what you mean. |
| 21:39:50 | <phileasfogg> | stoket :: String -> Matrix R |
| 21:40:25 | <dsal> | Oh. Yeah, OK. So your `+` can't change the type. |
| 21:40:41 | <dsal> | You might try just doing this without the class first. |
| 21:40:58 | <phileasfogg> | Okay, I'll comment out the class. |
| 21:41:01 | <dsal> | Can you write a function `Ket -> Ket -> Matrix R` ? |
| 21:41:21 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 21:42:07 | <phileasfogg> | I can. It's just a simple mat multiplication |
| 21:42:13 | <phileasfogg> | wait a sec |
| 21:42:16 | → | quazimodo joins (~quazimodo@122-199-39-221.ip4.superloop.com) |
| 21:42:29 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:ded3:12eb:7e61:b24d) (Quit: WeeChat 2.8) |
| 21:42:47 | <dsal> | Matrix can be a Functor which will allow `fmap (Ket -> R)` be a function `Matrix Ket -> Matrix R` |
| 21:42:58 | × | isovector quits (~isovector@172.103.253.106) (Ping timeout: 260 seconds) |
| 21:45:28 | <phileasfogg> | wait, the function is actually too simple |
| 21:45:30 | <phileasfogg> | matmul A B = A <> B |
| 21:45:54 | <phileasfogg> | this time using the hmatrix properly, I assume |
| 21:46:02 | → | gmg joins (~user@user/gehmehgeh) |
| 21:46:02 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 21:46:26 | <EvanR> | I wish I knew functional programming with types when I learned bra-ket notation |
| 21:47:07 | <dsal> | So you just need a semigroup instance? |
| 21:47:11 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 255 seconds) |
| 21:48:45 | <phileasfogg> | it is just hmatrix one I guess |
| 21:48:48 | <phileasfogg> | https://dis.um.es/~alberto/hmatrix/hmatrixtut.html |
| 21:49:02 | <phileasfogg> | it's the dot product |
| 21:49:36 | <phileasfogg> | wait |
| 21:49:38 | <EvanR> | dot product is between two vectors right |
| 21:49:41 | <dsal> | (<>) :: Numeric t => Matrix t -> Matrix t -> Matrix t infixr 8 -- Oh. That's kind of gross. |
| 21:49:48 | → | daveakre[m] joins (~daveakrem@2001:470:69fc:105::1:88b7) |
| 21:49:59 | <darkling> | EvanR: Yes, two vectors to a scalar. |
| 21:50:18 | <EvanR> | does it even make sense with two matrices |
| 21:50:19 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
| 21:50:32 | <phileasfogg> | EvanR: sorry, dot product is <.>. this one is just a matmul |
| 21:50:52 | <EvanR> | or matrix multiplication is treated as a generalization of dot |
| 21:50:56 | <darkling> | Not as far as I know, but it's 30 years since I went near that sort of thing. |
| 21:51:23 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 21:51:44 | <darkling> | (I mean, I can do vector dot products, but there's a pile of funkier stuff in higher-dimensional structures like tensors that I know nothing about) |
| 21:51:49 | <phileasfogg> | dsal: I know, it's kinda gross. If there's any better matrix calc library I'd use that |
| 21:52:33 | <dsal> | I just mean it's gross that they made something that looks like Semigroup that isn't a Semigroup instance for some reason. |
| 21:52:59 | <phileasfogg> | darkling: tensors are difficult when you try to gain a deep understanding, probably |
| 21:53:08 | <phileasfogg> | dsal: yes, I meant that |
| 21:53:08 | × | jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in) |
| 21:53:32 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 21:53:54 | <darkling> | phileasfogg: There's a reason I'm no longer a mathematician. :) |
| 21:54:56 | <probie> | It's worth remembering that hmatrix pre-dates semigroup being in base |
| 21:57:26 | <phileasfogg> | https://paste.tomsmeding.com/FAZ3WIsV |
| 21:58:26 | <phileasfogg> | okay, so this is pretty much everything, except stobra (which is extreamly simple as well) |
| 21:59:36 | → | isovector joins (~isovector@172.103.253.106) |
| 22:00:00 | → | kenaryn joins (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) |
| 22:00:02 | × | kenaryn quits (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Client Quit) |
| 22:00:36 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:00:45 | <dsal> | That still has all the stuff I mentioned above. |
| 22:01:26 | <dsal> | What does `Matrix t Ket` mean? |
| 22:02:24 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 22:03:12 | <monochrom> | "instance Matrix" looks illegal in the first place, given that Matrix is not a class. |
| 22:03:27 | <monochrom> | No one writes "instance Bool Foo Bar" for example. |
| 22:03:37 | <dsal> | One of the previous pastes defined a `class Matrix a` |
| 22:03:38 | <monochrom> | So, very wrong concept? |
| 22:03:52 | <monochrom> | Ah OK so what's hmatrix doing here? |
| 22:04:16 | <Hecate> | The "Ket" raises more questions |
| 22:06:02 | <phileasfogg> | sorry, I just edited on the old revision of the pastebin, but I just wanted to show you the stoket function. |
| 22:07:01 | <phileasfogg> | https://paste.tomsmeding.com/tc0Pnoga |
| 22:07:35 | <phileasfogg> | maybe I should eliminate every Matrix "R", since it makes no sense |
| 22:08:06 | <dsal> | instance Matrix Ket where (Ket a) + (Ket b) = stoket b + stoket b |
| 22:08:24 | <dsal> | So, one of the problems you have is that those two `+` functions have different types. |
| 22:08:40 | <phileasfogg> | Ah, I got it |
| 22:08:59 | <phileasfogg> | I was worried about it in a very vague form, but I couldn't explain it well |
| 22:09:15 | <monochrom> | Then I reinstate what I said. There is no way both "String -> Matrix R" (so Matrix is a type not a class" and "instance Matrix" (so Matrix is suddenly a class not a type) can both make sense in the same file. |
| 22:09:15 | <dsal> | It'd be easier to explain with a complete code example, but you're doing different things. |
| 22:09:31 | <dsal> | You *possibly* want to be defining a `Num` instance for that `(+)` function, but it's not clear. |
| 22:10:03 | <phileasfogg> | I think you're right |
| 22:10:46 | <phileasfogg> | since being able to "visualy" use the basic arithmetic symbols are pretty much everything for me in this one |
| 22:10:58 | <dsal> | :t (+) |
| 22:10:59 | <lambdabot> | Num a => a -> a -> a |
| 22:11:09 | <dsal> | Yes, but that only makes sense if they do the same thing. This function can't change types. |
| 22:11:49 | <dsal> | And it needs to work with any `Num`. So if you're defining a *different* `(+)` and using two different definitions of `(+)` (one from Num and one from your Matrix) on the same line, the compiler should tell you that doesn't make sense. |
| 22:12:11 | <dsal> | But also, classes are for constraints and data is for types, so there's a bit of confusion there that monochrom is hinting at. |
| 22:12:41 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 22:14:06 | ← | isovector parts (~isovector@172.103.253.106) () |
| 22:14:25 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 22:15:23 | × | sagax quits (~sagax_nb@user/sagax) (Ping timeout: 260 seconds) |
| 22:17:09 | <phileasfogg> | Okay, I'll try that, and come back within a few hr, just after a quick refresh. |
| 22:17:23 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 260 seconds) |
| 22:18:17 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 22:23:46 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:25:24 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 272 seconds) |
| 22:26:16 | → | fizbin joins (~fizbin@user/fizbin) |
| 22:28:30 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 22:30:56 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 22:37:06 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 22:41:27 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:42:52 | → | notzmv joins (~zmv@user/notzmv) |
| 22:42:59 | → | jao joins (~jao@140.68.79.188.dynamic.jazztel.es) |
| 22:49:40 | → | zero joins (~z@user/zero) |
| 22:50:15 | → | danza joins (~francesco@151.37.70.15) |
| 22:52:27 | × | zzz quits (~z@user/zero) (Ping timeout: 248 seconds) |
| 22:55:49 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
| 23:03:08 | × | paulpaul1076 quits (~textual@95-29-5-111.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:04:16 | <dsal> | can I make a function in .ghci? |
| 23:04:34 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 23:05:48 | <geekosaur> | looks like it, yes |
| 23:05:56 | <monochrom> | Yes, just add a line like "f x = x + 1" |
| 23:06:02 | <geekosaur> | I even used :{ :} for a multi-liner |
| 23:06:22 | <dsal> | Hmm... I was trying some of that stuff and failing. I've got a bunch of complication here, though. |
| 23:07:16 | <monochrom> | I think it has to because things like :set prompt-function accepts Haskell functions. |
| 23:07:34 | <hpc> | the perl hacker in me thinks that feature is excellent, and the software packager in me says just write/install your own ghci-utils package and pretend you never discovered that feature |
| 23:07:50 | <monochrom> | Err nevermind, you could write an in-situ lambda for that, heh. |
| 23:08:22 | × | mikoto-chan quits (~mikoto-ch@85-76-117-13-nat.elisa-mobile.fi) (Ping timeout: 265 seconds) |
| 23:08:24 | <monochrom> | I think it has to because the devs are too lazy to write a restrictive parser for .ghci :) |
| 23:09:19 | <hpc> | it's in the tradition of all other rc files |
| 23:09:47 | <hpc> | .vimrc is just a bunch of stuff that happens at the start of running it, exactly as if you typed it in command mode |
| 23:10:12 | <monochrom> | Conjecture: xmonad was written by a haskell hacker who's a perl/lisp hacker at heart. >:) |
| 23:10:29 | <hpc> | .bashrc is the same |
| 23:10:47 | <geekosaur> | nobody may ever know, since spencer has vanished… |
| 23:11:40 | <monochrom> | The tradition lives on in why json was made json. >:) |
| 23:12:16 | <monochrom> | javascript already has eval() so a "data" format just needs to be an rc format. |
| 23:12:18 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 252 seconds) |
| 23:13:53 | <hpc> | sort of |
| 23:14:08 | <hpc> | there are valid json values that eval will error on |
| 23:16:03 | <hpc> | hmm, maybe not anymore though? in any event wikipedia says it took until 2019 for that to happen |
| 23:17:10 | <monochrom> | I may have guessed without researching the actual history. |
| 23:17:27 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 260 seconds) |
| 23:17:52 | <hpc> | you're probably right about the inspiration, apparently the only thing that ever failed was literal unicode characters |
| 23:18:04 | <monochrom> | Ah |
| 23:18:21 | <hpc> | other fun trivia from that page: yaml wasn't a json superset until version 1.2 |
| 23:18:45 | <c_wraith> | naming a key in a json object "__proto__" causes eval to have issues. or at least did last I checked |
| 23:19:15 | <monochrom> | Greenspun's law but millenial: Every large program contains a lisp^H^H^H^H javscript implementation >:) |
| 23:20:09 | <hpc> | javascript was originally based on clojure, and then due to netscape management decisions gained a C-like syntax |
| 23:20:25 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 23:20:38 | <hpc> | and so much stuff ships as electron apps that i think we can shorten greenspun's law to "every program is large" |
| 23:20:44 | → | Guest96 joins (~Guest96@host-87-16-161-253.retail.telecomitalia.it) |
| 23:20:48 | <monochrom> | Oh BTW did you hear my Law of Gravity Lensing the other day? Every sufficiently massive program contains a lens implementation. >:) |
| 23:21:10 | <monochrom> | hahaha |
| 23:21:50 | × | Guest96 quits (~Guest96@host-87-16-161-253.retail.telecomitalia.it) (Client Quit) |
| 23:27:24 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 23:28:31 | → | eikke joins (~NicolasT@user/NicolasT) |
| 23:30:42 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
| 23:33:27 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 23:41:35 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 23:42:33 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 23:44:08 | → | Major_Biscuit joins (~MajorBisc@31-23-159.netrun.cytanet.com.cy) |
| 23:47:00 | × | jao quits (~jao@140.68.79.188.dynamic.jazztel.es) (Ping timeout: 268 seconds) |
| 23:50:05 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
All times are in UTC on 2022-12-20.