Logs: freenode/#haskell
| 2021-04-12 01:34:02 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 2021-04-12 01:34:17 | <d34df00d> | The one thing I noticed so far is that I cannot figure out when to materialize things. |
| 2021-04-12 01:34:40 | <d34df00d> | I kinda have the intuition of "when the next step is gonna use each element more than once", but that doesn't always work. |
| 2021-04-12 01:35:11 | <koz_> | Materialization is most useful when indexing happens a lot. |
| 2021-04-12 01:35:19 | <koz_> | Immaterial arrays transform well, but index badly. |
| 2021-04-12 01:35:28 | <koz_> | Material ones _index_ well, but transform badly (since you have to copy). |
| 2021-04-12 01:35:32 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 01:37:11 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Client Quit) |
| 2021-04-12 01:38:45 | → | sedeki joins (~textual@unaffiliated/sedeki) |
| 2021-04-12 01:39:59 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 2021-04-12 01:41:03 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 01:42:09 | → | xiinotulp joins (~q@node-uqk.pool-125-24.dynamic.totinternet.net) |
| 2021-04-12 01:43:15 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 2021-04-12 01:43:55 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 2021-04-12 01:44:24 | → | BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com) |
| 2021-04-12 01:44:33 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds) |
| 2021-04-12 01:45:17 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 2021-04-12 01:45:18 | × | plutoniix quits (~q@node-ur9.pool-125-24.dynamic.totinternet.net) (Ping timeout: 240 seconds) |
| 2021-04-12 01:46:03 | <hololeap> | out of curiousity, what branch of CS are you two talking about? i'm searching for "materialization array" and "immaterial array" not really finding anything |
| 2021-04-12 01:46:08 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
| 2021-04-12 01:46:10 | <koz_> | It's not a CS thing. |
| 2021-04-12 01:46:13 | × | xiinotulp quits (~q@node-uqk.pool-125-24.dynamic.totinternet.net) (Ping timeout: 240 seconds) |
| 2021-04-12 01:46:20 | <koz_> | It's a functional handling of arrays thing. |
| 2021-04-12 01:46:27 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 2021-04-12 01:46:36 | <koz_> | Basically, you can represent an array as 'material', which is like, a regular immutable array. |
| 2021-04-12 01:46:52 | <koz_> | Or 'immaterial', which more-or-less represents a computation that will _produce_ an array on demand. |
| 2021-04-12 01:47:01 | <koz_> | There's usually two ways this can be done (push or pull). |
| 2021-04-12 01:47:03 | <d34df00d> | koz_: that makes sense. What makes me curious, though, is that this: |
| 2021-04-12 01:47:06 | <d34df00d> | R.map fromIntegral $ R.reshape matExtent $ R.computeUnboxedS $ R.backpermute flatExtent unZigzagify reparr |
| 2021-04-12 01:47:09 | <d34df00d> | performs much better than this: |
| 2021-04-12 01:47:16 | <d34df00d> | R.computeUnboxedS $ R.map fromIntegral $ R.reshape matExtent $ R.backpermute flatExtent unZigzagify reparr |
| 2021-04-12 01:47:23 | × | s00pcan quits (~chris@107.181.165.217) (Ping timeout: 252 seconds) |
| 2021-04-12 01:47:41 | <koz_> | How is the final result of either of this consumed? |
| 2021-04-12 01:47:54 | <d34df00d> | It's passed to that idctBlocks thing |
| 2021-04-12 01:48:35 | <koz_> | Yeah, because you're needlessly summing. |
| 2021-04-12 01:48:49 | <koz_> | Any fold (which sums are) can process an immaterial array without ever having to materialize it. |
| 2021-04-12 01:49:19 | → | s00pcan joins (~chris@075-133-056-178.res.spectrum.com) |
| 2021-04-12 01:49:27 | <koz_> | So your materialization there is completely unnecessary, but Repa will dutifully do it, then throw it the hell away. |
| 2021-04-12 01:50:40 | <d34df00d> | But it does the IDCT first, doing lots of matrix multiplications! |
| 2021-04-12 01:50:46 | × | mmmattyx quits (uid17782@gateway/web/irccloud.com/x-zbqbfvcklnwtphsz) (Quit: Connection closed for inactivity) |
| 2021-04-12 01:51:05 | <d34df00d> | Ugh, I meant "passed to that idct thing", sorry. |
| 2021-04-12 01:51:13 | <d34df00d> | ...which is a slightly different function. |
| 2021-04-12 01:54:57 | <koz_> | Yeah, that does kinda change things. |
| 2021-04-12 01:55:48 | <koz_> | Although it still makes sense - you have a sum with a zip inside and some slicing. |
| 2021-04-12 01:55:53 | <koz_> | So my argument still holds. |
| 2021-04-12 01:56:24 | <koz_> | I'd need to look into Repa's innards to be sure, but it still makes sense that prematerializing it doesn't give you anything. |
| 2021-04-12 01:57:45 | × | viluon quits (uid453725@gateway/web/irccloud.com/x-tkvbkhprqmkdlgqp) (Quit: Connection closed for inactivity) |
| 2021-04-12 01:58:09 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-04-12 02:01:17 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 2021-04-12 02:06:22 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-04-12 02:06:32 | × | dariof4 quits (~dario@217.171.72.2) (Quit: WeeChat 3.1) |
| 2021-04-12 02:07:07 | → | chenshen joins (~chenshen@2620:10d:c090:400::5:b6af) |
| 2021-04-12 02:07:35 | × | s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection) |
| 2021-04-12 02:10:09 | × | DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
| 2021-04-12 02:11:02 | → | normie joins (~normie@S0106ac202e2069c3.vw.shawcable.net) |
| 2021-04-12 02:13:03 | <d34df00d> | koz_: but the sum will evaluate the indexing function several times for every element, right? |
| 2021-04-12 02:15:35 | <koz_> | Why? Do your slices overlap? |
| 2021-04-12 02:19:48 | × | sedeki quits (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-04-12 02:20:00 | × | chenshen quits (~chenshen@2620:10d:c090:400::5:b6af) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 2021-04-12 02:20:37 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 02:21:34 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-04-12 02:25:15 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 2021-04-12 02:26:15 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 02:28:33 | <d34df00d> | Yeah! |
| 2021-04-12 02:28:49 | <d34df00d> | Every element gets processed about 8 times, if I'm not mistaken/ |
| 2021-04-12 02:29:37 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 2021-04-12 02:30:51 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 2021-04-12 02:31:59 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 02:33:02 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 2021-04-12 02:35:31 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 2021-04-12 02:36:36 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 2021-04-12 02:37:28 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 02:37:47 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
| 2021-04-12 02:38:33 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
| 2021-04-12 02:39:11 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 2021-04-12 02:40:59 | × | amerigo quits (uid331857@gateway/web/irccloud.com/x-bkqqhlxtahyyobpt) (Quit: Connection closed for inactivity) |
| 2021-04-12 02:42:03 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 2021-04-12 02:43:09 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 02:46:37 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 2021-04-12 02:47:43 | × | theDon quits (~td@94.134.91.241) (Ping timeout: 252 seconds) |
| 2021-04-12 02:47:43 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 258 seconds) |
| 2021-04-12 02:48:42 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 02:49:40 | → | theDon joins (~td@muedsl-82-207-238-004.citykom.de) |
| 2021-04-12 02:52:53 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 250 seconds) |
| 2021-04-12 02:53:02 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 2021-04-12 02:53:02 | finn_elija | is now known as Guest11269 |
| 2021-04-12 02:53:03 | FinnElija | is now known as finn_elija |
| 2021-04-12 02:54:18 | → | ulfryk joins (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) |
| 2021-04-12 02:55:57 | × | Guest11269 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
| 2021-04-12 02:56:31 | × | BosonCollider quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 2021-04-12 02:58:12 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 2021-04-12 02:58:14 | → | drbean_ joins (~drbean@TC210-63-209-92.static.apol.com.tw) |
| 2021-04-12 02:58:51 | × | ulfryk quits (~ulfryk@2a01:4b00:872d:e600:a55a:b8e3:54cc:d8d6) (Ping timeout: 260 seconds) |
| 2021-04-12 02:59:53 | → | Newbievarine joins (1829ec3e@24.41.236.62) |
| 2021-04-12 03:00:00 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
| 2021-04-12 03:01:41 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 2021-04-12 03:02:13 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 2021-04-12 03:02:19 | <Newbievarine> | how do I typecast an expression into an existential type? |
| 2021-04-12 03:02:56 | → | ram19890 joins (~ram@49.207.130.109) |
| 2021-04-12 03:05:24 | <c_wraith> | Haskell doesn't do typecasting at all. |
All times are in UTC.