Logs: liberachat/#haskell
| 2021-07-19 13:30:45 | × | peterhil quits (~peterhil@mobile-access-b04801-219.dhcp.inet.fi) (Ping timeout: 258 seconds) |
| 2021-07-19 13:33:02 | → | jackhill joins (~jackhill@kalessin.dragonsnail.net) |
| 2021-07-19 13:34:21 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-07-19 13:34:58 | <Boarders> | is there a variant combinator in megaparsec that is like: do {t <- takeWhileP Nothing (/= '\n'); char '\n'; pure t} |
| 2021-07-19 13:37:46 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds) |
| 2021-07-19 13:37:48 | × | cuz quits (~user@2601:182:cc02:8b0:5d77:6ee9:7f95:9dca) (Ping timeout: 255 seconds) |
| 2021-07-19 13:38:53 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2021-07-19 13:40:37 | <tdammers> | https://hackage.haskell.org/package/parser-combinators-1.3.0/docs/Control-Applicative-Combinators.html#v:manyTill maybe? |
| 2021-07-19 13:41:19 | <dmj`> | lechner: did you try using `catch` |
| 2021-07-19 13:43:45 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-07-19 13:44:40 | <Boarders> | manyTill is very related but not quite the same |
| 2021-07-19 13:45:32 | <lechner> | dmj`: i'm still reading, and working on my general Haskell learning curve |
| 2021-07-19 13:48:54 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 2021-07-19 13:49:09 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 258 seconds) |
| 2021-07-19 13:49:22 | → | hendursaga joins (~weechat@user/hendursaga) |
| 2021-07-19 13:50:10 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-19 13:51:21 | <lechner> | dmj`: but i do have working program (which i wrote) where I could try your suggestion. how do i use catch, please? https://salsa.debian.org/lintian/kickoff/-/blob/master/Collect.hs#L82 |
| 2021-07-19 13:51:52 | aforemny_ | is now known as aforemny |
| 2021-07-19 13:54:40 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 2021-07-19 13:54:47 | × | michalz quits (~michalz@185.246.204.55) (Remote host closed the connection) |
| 2021-07-19 13:55:26 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2021-07-19 13:55:46 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-19 14:01:50 | → | econo joins (uid147250@user/econo) |
| 2021-07-19 14:02:12 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-07-19 14:02:33 | × | jackhill quits (~jackhill@kalessin.dragonsnail.net) (Ping timeout: 255 seconds) |
| 2021-07-19 14:05:19 | sander | is now known as sndr |
| 2021-07-19 14:05:40 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
| 2021-07-19 14:05:55 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-07-19 14:06:39 | <tzh> | hey so i'm working on a haskell game; does anybody have any suggestions for an input library that would work well? previously i've used reactive-banana, which worked well enough even if its FRP nature made it a little clunky for use in a highly-interactive program. i saw some people mention using arrowized FRP libraries likes Yampa/dunai but that seems more like something to use for physics integration than for things like 'how to click on |
| 2021-07-19 14:06:40 | <tzh> | a menu' |
| 2021-07-19 14:09:15 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
| 2021-07-19 14:09:21 | → | cuz joins (~user@38.140.58.234) |
| 2021-07-19 14:09:30 | × | chomwitt quits (~chomwitt@2a02:587:dc04:b400:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
| 2021-07-19 14:10:43 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-1bc4-b398-e9ad-3132.fixed6.kpn.net) |
| 2021-07-19 14:13:08 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
| 2021-07-19 14:14:12 | <kuribas> | tzh: reactive-banana isn't an input library, it's a FRP library. |
| 2021-07-19 14:14:20 | <kuribas> | You can use it with any UI library. |
| 2021-07-19 14:15:21 | <maerwald> | SDL2? |
| 2021-07-19 14:15:37 | <[exa]> | tzh: immediate-mode GUIs (google imgui) are priceless for games, except I don't know if we have any for haskell yet |
| 2021-07-19 14:15:51 | <tzh> | kuribas: okay yes it's not a raw input-catching library; i'm actually using glfw for that. what i'm looking for is an input _processing_ library, to impose some order onto my input flow so it's not a bunch of ad-hoc garbage |
| 2021-07-19 14:16:18 | <kuribas> | tzh: reactive-banana should be fine. |
| 2021-07-19 14:17:39 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-07-19 14:18:43 | → | OndejSkup[m] joins (~mimivxmat@2001:470:69fc:105::c300) |
| 2021-07-19 14:19:12 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-19 14:19:13 | → | ph88_ joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
| 2021-07-19 14:19:16 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-1bc4-b398-e9ad-3132.fixed6.kpn.net) (Quit: Leaving) |
| 2021-07-19 14:21:02 | <tzh> | the main issue with reactive-banana is that it gets pretty clunky since it only runs in IO and thus can never directly run actual buffer writes... (well, okay, there are ways but that becomes a mess of running all input-processing code inside a render monad, with an unknown timing to my render loop). which means i need to have its output actions queue render actions like buffer allocations/writes, and then outside of the event loop pull |
| 2021-07-19 14:21:03 | <tzh> | them out so they can actually be run, which seems a little clunky and counter to the FRP experience, but i don't really see how that could be avoided given how opengl rendering works. so really i'd just like for that experience to be a bit smoother |
| 2021-07-19 14:21:04 | → | jiribenes joins (~jiribenes@rosa.jiribenes.com) |
| 2021-07-19 14:22:31 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 246 seconds) |
| 2021-07-19 14:23:24 | → | jackhill joins (~jackhill@kalessin.dragonsnail.net) |
| 2021-07-19 14:23:35 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
| 2021-07-19 14:26:11 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds) |
| 2021-07-19 14:27:25 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 246 seconds) |
| 2021-07-19 14:27:50 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-19 14:28:24 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 252 seconds) |
| 2021-07-19 14:28:36 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-07-19 14:30:23 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-07-19 14:33:49 | → | acidjnk_new joins (~acidjnk@p200300d0c72b9588f8c9d06c34eef88c.dip0.t-ipconnect.de) |
| 2021-07-19 14:36:18 | → | Null_A joins (~null_a@2601:645:8700:2290:34e6:e307:f490:7d07) |
| 2021-07-19 14:36:56 | × | acidjnk quits (~acidjnk@p200300d0c72b9531f8c9d06c34eef88c.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2021-07-19 14:36:56 | → | peterhil joins (~peterhil@mobile-access-b04801-219.dhcp.inet.fi) |
| 2021-07-19 14:38:00 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-07-19 14:41:22 | × | acidjnk_new quits (~acidjnk@p200300d0c72b9588f8c9d06c34eef88c.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 2021-07-19 14:49:52 | allbery_b | is now known as geekosaur |
| 2021-07-19 14:50:15 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds) |
| 2021-07-19 14:50:34 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-19 14:52:25 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-07-19 14:53:43 | → | chris_ joins (~chris@81.96.113.213) |
| 2021-07-19 14:55:56 | → | fef joins (~thedawn@user/thedawn) |
| 2021-07-19 15:01:52 | → | kar1[m] joins (~kar1matri@2001:470:69fc:105::c308) |
| 2021-07-19 15:08:45 | → | cfricke joins (~cfricke@user/cfricke) |
| 2021-07-19 15:13:30 | × | jackhill quits (~jackhill@kalessin.dragonsnail.net) (Ping timeout: 252 seconds) |
| 2021-07-19 15:18:00 | <dmj`> | lechner: do { result <- try (evaluate (decompress bytes)) :: IO (Either SomeException ByteString); case result of { Left e -> print e; Right bytes -> print (length bytes) } } |
| 2021-07-19 15:18:03 | → | nuncanada joins (~dude@179.235.162.215) |
| 2021-07-19 15:20:41 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-19 15:22:18 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2021-07-19 15:22:29 | <Las[m]> | Question about bound threads: Will unbound threads use an OS thread created by forkOS? |
| 2021-07-19 15:22:51 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-19 15:23:36 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 2021-07-19 15:26:24 | <monochrom> | Probably in an ideal world shouldn't matter but in practice the GHC implementers wouldn't troll themselves by doing that. |
| 2021-07-19 15:26:28 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 2021-07-19 15:26:36 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 265 seconds) |
| 2021-07-19 15:27:33 | → | zmt00 joins (~zmt00@user/zmt00) |
| 2021-07-19 15:28:14 | <monochrom> | In practice there is pure Haskell code that can hold up an OS thread uninterruptible. Now what can you do when the rightful owner of the OS thread needs it? |
| 2021-07-19 15:29:51 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-07-19 15:30:03 | <c_wraith> | honestly, that's not a very important edge case, given that the same pure code that will hold a thread uninterruptably will also block garbage collection, and therefore the entire program via stop-the-world GC |
| 2021-07-19 15:30:35 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-19 15:31:12 | <c_wraith> | If you write a loop that does that, you get what you deserve whether bound threads are involved or not. |
| 2021-07-19 15:31:51 | <c_wraith> | (this is why mueval starts new processes, not just threads) |
| 2021-07-19 15:32:33 | → | abc joins (~abc@213.195.121.143) |
| 2021-07-19 15:32:47 | × | abc quits (~abc@213.195.121.143) (Client Quit) |
| 2021-07-19 15:35:59 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 2021-07-19 15:37:44 | → | derelict joins (~derelict@user/derelict) |
| 2021-07-19 15:38:48 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 2021-07-19 15:39:03 | → | chomwitt joins (~chomwitt@athedsl-32487.home.otenet.gr) |
| 2021-07-19 15:43:00 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection) |
| 2021-07-19 15:43:13 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-07-19 15:43:28 | <jumper149> | The diagram here: https://wiki.haskell.org/Typeclassopedia |
| 2021-07-19 15:43:49 | <jumper149> | It is missing the superclass `Alternative` of `MonadPlus` :( |
All times are in UTC.