Newest at the top
| 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 +0100 | ZLima12 | (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds) |
| 2025-11-28 19:49:34 +0100 | ZLima12_ | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-28 19:40:43 +0100 | trickard_ | (~trickard@cpe-91-98-47-163.wireline.com.au) |
| 2025-11-28 19:40:29 +0100 | trickard_ | (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-28 19:35:03 +0100 | merijn | (~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 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-11-28 19:17:40 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-28 19:13:05 +0100 | trickard_ | (~trickard@cpe-91-98-47-163.wireline.com.au) |
| 2025-11-28 19:12:51 +0100 | trickard | (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-28 19:03:37 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds) |
| 2025-11-28 18:53:15 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 245 seconds) |
| 2025-11-28 18:48:46 +0100 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
| 2025-11-28 18:47:25 +0100 | bggd | (~bgg@2a01:e0a:fd5:f510:81e5:516f:14c0:9e92) |
| 2025-11-28 18:44:16 +0100 | sindu | (~sindu@2.148.32.207.tmi.telenormobil.no) |
| 2025-11-28 18:41:49 +0100 | tv | (~tv@user/tv) (Read error: Connection reset by peer) |
| 2025-11-28 18:41:35 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 2025-11-28 18:40:12 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |