Logs: freenode/#haskell
| 2021-03-15 21:08:12 | → | chrisosaurus joins (chris@segfault.net.nz) |
| 2021-03-15 21:08:26 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds) |
| 2021-03-15 21:08:37 | <Gurkenglas> | > eval (+1) $ S undefined -- <tomsmeding> Gurkenglas: for which 'f' is 'eval f x' not equal to 'iterate S x !! f 0' :) although you may have been thinking "either that implementation is wrong or this equality holds" |
| 2021-03-15 21:08:40 | <lambdabot> | S (S (S *Exception: Prelude.undefined |
| 2021-03-15 21:08:53 | <tomsmeding> | Gurkenglas: I was indeed :p |
| 2021-03-15 21:09:58 | <tomsmeding> | funny how lambdabot seems to go one S too deep |
| 2021-03-15 21:10:01 | <Gurkenglas> | should have been like "there's your counterexample! wait." before talking about it being wrong |
| 2021-03-15 21:10:14 | × | epstein quits (~dwsjeid91@193.27.14.135) (Ping timeout: 264 seconds) |
| 2021-03-15 21:11:55 | <monochrom> | If foo is non-strict, foo (unS x) is non-strict in x, too, yes. |
| 2021-03-15 21:13:12 | <__minoru__shirae> | hololeap: what does unlift-stm library do? |
| 2021-03-15 21:13:13 | <monochrom> | My favourite example is "const () (unS whatever)" and generally "const () (f $!!!!! x)" it doesn't matter how many seqs and pattern matchings you have in "f $!!!! x", const simply doesn't care. |
| 2021-03-15 21:15:30 | <monochrom> | The subtle difference between "'seq x y' causes evaluation of x" and "evaluation of 'seq x y' causes evaluation of x". |
| 2021-03-15 21:16:04 | <hololeap> | __minoru__shirae: eh, i was hoping the docs would explain that... :) |
| 2021-03-15 21:16:22 | <hololeap> | do you know about MonadIO? |
| 2021-03-15 21:16:27 | <epst3in> | > (repeat "i love jess ") |
| 2021-03-15 21:16:27 | × | coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-03-15 21:16:30 | <lambdabot> | ["i love jess ","i love jess ","i love jess ","i love jess ","i love jess ",... |
| 2021-03-15 21:17:07 | <hpc> | yeah, a good mental model is that evaluation is always caused by something |
| 2021-03-15 21:17:10 | <hpc> | (such as execution) |
| 2021-03-15 21:17:16 | <hpc> | also, execution is always caused by something |
| 2021-03-15 21:17:31 | × | epst3in quits (~dwsjeid91@91.193.7.55) (K-Lined) |
| 2021-03-15 21:17:42 | <dolio> | Should have used `cycle`. |
| 2021-03-15 21:18:03 | <int-e> | monochrom: As Archimedes said, let me define a thunk that's is evaluated and I'll move the whole world. |
| 2021-03-15 21:18:11 | <monochrom> | hpc: I wonder if the docs of unliftio-core explains better what unliftio is about. Then unlift-stm is just an instance of that. |
| 2021-03-15 21:18:22 | <monochrom> | haha int-e. |
| 2021-03-15 21:18:27 | Sorna | is now known as Sornaensis |
| 2021-03-15 21:18:27 | <{abby}> | what's recommended for compiling haskell to javascript these days? |
| 2021-03-15 21:18:40 | <monochrom> | oops hpc sorry, wrong person |
| 2021-03-15 21:18:43 | × | maerwald quits (~maerwald@mail.hasufell.de) (Quit: gone) |
| 2021-03-15 21:18:48 | → | son0p joins (~son0p@181.136.122.143) |
| 2021-03-15 21:18:56 | <monochrom> | hololeap: I wonder if the docs of unliftio-core explains better what unliftio is about. Then unlift-stm is just an instance of that. |
| 2021-03-15 21:19:10 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds) |
| 2021-03-15 21:19:17 | <dolio> | {abby}: The only option is GHCJS if you literally mean Haskell, I think. |
| 2021-03-15 21:19:28 | <hololeap> | __minoru__shirae: basically, it's a convenience library when working with the STM monad. so you can use the same functions for STM or (WriterT String STM) or (ReaderT Env (ExceptT String STM)), etc |
| 2021-03-15 21:19:43 | → | maerwald joins (~maerwald@mail.hasufell.de) |
| 2021-03-15 21:19:44 | <hololeap> | {abby}: i recommend elm or purescript |
| 2021-03-15 21:19:56 | <hololeap> | which aren't haskell, but similar |
| 2021-03-15 21:20:03 | <hololeap> | (especially purescript) |
| 2021-03-15 21:20:08 | <__minoru__shirae> | hololeap: something like a MonadBase instance for Stm? |
| 2021-03-15 21:20:10 | <dolio> | Yeah, PureScript is pretty close. |
| 2021-03-15 21:20:18 | <{abby}> | there is no way i'm rewriting all this code |
| 2021-03-15 21:20:33 | × | dhil quits (~dhil@80.208.56.181) (Ping timeout: 256 seconds) |
| 2021-03-15 21:20:34 | <{abby}> | has there really been nothing better than ghcjs? that's 13 months out of date |
| 2021-03-15 21:20:57 | → | dhil joins (~dhil@80.208.56.181) |
| 2021-03-15 21:21:09 | <hololeap> | {abby}: purescript won't be far off. it's very very similar to haskell |
| 2021-03-15 21:21:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-03-15 21:21:24 | <hololeap> | __minoru__shirae: it's closest to MonadIO for the IO monad |
| 2021-03-15 21:21:29 | <maerwald> | do ppl even consider maturity and ecosystem when suggesting languages? :p |
| 2021-03-15 21:21:35 | <{abby}> | hololeap: that's still rewriting ~3000 lines of code in a strict language |
| 2021-03-15 21:22:20 | <monochrom> | I think suggesting elm or purescript is precisely on consideration of ecosystem maturity. |
| 2021-03-15 21:22:32 | <maerwald> | monochrom: they are very different |
| 2021-03-15 21:22:34 | <monochrom> | I mean in the context of "compiles to javascript". |
| 2021-03-15 21:23:05 | <monochrom> | GHCJS is the ecosystemly immature one here. |
| 2021-03-15 21:23:23 | <maerwald> | I think of all of those I'd only call elm mature |
| 2021-03-15 21:23:32 | <monochrom> | or was mature, now bitrotten. |
| 2021-03-15 21:24:06 | <maerwald> | isn't obelisk using ghcjs? |
| 2021-03-15 21:24:18 | <monochrom> | "postmaturity" >:) |
| 2021-03-15 21:25:14 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds) |
| 2021-03-15 21:25:47 | <dolio> | If you mean exactly Haskell, then there is not just nothing better. There is nothing else (unless I'm misinformed). |
| 2021-03-15 21:25:53 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
| 2021-03-15 21:26:11 | <{abby}> | epic |
| 2021-03-15 21:26:24 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 2021-03-15 21:26:38 | <hololeap> | {abby}: what made you think otherwise? |
| 2021-03-15 21:26:56 | <dolio> | Oh, actually, that's not techincally true. UHC can output JavaScript, I guess. |
| 2021-03-15 21:29:13 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-umfzpfeguzyfkkwm) (Quit: Connection closed for inactivity) |
| 2021-03-15 21:30:00 | → | conal joins (~conal@192.145.118.137) |
| 2021-03-15 21:30:04 | <Gurkenglas> | @let evalM :: Monad m => LensLike' m VeryLazyNaturals Int; evalM f x = do i <- f 0; foldr (.) id (replicate i S) <$> (\(S x) -> evalM (fmap (subtract i) . f . (+1)) x) x -- this is sure to come in handy |
| 2021-03-15 21:30:08 | <lambdabot> | Defined. |
| 2021-03-15 21:32:08 | × | malumore quits (~malumore@151.62.122.60) (Ping timeout: 245 seconds) |
| 2021-03-15 21:32:27 | × | connrs_ quits (~connrs@runciter.connrs.uk) (Ping timeout: 256 seconds) |
| 2021-03-15 21:32:28 | → | esp32_prog joins (~esp32_pro@185.254.75.51) |
| 2021-03-15 21:32:31 | × | ByteEater quits (57cd846a@gateway/web/cgi-irc/kiwiirc.com/ip.87.205.132.106) (Quit: Connection closed) |
| 2021-03-15 21:33:36 | × | codygman` quits (~user@209.251.131.98) (Ping timeout: 246 seconds) |
| 2021-03-15 21:33:43 | × | dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0) |
| 2021-03-15 21:34:42 | → | connrs joins (~connrs@runciter.connrs.uk) |
| 2021-03-15 21:34:43 | × | sea-gull quits (~sea-gull@li1815-136.members.linode.com) (Ping timeout: 256 seconds) |
| 2021-03-15 21:35:11 | → | sea-gull joins (~sea-gull@li1815-136.members.linode.com) |
| 2021-03-15 21:37:07 | → | deni_ joins (~deni@unaffiliated/deni) |
| 2021-03-15 21:37:14 | × | deni quits (~deni@unaffiliated/deni) (Ping timeout: 256 seconds) |
| 2021-03-15 21:37:33 | × | Aleksejs quits (~Aleksejs@haskell.lv) (Ping timeout: 256 seconds) |
| 2021-03-15 21:38:51 | → | Aleksejs joins (~Aleksejs@haskell.lv) |
| 2021-03-15 21:39:15 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 256 seconds) |
| 2021-03-15 21:39:45 | → | cheater joins (~user@unaffiliated/cheater) |
| 2021-03-15 21:40:03 | × | conal quits (~conal@192.145.118.137) (Quit: Computer has gone to sleep.) |
| 2021-03-15 21:40:18 | <hololeap> | monochrom: honestly, i've been wondering if MonadIO and MonadSTM could be abstracted further into something that works on a transformer stack over any base monad |
| 2021-03-15 21:40:57 | × | dilinger quits (~dilinger@spindle.queued.net) (Ping timeout: 256 seconds) |
| 2021-03-15 21:41:04 | → | dilinger joins (~dilinger@spindle.queued.net) |
| 2021-03-15 21:41:23 | <hololeap> | because unlift-stm is so damn similar to MonadIO and MonadUnliftIO |
| 2021-03-15 21:46:14 | × | slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Ping timeout: 260 seconds) |
| 2021-03-15 21:46:22 | × | nisstyre quits (~wes@python-zero/conduct-committee/nisstyre) (Quit: WeeChat 2.9) |
| 2021-03-15 21:46:42 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2021-03-15 21:46:54 | <monochrom> | I would think that things like MonadTrans, MonadReader, MonadState are doing that. |
| 2021-03-15 21:47:16 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:c98d:ec81:e94d:3657) |
| 2021-03-15 21:48:19 | × | mantovani quits (~mantovani@104.131.207.121) (Ping timeout: 256 seconds) |
| 2021-03-15 21:48:42 | → | conal joins (~conal@64.71.133.70) |
| 2021-03-15 21:48:48 | → | mantovani joins (~mantovani@104.131.207.121) |
| 2021-03-15 21:49:28 | <hololeap> | something that says, "this action works on the base monad of the stack" |
| 2021-03-15 21:49:51 | <hololeap> | because those are not quite the same |
| 2021-03-15 21:50:33 | × | hwabyong quits (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (Ping timeout: 256 seconds) |
| 2021-03-15 21:50:34 | <Gurkenglas> | @let evalA :: Traversal' VeryLazyNaturals Int; evalA f x = foldr (.) id <$> (flip replicate S <$> f 0) <*> let !(S y) = x in evalA (f . (+1)) y -- in fact, this. although now the monotonic function g must come in the format "f x = g x - g (x-1)" |
All times are in UTC.