Newest at the top
2024-11-17 23:29:27 +0100 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
2024-11-17 23:29:13 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Read error: Connection reset by peer) |
2024-11-17 23:23:54 +0100 | Square | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-11-17 23:14:29 +0100 | Alleria | (~Alleria@user/alleria) Alleria |
2024-11-17 23:13:50 +0100 | Alleria_ | (~Alleria@user/alleria) (Remote host closed the connection) |
2024-11-17 23:13:05 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-17 23:13:02 +0100 | <fp> | I saw Alex and it looks cool, though overkill for an unserious project like this |
2024-11-17 23:12:36 +0100 | <fp> | Ah yeah it seems that megaparsec has the =satisfy= combinator for generic types, which was exactly what I was looking for |
2024-11-17 23:08:15 +0100 | <geekosaur> | tokenizing could be done by a separate parser or by alex (a lexical analyzer generator, think flex for C) |
2024-11-17 23:07:56 +0100 | Everything | (~Everythin@178-133-36-30.mobile.vf-ua.net) Everything |
2024-11-17 23:07:51 +0100 | <geekosaur> | megaparsec supports arbitrary tokens and is preferred over parsec these days |
2024-11-17 23:06:24 +0100 | <fp> | If so, should I feel uncomfortable that Parsec seems to want to act on Chars? |
2024-11-17 23:05:26 +0100 | <fp> | So I got help here the other day with a basic Lisp parser I'm working on for learning and the result of that was that I should run my parser on tokens instead of on the whole character string. I think that means first turning the input text into, e.g. =[ParenL, Atom "format", True, String "Hello, World!\n", ParenR]=. I'm wondering how to actually do that? Do I need to bring in a parser? If so, should I feel uncomfortable that Parsec seems |
2024-11-17 22:59:37 +0100 | Batzy_ | Batzy |
2024-11-17 22:53:29 +0100 | weary-traveler | (~user@user/user363627) (Quit: Konversation terminated!) |
2024-11-17 22:53:26 +0100 | user363627 | (~user@user/user363627) user363627 |
2024-11-17 22:50:05 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-11-17 22:49:18 +0100 | fp | (~Thunderbi@87-92-78-48.bb.dnainternet.fi) fp |
2024-11-17 22:48:17 +0100 | cuteguest | (~cuteguest@75.149.164.102) (Quit: Client closed) |
2024-11-17 22:45:49 +0100 | CrunchyFlakes | (~CrunchyFl@31.19.233.78) (Ping timeout: 260 seconds) |
2024-11-17 22:44:35 +0100 | <cuteguest> | you are all so kind |
2024-11-17 22:44:26 +0100 | <cuteguest> | thank you |
2024-11-17 22:43:26 +0100 | <hellwolf> | *cannot* |
2024-11-17 22:43:22 +0100 | <hellwolf> | you can force GHC to be schizophrenia. |
2024-11-17 22:42:50 +0100 | <hellwolf> | if GHC thinks your 'a' is a '[*]', that means it is, using forall a. is simply to capture it so that you can use that kind variable in scope. |
2024-11-17 22:40:39 +0100 | <cuteguest> | mm mhm mhm |
2024-11-17 22:39:40 +0100 | <hellwolf> | though I am not sure how often you can write something that works for any kind... I have no direct experience with it. |
2024-11-17 22:38:53 +0100 | <cuteguest> | ahh ok ok |
2024-11-17 22:38:38 +0100 | <hellwolf> | while the [a] is more general |
2024-11-17 22:38:31 +0100 | <hellwolf> | I guess it's bad because, you'd think "*" is like a glob, for anything, but actually it is for the specific kind Type. |
2024-11-17 22:38:26 +0100 | <cuteguest> | wait.. but the compiler tells me when i write forall {a} (x :: a) (as :: '[a]) that '[a] has kind [*] |
2024-11-17 22:36:57 +0100 | <cuteguest> | aahh i see |
2024-11-17 22:36:44 +0100 | <geekosaur> | no, it's a type level list of `a`s |
2024-11-17 22:36:25 +0100 | <cuteguest> | could '[a] be a [*] ? like, '[a] is a [*] with 1 element, a |
2024-11-17 22:35:25 +0100 | <cuteguest> | okay.. the stars look so cool though.. but youre probably right.. |
2024-11-17 22:35:06 +0100 | <hellwolf> | I'd stop using "*", import Data.Kind (Type), to be clearer. |
2024-11-17 22:34:27 +0100 | <hellwolf> | very different. * is "Type" kind, a is any kind. |
2024-11-17 22:33:39 +0100 | <cuteguest> | this might be too specific of a question but.. for something like "forall {a} (x :: a) (as :: [*])." is there a difference between [*] and '[a]? shouldnt they both basically be [*]? |
2024-11-17 22:31:03 +0100 | cuteguest | (~cuteguest@75.149.164.102) |
2024-11-17 22:29:08 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@142.147.89.209) (Ping timeout: 245 seconds) |
2024-11-17 22:28:05 +0100 | RedFlamingos | (~RedFlamin@user/RedFlamingos) RedFlamingos |
2024-11-17 22:26:50 +0100 | GuerrillaMonkey | (~Jeanne-Ka@79.127.217.59) Jeanne-Kamikaze |
2024-11-17 22:25:37 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2024-11-17 22:23:10 +0100 | petrichor | (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-11-17 22:20:30 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-11-17 22:19:12 +0100 | <hellwolf> | no. I meant the lsp code lens, not the code itself. |
2024-11-17 22:18:46 +0100 | <geekosaur> | do you have ormolu/fourmolu turned on? |
2024-11-17 22:18:42 +0100 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2024-11-17 22:14:08 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@142.147.89.209) Jeanne-Kamikaze |
2024-11-17 22:09:01 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |