Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.