Logs: liberachat/#haskell
| 2021-06-28 00:46:22 | × | thelounge92306 quits (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Ping timeout: 258 seconds) |
| 2021-06-28 00:48:48 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 2021-06-28 00:49:42 | <qrpnxz> | i feel like the hierarchy should be flipped even. What does arrow even *mean* if not "a thing you can apply something to and get something back". arr utterly couples arrows to haskell functions, doesn't seems right |
| 2021-06-28 00:50:58 | → | warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
| 2021-06-28 00:51:38 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 2021-06-28 00:55:26 | <geekosaur> | methinks you're just discovering why arrows aren't used much |
| 2021-06-28 00:55:33 | × | warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 272 seconds) |
| 2021-06-28 00:56:13 | <qrpnxz> | lol |
| 2021-06-28 01:01:35 | <monochrom> | Right, apart from arr, arrows would be great. |
| 2021-06-28 01:04:06 | → | Axman6 joins (~Axman6@user/axman6) |
| 2021-06-28 01:06:30 | → | mpt joins (~tom@2a02:908:1862:49e0::6) |
| 2021-06-28 01:08:12 | → | neurocyte573 joins (~neurocyte@92.119.8.247) |
| 2021-06-28 01:08:12 | × | neurocyte573 quits (~neurocyte@92.119.8.247) (Changing host) |
| 2021-06-28 01:08:12 | → | neurocyte573 joins (~neurocyte@user/neurocyte) |
| 2021-06-28 01:10:49 | × | neurocyte57 quits (~neurocyte@user/neurocyte) (Ping timeout: 268 seconds) |
| 2021-06-28 01:10:50 | neurocyte573 | is now known as neurocyte57 |
| 2021-06-28 01:12:31 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
| 2021-06-28 01:16:46 | → | ph88^ joins (~ph88@2a02:8109:9e00:7e5c:3597:9a37:1bda:731e) |
| 2021-06-28 01:16:51 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-28 01:19:48 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:c945:8dbe:9ded:42d1) (Ping timeout: 268 seconds) |
| 2021-06-28 01:21:04 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 2021-06-28 01:21:54 | × | xff0x quits (~xff0x@2001:1a81:533e:6d00:1:e6c4:7154:755f) (Ping timeout: 272 seconds) |
| 2021-06-28 01:22:36 | <qrpnxz> | i wonder of doing `arr :: (b -> c) -> a b' c'` would be enough |
| 2021-06-28 01:23:22 | → | xff0x joins (~xff0x@2001:1a81:537a:a200:2e28:d841:9fa1:9dcc) |
| 2021-06-28 01:29:29 | <qrpnxz> | or really it should be from an arrow to another arrow? |
| 2021-06-28 01:36:07 | × | derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2) |
| 2021-06-28 01:36:24 | → | derelict joins (~derelict@user/derelict) |
| 2021-06-28 01:37:06 | × | renzhi quits (~xp@2607:fa49:655f:a700::3902) (Ping timeout: 272 seconds) |
| 2021-06-28 01:37:52 | × | hegstal quits (~hegstal@2a02:c7f:7604:8a00:c6b4:633:2502:e963) (Remote host closed the connection) |
| 2021-06-28 01:46:08 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-06-28 01:47:17 | <qrpnxz> | nah, arr may be alright after all |
| 2021-06-28 01:47:22 | → | khumba joins (~khumba@user/khumba) |
| 2021-06-28 01:48:33 | <nshepperd> | arr would be alright as an entirely separate typeclass for arrows that embed all functions |
| 2021-06-28 01:54:31 | → | matsurago joins (~matsurago@nttkyo1752111.tkyo.nt.ngn.ppp.infoweb.ne.jp) |
| 2021-06-28 01:57:07 | → | sheepduck joins (~sheepduck@user/sheepduck) |
| 2021-06-28 01:57:35 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 2021-06-28 02:01:44 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds) |
| 2021-06-28 02:03:05 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 2021-06-28 02:07:19 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-06-28 02:12:44 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 265 seconds) |
| 2021-06-28 02:13:07 | × | Deide1 quits (~Deide@wire.desu.ga) (Quit: Seeee yaaaa) |
| 2021-06-28 02:13:27 | × | mpt quits (~tom@2a02:908:1862:49e0::6) (Ping timeout: 268 seconds) |
| 2021-06-28 02:13:30 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 2021-06-28 02:13:35 | → | Deide joins (~Deide@wire.desu.ga) |
| 2021-06-28 02:13:36 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
| 2021-06-28 02:13:36 | → | Deide joins (~Deide@user/deide) |
| 2021-06-28 02:14:20 | <fluorescent> | i'm reading haskell from first principles and am struggling on writing the applicative instance for this: newtype Compose f g a = Compose { getCompose :: f (g a) } |
| 2021-06-28 02:14:23 | <fluorescent> | any pointers on how to start? |
| 2021-06-28 02:14:36 | <fluorescent> | the book gives us the type: (<*>) :: Compose f g (a -> b) -> Compose f g a -> Compose f g b |
| 2021-06-28 02:14:54 | <fluorescent> | i know it should be (Compose f) <*> (Compose a) = Compose $ something |
| 2021-06-28 02:15:11 | <fluorescent> | where the type of something should be f (g b), but i'm not sure how to get there |
| 2021-06-28 02:15:52 | × | bilegeek quits (~bilegeek@2600:1008:b015:3e96:6f34:1a42:6ac5:3b86) (Quit: Leaving) |
| 2021-06-28 02:17:51 | <Axman6> | fluorescent: it's worth trying to first write: fmap2 :: (a -> b) -> f (g a) -> f (g b) -- things to take note of are; do yuo have a function with this type? (g a -> g b) -> f (g a) -> f (g b)? what about a function of type (a -> b) -> g a -> g b? |
| 2021-06-28 02:18:20 | <Axman6> | uh, misread a bit, one sec |
| 2021-06-28 02:18:34 | <fluorescent> | if you have the book, it's page 989 :P |
| 2021-06-28 02:18:36 | × | egoist quits (~egoist@186.235.82.105) (Quit: WeeChat 3.2) |
| 2021-06-28 02:18:41 | <Axman6> | do you have a function with the type g (a -> b) -> g a -> g b? |
| 2021-06-28 02:19:12 | <fluorescent> | yeah, f and g are applicative instances |
| 2021-06-28 02:19:25 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-06-28 02:19:53 | <fluorescent> | so i am trying to get from f (g (a -> b)) and f (g a) to f (g b) |
| 2021-06-28 02:22:46 | <c_wraith> | are you familiar with liftA2? |
| 2021-06-28 02:23:17 | <fluorescent> | i am not |
| 2021-06-28 02:24:30 | <fluorescent> | but now that i search it up i guess i can just do liftA2 <*> |
| 2021-06-28 02:25:02 | <c_wraith> | :t liftA2 |
| 2021-06-28 02:25:04 | <lambdabot> | Applicative f => (a -> b -> c) -> f a -> f b -> f c |
| 2021-06-28 02:25:44 | <c_wraith> | Now, can you see how to implement liftA2 ? |
| 2021-06-28 02:27:22 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds) |
| 2021-06-28 02:28:00 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
| 2021-06-28 02:28:19 | <fluorescent> | hmm why is (Compose f) <*> (Compose a) = Compose $ (liftA2 <*>) f a not working |
| 2021-06-28 02:28:35 | <c_wraith> | You need parens around <*> |
| 2021-06-28 02:28:38 | <Axman6> | liftA2 (<*>) |
| 2021-06-28 02:28:57 | → | ph88 joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
| 2021-06-28 02:29:53 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 2021-06-28 02:30:42 | <fluorescent> | i have no idea how liftA2 is implemented |
| 2021-06-28 02:30:58 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-06-28 02:30:58 | FinnElija | is now known as Guest3750 |
| 2021-06-28 02:30:58 | × | Guest3750 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (tin.libera.chat (Nickname regained by services))) |
| 2021-06-28 02:30:58 | finn_elija | is now known as FinnElija |
| 2021-06-28 02:31:20 | <c_wraith> | It only uses (<$>) and (<*>). I bet you can figure it out |
| 2021-06-28 02:31:49 | <Axman6> | note that its type is actually : liftA2 (a -> (b -> c)) -> f a -> (f b -> (f b -> f c)) |
| 2021-06-28 02:31:57 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:3597:9a37:1bda:731e) (Ping timeout: 268 seconds) |
| 2021-06-28 02:32:00 | <Axman6> | uh |
| 2021-06-28 02:32:03 | <Axman6> | close |
| 2021-06-28 02:33:19 | <fluorescent> | oh i guess you can do liftA2 f x y = ((fmap f) x) <*> y |
| 2021-06-28 02:33:31 | <fluorescent> | that was a struggle |
| 2021-06-28 02:33:33 | <fluorescent> | lol |
| 2021-06-28 02:34:44 | <qrpnxz> | f <$> x <*> :) |
| 2021-06-28 02:35:00 | × | shredder quits (~user@user/shredder) (Quit: quitting) |
| 2021-06-28 02:35:08 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 2021-06-28 02:36:25 | × | eight quits (~eight@user/eight) (Quit: Lost terminal) |
| 2021-06-28 02:36:50 | → | shredder joins (~user@user/shredder) |
| 2021-06-28 02:37:30 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds) |
| 2021-06-28 02:38:31 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-28 02:38:57 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-28 02:41:28 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 2021-06-28 02:44:12 | → | Guest0 joins (~Guest0@117.230.138.247) |
| 2021-06-28 02:45:45 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-06-28 02:46:22 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
| 2021-06-28 02:46:43 | × | fluorescent quits (~fluoresce@41337027.cst.lightpath.net) (Ping timeout: 246 seconds) |
| 2021-06-28 02:48:30 | → | warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) |
All times are in UTC.