2025/11/28

Newest at the top

2025-11-28 19:59:52 +0100 <EvanR> something behind the scenes just hooks it up
2025-11-28 19:59:39 +0100 <EvanR> and data
2025-11-28 19:59:33 +0100 <EvanR> if that's all it is then it's possible to get a lot done using only pure functions
2025-11-28 19:59:01 +0100 <milan> Agree
2025-11-28 19:58:32 +0100 <EvanR> like a terminal
2025-11-28 19:58:26 +0100 <EvanR> think of a browser window as the final UI screen observable to the user, it's not a function, it's a thing you send content to be displayed
2025-11-28 19:57:24 +0100 <EvanR> *meaningful
2025-11-28 19:57:10 +0100 <EvanR> you'd have to specify what that even means, since data isn't a function
2025-11-28 19:57:00 +0100 <EvanR> similar to "pure data"
2025-11-28 19:56:57 +0100 <EvanR> so it's not necessarily meaning for you to call it pure or not
2025-11-28 19:56:45 +0100 <EvanR> a client side framework isn't a function
2025-11-28 19:56:43 +0100 <milan> That has no side effects right?
2025-11-28 19:56:33 +0100 <EvanR> a pure function is a function
2025-11-28 19:56:29 +0100 <milan> Eh
2025-11-28 19:56:22 +0100 <geekosaur> you purely construct code the browser runs impurely
2025-11-28 19:56:16 +0100 <EvanR> the word "pure" keeps growing more legs, people applying it into any situation ever
2025-11-28 19:56:13 +0100 <geekosaur> it's not done by your code, it's done by the browser
2025-11-28 19:55:56 +0100 <milan> But this "painting" showing cannot be possibly pure ever right?
2025-11-28 19:55:40 +0100 <geekosaur> kinda like how IO can be done in a pure language by, in effect, purely constructing an impure program for the RTS to run impurely
2025-11-28 19:55:29 +0100 <EvanR> just like the repl automatically shows you the answer to an evaluation, you don't have to "print" it
2025-11-28 19:55:15 +0100 <EvanR> your code doesn't have to deal with that
2025-11-28 19:55:06 +0100 <geekosaur> (or JS)
2025-11-28 19:54:52 +0100 <geekosaur> you're just constructing pure HTML. the framework and the browser do the IO part
2025-11-28 19:54:41 +0100 <EvanR> well the client side engine does at some level .innerHTML = yourhtml
2025-11-28 19:54:20 +0100 <milan> Yes
2025-11-28 19:54:05 +0100 <EvanR> getting on the end user's screen?
2025-11-28 19:53:56 +0100 <EvanR> I'm not sure I understand the specifics of your question, what is "render" here
2025-11-28 19:53:17 +0100 <milan> Yes computing state is pure I got it... but then You need to render right? And this is pure or not?
2025-11-28 19:52:58 +0100 <EvanR> however you write the code, assuming you don't cause side effects in the HTML generating code, it's implementing a pure function
2025-11-28 19:52:23 +0100 <EvanR> I pointed this out long ago while doing PHP
2025-11-28 19:52:16 +0100 <milan> EvanR: Yes look here https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering
2025-11-28 19:52:05 +0100 <EvanR> an HTML UI component can be a pure function of its source data
2025-11-28 19:50:09 +0100 <EvanR> hydration?
2025-11-28 19:49:57 +0100 <milan> What does not make sense for me is that ReactJS claims (computing new state of components and drawing to screen is pure function) In haskell however even printing to terminal is in IOMonad. How could displaying something be pure and impure at once? I bet ReactJS is lying here.
2025-11-28 19:49:49 +0100ZLima12(~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
2025-11-28 19:49:34 +0100ZLima12_(~zlima12@user/meow/ZLima12) ZLima12
2025-11-28 19:48:19 +0100 <milan> EvanR: This isomorphism looks to me like next.js hydratation. Like prerender on server send prerenderd html then run rest on browser. I am more interested in "Function components" and composability as is in ReactJS.
2025-11-28 19:46:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-28 19:40:43 +0100trickard_(~trickard@cpe-91-98-47-163.wireline.com.au)
2025-11-28 19:40:29 +0100trickard_(~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-28 19:35:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-28 19:33:58 +0100 <EvanR> haskell-miso.org claims that it is "isomorphic" so I'm finding it hard not to check out
2025-11-28 19:23:08 +0100 <milan> Guyz! I have yet another question! I know I can read docs but bothering you with stupid quesitons is so much more fun. So has anybody tried ReactJS and Miso? How do they compare. React is pushing "pure functions" for composing GUI which haskell might employ for GUI too right? Is this what MISO does?
2025-11-28 19:19:19 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-11-28 19:17:40 +0100tromp(~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-28 19:13:05 +0100trickard_(~trickard@cpe-91-98-47-163.wireline.com.au)
2025-11-28 19:12:51 +0100trickard(~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-28 19:03:37 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
2025-11-28 18:53:15 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
2025-11-28 18:48:46 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell