Newest at the top
2024-06-30 20:07:42 +0200 | <mreh> | it's only inputs to the pipeline that I'm going to record at the type level |
2024-06-30 20:06:21 +0200 | <monochrom> | Ugh type-level GLSL haha |
2024-06-30 20:06:18 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 255 seconds) |
2024-06-30 20:06:16 +0200 | <nhar> | I'm learning how to implement a hindley-milner-damas type inference algorithm and it's hurting my brain...thought this might be a simpler solution... |
2024-06-30 20:05:43 +0200 | <nhar> | Rembane: thanks! |
2024-06-30 20:05:33 +0200 | <nhar> | has anyone ever heard of co-contextual type systems? https://www.informatik.uni-marburg.de/~seba/publications/cocontextual-type-checking.pdf |
2024-06-30 20:05:11 +0200 | <mreh> | nhar: ^ |
2024-06-30 20:04:54 +0200 | <Rembane> | mreh: No worries! We're all here to learn. :D |
2024-06-30 20:04:39 +0200 | <nhar> | mreh: I've never done graphics before but it does sure sound like a challenge. From my experience I'm typically in the boat of "make your types super strong"...though I wish the UI for typelevel programing in haskell just re-used the value-level syntax... |
2024-06-30 20:03:25 +0200 | <mreh> | I'm hoping I can actually tackle the stuff I want to do with types |
2024-06-30 20:03:23 +0200 | <nhar> | Rembane: thnkx! I'm new to IRC and have no clue what I'm doing xD |
2024-06-30 20:03:06 +0200 | <mreh> | nhar: has it been helpful? |
2024-06-30 20:03:05 +0200 | <Rembane> | :D |
2024-06-30 20:03:02 +0200 | <lambdabot> | not an expression: ‘-- Markdown block quotes doesn't really work here. :)’ |
2024-06-30 20:03:02 +0200 | <lambdabot> | <no location info>: error: |
2024-06-30 20:03:01 +0200 | <Rembane> | > -- Markdown block quotes doesn't really work here. :) |
2024-06-30 20:02:54 +0200 | <nhar> | And I thought it was a great read! Super duper helpful |
2024-06-30 20:02:52 +0200 | <mreh> | OpenGL Shading Language |
2024-06-30 20:02:33 +0200 | <nhar> | what is GLSL? |
2024-06-30 20:02:23 +0200 | <nhar> | I'm not sure that that is... |
2024-06-30 20:02:17 +0200 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2024-06-30 20:02:17 +0200 | <lambdabot> | <hint>:1:23: error: |
2024-06-30 20:02:15 +0200 | <nhar> | > I'm generating GLSL... |
2024-06-30 20:01:21 +0200 | <mreh> | Thinking With Types is a pretty nice book. |
2024-06-30 20:00:54 +0200 | <mreh> | nhar: I'm working on that |
2024-06-30 20:00:43 +0200 | <mreh> | I'm generating GLSL and want to see if I can statically check all the vertex buffers and uniforms are there when it comes to run it |
2024-06-30 20:00:36 +0200 | <nhar> | mreh: np! Not sure how user friendly it is - but if all else fails you could implement your own if your type-level-fu is up to it |
2024-06-30 20:00:07 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 260 seconds) |
2024-06-30 19:59:49 +0200 | <mreh> | nhar: thx |
2024-06-30 19:59:45 +0200 | <mreh> | google is your friend |
2024-06-30 19:58:57 +0200 | dcoutts | (~duncan@ip-185-104-136-57.ptr.icomera.net) (Ping timeout: 256 seconds) |
2024-06-30 19:58:53 +0200 | <nhar> | mreh: i found this: https://hackage.haskell.org/package/type-level-sets-0.7 |
2024-06-30 19:57:36 +0200 | <mreh> | Is there an equivalent to a Map at the type level? |
2024-06-30 19:53:51 +0200 | <Lawrence1erkheim> | I think I get currying now* |
2024-06-30 19:53:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 19:53:46 +0200 | <Lawrence1erkheim> | Wait no, let me fix that |
2024-06-30 19:53:41 +0200 | <Lawrence1erkheim> | I get currying now |
2024-06-30 19:53:33 +0200 | <Lawrence1erkheim> | Oh my lord computerphile are so goated |
2024-06-30 19:53:16 +0200 | <monochrom> | A while ago I also thought about how to make >>= more theoretically pleasing. I haven't finished, but I think the first step is to flip the argument order, (a -> m b) -> (m a -> m b). Then it is just the unsurprising functor from the Kleisli category back to the original category. |
2024-06-30 19:48:10 +0200 | <lambdabot> | (a -> b) -> a -> b |
2024-06-30 19:48:09 +0200 | <probie> | :t ($) |
2024-06-30 19:48:07 +0200 | <lambdabot> | Monad m => (a -> m b) -> m a -> m b |
2024-06-30 19:48:06 +0200 | <probie> | :t (=<<) |
2024-06-30 19:48:02 +0200 | <lambdabot> | a -> (a -> b) -> b |
2024-06-30 19:48:01 +0200 | <probie> | :t (&) |
2024-06-30 19:48:00 +0200 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2024-06-30 19:47:58 +0200 | <probie> | :t (>>=) |
2024-06-30 19:47:44 +0200 | <probie> | I'd say it's closer to `(.)`/`(&)` |
2024-06-30 19:47:35 +0200 | <lambdabot> | Functor f => f a -> (a -> b) -> f b |
2024-06-30 19:47:33 +0200 | <mreh> | :t (<&>) |