2024/11/17

Newest at the top

2024-11-17 23:14:29 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-17 23:13:50 +0100Alleria_(~Alleria@user/alleria) (Remote host closed the connection)
2024-11-17 23:13:05 +0100tromp(~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 +0100Everything(~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 +0100Batzy_Batzy
2024-11-17 22:53:29 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2024-11-17 22:53:26 +0100user363627(~user@user/user363627) user363627
2024-11-17 22:50:05 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-11-17 22:49:18 +0100fp(~Thunderbi@87-92-78-48.bb.dnainternet.fi) fp
2024-11-17 22:48:17 +0100cuteguest(~cuteguest@75.149.164.102) (Quit: Client closed)
2024-11-17 22:45:49 +0100CrunchyFlakes(~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 +0100cuteguest(~cuteguest@75.149.164.102)
2024-11-17 22:29:08 +0100Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.209) (Ping timeout: 245 seconds)
2024-11-17 22:28:05 +0100RedFlamingos(~RedFlamin@user/RedFlamingos) RedFlamingos
2024-11-17 22:26:50 +0100GuerrillaMonkey(~Jeanne-Ka@79.127.217.59) Jeanne-Kamikaze
2024-11-17 22:25:37 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-11-17 22:23:10 +0100petrichor(~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-17 22:20:30 +0100gmg(~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 +0100michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2024-11-17 22:14:08 +0100Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.209) Jeanne-Kamikaze
2024-11-17 22:09:01 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-17 22:08:50 +0100 <hellwolf> red herring. instead, it seems it tries to format with one argument per line.
2024-11-17 22:02:42 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds)
2024-11-17 21:58:30 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)