Newest at the top
| 2026-05-21 14:40:43 +0000 | <jaror> | But that hardly sounds tipical |
| 2026-05-21 14:40:37 +0000 | <jaror> | Yes if you want to unsafely freeze or thaw it and use it mostly as a large mutable array then there seems to be an advantage to Array# |
| 2026-05-21 14:39:30 +0000 | <tomsmeding> | well unless it's long and you might want to thaw it at some point |
| 2026-05-21 14:38:41 +0000 | <jaror> | The documentation seems to imply that it is only mutation that is a problem and thus that SmallArray# should always be preferred over Array#... |
| 2026-05-21 14:37:29 +0000 | <jaror> | There's some documentation in the primitive package and also some documentation here: https://hackage-content.haskell.org/package/ghc-prim-0.13.0/docs/GHC-Prim.html#g:19 |
| 2026-05-21 14:37:26 +0000 | <tomsmeding> | > This allows the garbage collector to only re-traverse segments of the array that have been marked during certain phases |
| 2026-05-21 14:36:41 +0000 | <tomsmeding> | sure, I found that one first but there were no docs there whatsoever :) |
| 2026-05-21 14:36:12 +0000 | <jaror> | Yeah, or the GHC builtin one: https://hackage.haskell.org/package/base-4.21.0.0/docs/GHC-Exts.html#t:SmallArray-35- |
| 2026-05-21 14:35:49 +0000 | <tomsmeding> | oh primitive:Data.Primitive.SmallArray? |
| 2026-05-21 14:35:25 +0000 | <tomsmeding> | ok I don't actually know what SmallArray you're talking about :) |
| 2026-05-21 14:34:57 +0000 | <jaror> | But maybe it is an optimization for the other non-copying strategies that GHC also applies? |
| 2026-05-21 14:34:47 +0000 | chexum_ | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2026-05-21 14:34:40 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds) |
| 2026-05-21 14:33:48 +0000 | <jaror> | I mean all the elements needs to be copied deeply, no? |
| 2026-05-21 14:33:45 +0000 | danza | (~danza@user/danza) danza |
| 2026-05-21 14:33:24 +0000 | <tomsmeding> | there's memcpy(), and then there's following all the pointers to all the heap nodes referenced from the array cells |
| 2026-05-21 14:27:36 +0000 | <jaror> | It talks about the GC not having to traverse all elements, but doesn't it need to do that anyway to copy everything over? |
| 2026-05-21 14:26:44 +0000 | <jaror> | I don't really understand any of the explanations in the docs on SmallArrays |
| 2026-05-21 14:23:35 +0000 | <jaror> | The immutable Array# I mean |
| 2026-05-21 14:23:13 +0000 | <jaror> | Do arrays still need a card table if their elements are unlifted? |
| 2026-05-21 14:16:51 +0000 | spew | (~spew@user/spew) spew |
| 2026-05-21 14:00:29 +0000 | ridcully | (~ridcully@p57b529aa.dip0.t-ipconnect.de) ridcully |
| 2026-05-21 13:59:30 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-05-21 13:58:18 +0000 | ridcully_ | (~ridcully@p57b529aa.dip0.t-ipconnect.de) (Quit: WeeChat 4.8.1) |
| 2026-05-21 13:54:51 +0000 | Inst | (~Inst@user/Inst) (Remote host closed the connection) |
| 2026-05-21 13:45:29 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2026-05-21 13:39:21 +0000 | AlexZenon | (~alzenon@5.139.233.99) |
| 2026-05-21 13:38:50 +0000 | AlexZenon | (~alzenon@5.139.233.99) (Read error: Connection reset by peer) |
| 2026-05-21 13:36:09 +0000 | Alex_delenda_est | (~al_test@5.139.233.99) (Read error: Connection reset by peer) |
| 2026-05-21 13:34:23 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod |
| 2026-05-21 13:27:59 +0000 | gf316 | gf31 |
| 2026-05-21 13:27:58 +0000 | gf31 | (~gf3@user/gf3) (Ping timeout: 256 seconds) |
| 2026-05-21 13:27:42 +0000 | vanishingideal | (~vanishing@user/vanishingideal) (Remote host closed the connection) |
| 2026-05-21 13:26:03 +0000 | gf316 | (~gf3@user/gf3) gf3 |
| 2026-05-21 13:24:07 +0000 | AlexZenon | (~alzenon@5.139.233.99) |
| 2026-05-21 13:23:14 +0000 | AlexZenon | (~alzenon@5.139.233.99) (Read error: Connection reset by peer) |
| 2026-05-21 13:20:51 +0000 | AlexZenon | (~alzenon@5.139.233.99) |
| 2026-05-21 13:17:49 +0000 | myxos | (~myxos@67-1-178-42.tcso.qwest.net) myxokephale |
| 2026-05-21 13:16:11 +0000 | AlexZenon | (~alzenon@5.139.233.99) (Ping timeout: 244 seconds) |
| 2026-05-21 13:12:42 +0000 | Alex_delenda_est | (~al_test@5.139.233.99) |
| 2026-05-21 13:12:14 +0000 | AlexNoo_ | AlexNoo |
| 2026-05-21 13:00:16 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-05-21 12:59:47 +0000 | slondr | (cf9f9e8f44@2a03:6000:1812:100::10b6) slondr |
| 2026-05-21 12:58:01 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-05-21 12:56:56 +0000 | slondr | (cf9f9e8f44@2a03:6000:1812:100::10b6) (Ping timeout: 257 seconds) |
| 2026-05-21 12:56:44 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 2026-05-21 12:48:48 +0000 | CiaoSen | (~Jura@dynamic-046-114-169-083.46.114.pool.telefonica.de) CiaoSen |
| 2026-05-21 12:47:11 +0000 | CiaoSen | (~Jura@2a02:3030:aec:1e20:88a0:41ff:fe9e:a9e6) (Ping timeout: 265 seconds) |
| 2026-05-21 12:44:57 +0000 | vanishing | (~vanishing@user/vanishingideal) (Client Quit) |
| 2026-05-21 12:44:38 +0000 | vanishing | (~vanishing@user/vanishingideal) vanishingideal |