Logs: freenode/#haskell
| 2020-10-01 04:36:05 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 2020-10-01 04:36:46 | → | conal joins (~conal@64.71.133.70) |
| 2020-10-01 04:36:52 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 2020-10-01 04:39:37 | × | ransom quits (~c4264035@2601:285:201:6720:809a:299c:a667:8dfa) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-01 04:40:42 | → | Neuromancer joins (~Neuromanc@unaffiliated/neuromancer) |
| 2020-10-01 04:45:35 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-01 04:46:27 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 2020-10-01 04:47:03 | × | voyons_calisse quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 2020-10-01 04:47:03 | × | danso quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 2020-10-01 04:47:35 | → | voyons_calisse joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 2020-10-01 04:48:25 | → | danso joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 2020-10-01 04:49:12 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 2020-10-01 04:50:07 | → | kori joins (~kori@arrowheads/kori) |
| 2020-10-01 04:51:20 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds) |
| 2020-10-01 04:52:50 | × | thunderrd quits (~thunderrd@183.182.112.240) (Remote host closed the connection) |
| 2020-10-01 04:53:45 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 265 seconds) |
| 2020-10-01 04:54:16 | → | ransom joins (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
| 2020-10-01 04:55:01 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 2020-10-01 04:56:21 | → | jgt joins (~jgt@188.239.64.32) |
| 2020-10-01 04:58:29 | → | day_ joins (~Unknown@unaffiliated/day) |
| 2020-10-01 04:58:29 | × | kori quits (~kori@arrowheads/kori) (Read error: Connection reset by peer) |
| 2020-10-01 05:00:09 | → | alp joins (~alp@2a01:e0a:58b:4920:fdae:ed41:75ae:d4a6) |
| 2020-10-01 05:01:28 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 2020-10-01 05:01:51 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 258 seconds) |
| 2020-10-01 05:01:51 | day_ | is now known as day |
| 2020-10-01 05:02:57 | × | isovector1 quits (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Quit: Leaving) |
| 2020-10-01 05:05:25 | × | benjamin-l quits (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 240 seconds) |
| 2020-10-01 05:05:29 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 2020-10-01 05:05:50 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 265 seconds) |
| 2020-10-01 05:07:28 | hackage | optparse-generic 1.4.4 - Auto-generate a command-line parser for your datatype https://hackage.haskell.org/package/optparse-generic-1.4.4 (GabrielGonzalez) |
| 2020-10-01 05:07:41 | → | inkbottle joins (~inkbottle@aaubervilliers-654-1-83-94.w86-212.abo.wanadoo.fr) |
| 2020-10-01 05:08:25 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-106-91.w86-212.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 2020-10-01 05:12:11 | → | Sanchayan joins (~Sanchayan@223.226.111.203) |
| 2020-10-01 05:16:07 | → | bloodsta1ker joins (~bloodstal@5.115.68.138) |
| 2020-10-01 05:16:34 | × | HaskellYogi quits (~vivekrama@49.207.206.176) (Remote host closed the connection) |
| 2020-10-01 05:18:27 | × | bloodstalker quits (~bloodstal@46.166.187.178) (Ping timeout: 240 seconds) |
| 2020-10-01 05:19:36 | × | ransom quits (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-01 05:19:49 | → | kori joins (~kori@arrowheads/kori) |
| 2020-10-01 05:19:58 | → | HaskellYogi joins (~vivekrama@49.207.206.176) |
| 2020-10-01 05:20:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2020-10-01 05:20:25 | × | jgt quits (~jgt@188.239.64.32) (Ping timeout: 240 seconds) |
| 2020-10-01 05:21:59 | × | alp quits (~alp@2a01:e0a:58b:4920:fdae:ed41:75ae:d4a6) (Ping timeout: 272 seconds) |
| 2020-10-01 05:22:33 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection) |
| 2020-10-01 05:23:07 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 2020-10-01 05:24:41 | × | HaskellYogi quits (~vivekrama@49.207.206.176) (Ping timeout: 265 seconds) |
| 2020-10-01 05:27:26 | <hololeap_> | i came up with this for the purpose of helping deal with partial pattern matches: https://dpaste.com/H2ALPHDZW |
| 2020-10-01 05:27:53 | × | bloodsta1ker quits (~bloodstal@5.115.68.138) (Ping timeout: 260 seconds) |
| 2020-10-01 05:27:56 | hololeap_ | is now known as hololeap |
| 2020-10-01 05:28:06 | → | thunderrd joins (~thunderrd@183.182.110.178) |
| 2020-10-01 05:29:39 | → | bloodstalker joins (~bloodstal@5.115.68.138) |
| 2020-10-01 05:29:40 | <hololeap> | is there already something well-established that does something similar? this basically turns the problem into a monoid |
| 2020-10-01 05:30:08 | × | kori quits (~kori@arrowheads/kori) (Read error: Connection reset by peer) |
| 2020-10-01 05:30:13 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
| 2020-10-01 05:30:36 | <hololeap> | which is a good solution (imo) but can be awkward to work with |
| 2020-10-01 05:32:44 | <dminuoso> | I love how the more advanced code becomes, the less actual value level code is written, and the more sneaky things are being done at the type level, or very implicit things like deriving-via in your case. |
| 2020-10-01 05:32:52 | × | falafel quits (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 260 seconds) |
| 2020-10-01 05:33:06 | <dminuoso> | There's more type signatures, import statements and language pragmas than actual code being written.. |
| 2020-10-01 05:33:47 | × | bloodstalker quits (~bloodstal@5.115.68.138) (Ping timeout: 240 seconds) |
| 2020-10-01 05:34:53 | <tzh> | are there any FRP frameworks that generate a final value that's `MonadIO m => m ...`? i've been using reactive-banana, but its constraint that it can only handle `IO` as its monad doesn't play well with `GPipe`, which generally produces values in some ContextT monad transformer that's instanced to MonadIO |
| 2020-10-01 05:35:48 | <tzh> | so all the rendering actions produce values typed like `ContextT ... ... IO a` which i can't actually use in the FRP framework |
| 2020-10-01 05:36:15 | <hololeap> | dminuoso: i like that too. or are you being sarcastic /:| |
| 2020-10-01 05:39:40 | → | bloodstalker joins (~bloodstal@46.166.187.178) |
| 2020-10-01 05:40:37 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 2020-10-01 05:43:13 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-sslhkzhqehwhldfl) (Quit: Connection closed for inactivity) |
| 2020-10-01 05:43:15 | <hololeap> | tzh: if the final value is `IO a`, then you can lift that to `MonadIO m => m a` using `liftIO` |
| 2020-10-01 05:44:11 | × | toorevitimirp quits (~tooreviti@117.182.181.38) (Ping timeout: 240 seconds) |
| 2020-10-01 05:44:24 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 258 seconds) |
| 2020-10-01 05:44:34 | <hololeap> | you just have to wrap the whole thing in liftIO and you're done |
| 2020-10-01 05:45:04 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds) |
| 2020-10-01 05:45:10 | <tzh> | hololeap: oh i guess i should be more specific about the issue; it's that reactive-banana has a function `reactimate :: Event (IO ()) -> MomentIO ()` and that's the only way to actually 'run' events (by fmapping or otherwise turning an `Event a` into an `Event (IO ())`) |
| 2020-10-01 05:45:44 | <tzh> | and since it can only take IO events it can't take GPipe's more complex MonadIO-instanced types |
| 2020-10-01 05:46:00 | <hololeap> | you could try reflex, which does things differently and might sidestep the problem altogether |
| 2020-10-01 05:46:07 | → | bitmagie joins (~Thunderbi@200116b806edc300c48960da51f309e2.dip.versatel-1u1.de) |
| 2020-10-01 05:46:11 | → | falafel joins (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
| 2020-10-01 05:46:39 | <tzh> | sure, i'll check that out |
| 2020-10-01 05:46:57 | → | danvet_ joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 2020-10-01 05:47:14 | <hololeap> | but, with IO in a negative position, you can't use a `MonadIO m` there |
| 2020-10-01 05:47:22 | <hololeap> | as you've probably figured out |
| 2020-10-01 05:48:11 | <tzh> | yeah |
| 2020-10-01 05:49:54 | → | kori joins (~kori@arrowheads/kori) |
| 2020-10-01 05:50:57 | <hololeap> | tzh: can you give an example of the gpipe function you're trying to plug in there? |
| 2020-10-01 05:51:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-01 05:54:15 | <hololeap> | if it returns a ContextT, you could just use runContextT with IO as m to get the whole thing back in the IO monad |
| 2020-10-01 05:55:37 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 2020-10-01 05:55:39 | <tzh> | hololeap: so gpipe wraps up basically all of its opengl actions in a big `ContextT ctx os m` wrapper, so things like https://hackage.haskell.org/package/GPipe-2.2.5/docs/Graphics-GPipe-Shader.html `compileShader` there, or https://hackage.haskell.org/package/GPipe-2.2.5/docs/Graphics-GPipe-Buffer.html `writeBuffer` there |
| 2020-10-01 05:56:07 | <tzh> | i guess i have always considered that to be some atomic type i shouldn't really touch, but i guess there's no reason why i couldn't unwrap it myself |
| 2020-10-01 05:56:38 | × | tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 244 seconds) |
| 2020-10-01 05:57:23 | <hololeap> | where does it usually get unpacked? |
| 2020-10-01 05:57:33 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2020-10-01 05:58:15 | <tzh> | in my code i just run everything in the context and then my main is just `runContextT defaultHandleConfig $ do ...` |
| 2020-10-01 05:58:51 | <tzh> | given that it uses that unifying type variable `os` i'm not sure if i can break things up sufficiently to make it work nicely with reactive-banana though |
| 2020-10-01 05:59:33 | → | polyrain joins (~polyrain@2001:8003:640b:b900:58f5:a1c1:c514:8c13) |
| 2020-10-01 06:00:01 | × | bitprophet1 quits (~bitprophe@178.162.204.238) () |
| 2020-10-01 06:00:04 | <hololeap> | should work fine, i would think |
| 2020-10-01 06:00:35 | <hololeap> | but you would have to run runContextT every time the event fired |
| 2020-10-01 06:00:50 | <tzh> | yeah |
| 2020-10-01 06:00:55 | <hololeap> | i'm not familiar with gpipe beyond knowing it exists and what it's for |
| 2020-10-01 06:01:35 | <hololeap> | are you using this event to refresh the screen? |
| 2020-10-01 06:01:41 | <tzh> | hah right. yeah, i'm not entirely sure if that would work but it's an avenue that i should look into that i just hadn't ever thought of |
| 2020-10-01 06:02:08 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@68.235.43.166) (Quit: Leaving) |
All times are in UTC.