2026/06/18

Newest at the top

2026-06-18 23:05:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 266 seconds)
2026-06-18 23:04:37 +0000 <schuelermine> cool
2026-06-18 23:04:19 +0000 <probie> Yes
2026-06-18 23:04:13 +0000 <schuelermine> does ⊸ work with UnicodeSyntax as an alias for %1 ->?
2026-06-18 23:03:51 +0000 <probie> You probably only need `(Resource ⊸ t) -> t`
2026-06-18 23:03:29 +0000 <schuelermine> actually does that function itself have to be linear? probably not
2026-06-18 23:03:05 +0000 <schuelermine> instead of a type Resource that can only be consumed linearly, you expose a function withResource :: (Resource %1 -> t) %1 -> t for each constructor
2026-06-18 23:02:17 +0000 <schuelermine> I suppose you can simulate it
2026-06-18 23:01:30 +0000 <schuelermine> linear are functions are cool but can you make types that can only be consumed by linear functions?
2026-06-18 23:00:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-18 23:00:13 +0000 <EvanR> then register buttoncd todo
2026-06-18 22:59:54 +0000 <EvanR> e.g. instead of buttoncb :: ButtonVal -> IO (), buttoncb :: IORef Whatever -> ButtonVal -> IO ()
2026-06-18 22:59:54 +0000 <vms14> i know i should avoid using ioref if possible
2026-06-18 22:59:45 +0000 <vms14> i will think about it
2026-06-18 22:59:10 +0000 <EvanR> todo can be "baked" into the first argument of the callback
2026-06-18 22:58:47 +0000 <vms14> a button in js will call some callback function in haskell and that function has to mess with the todo map
2026-06-18 22:58:28 +0000 <EvanR> much more convenient than manual threading of a state
2026-06-18 22:57:57 +0000 <EvanR> you could also pass todo to whatever code that accesses it
2026-06-18 22:56:20 +0000 <vms14> i want to make a todo app and use the js backend so it's a browser app
2026-06-18 22:55:59 +0000 <EvanR> of course you can't use the IORef properly without IO
2026-06-18 22:55:51 +0000 <vms14> i barely know what i'm doing :D
2026-06-18 22:54:55 +0000 <EvanR> since there's no side effects
2026-06-18 22:54:41 +0000 <EvanR> unsafePerformIO (newIORef Map.empty) is potentially safe, assuming this expression doesn't get evaluated and used in more than one place
2026-06-18 22:52:50 +0000schuelermine(~Thunderbi@user/schuelermine) schuelermine
2026-06-18 22:49:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-18 22:44:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-18 22:44:22 +0000Square2(~Square@user/square) (Quit: Leaving)
2026-06-18 22:42:35 +0000 <vms14> as the callbacks will be fired from js events
2026-06-18 22:42:15 +0000 <vms14> i want to use the js ffi and callbacks will have to mess with that reference so i couldn't use the state monad i guess
2026-06-18 22:41:42 +0000 <vms14> unsafePerformIO (newIORef Map.empty)
2026-06-18 22:41:16 +0000 <vms14> https://gitlab.com/ohmycat/oh/-/blob/main/oh.hs
2026-06-18 22:41:11 +0000 <vms14> look haskellers my impure code :D
2026-06-18 22:39:50 +0000machinedgod(~machinedg@d108-173-95-19.abhsia.telus.net) machinedgod
2026-06-18 22:38:07 +0000dtman34(~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2026-06-18 22:37:11 +0000SquareSquare2
2026-06-18 22:35:06 +0000dtman34_(~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) dtman34
2026-06-18 22:34:59 +0000machinedgod(~machinedg@d108-173-95-19.abhsia.telus.net) (Remote host closed the connection)
2026-06-18 22:34:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-06-18 22:34:22 +0000machinedgod(~machinedg@d108-173-95-19.abhsia.telus.net) machinedgod
2026-06-18 22:32:31 +0000schuelermine(~Thunderbi@user/schuelermine) (Remote host closed the connection)
2026-06-18 22:29:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-18 22:26:41 +0000karenw_(~karenw@user/karenw) karenw
2026-06-18 22:25:01 +0000schuelermine(~Thunderbi@user/schuelermine) schuelermine
2026-06-18 22:18:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-06-18 22:14:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-18 22:03:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-06-18 21:59:55 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2026-06-18 21:58:53 +0000tromp(~textual@2001:1c00:340e:2700:ed09:73b3:83dd:1e97) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-06-18 21:58:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-18 21:57:52 +0000traxex(traxex@user/traxex) (Ping timeout: 266 seconds)