Newest at the top
| 2025-12-01 22:47:21 +0100 | <fgarcia> | ski: i think possibly the inverses of functions. reading more about this though i am seeing the 'maps to' symbol,|->, being used for substition. there are other times where the arrow => is used, though i feel this one is not so nice the times i see it |
| 2025-12-01 22:47:03 +0100 | <merijn> | What am I missing? |
| 2025-12-01 22:46:55 +0100 | <merijn> | Spaking of neovim, I at one point had a working hls config, but apparently I broke it and now LspInfo claims there's no active langauge server? |
| 2025-12-01 22:46:35 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-01 22:37:55 +0100 | <haskellbridge> | <zoil> i have enough time today to put together a working example |
| 2025-12-01 22:37:28 +0100 | <haskellbridge> | <zoil> they were saying something about having a type witness, eta something, and singletons |
| 2025-12-01 22:37:01 +0100 | <haskellbridge> | <zoil> (nets that have regularizers reweighting internal branches at neurons) |
| 2025-12-01 22:36:58 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2025-12-01 22:36:43 +0100 | <haskellbridge> | <zoil> i have time today, i got my code to compile |
| 2025-12-01 22:36:33 +0100 | <haskellbridge> | <zoil> zoil: You would need e.g. "data WhichNE xs where { IsCons :: WhichNE (Cons x xs); IsLast :: WhichNE (Last x) }; class KnownNE ne where { knownNE :: WhichNE ne }; <both instances>; instance KnownNE xs => Read (Transfers xs) where { read s = case knownNE of { ... } }". |
| 2025-12-01 22:36:33 +0100 | <haskellbridge> | <zoil> can anyone help me understand this? |
| 2025-12-01 22:31:21 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) Anarchos |
| 2025-12-01 22:31:21 +0100 | <jreicher> | How did I miss that. I wonder if the grammars I built are the same. |
| 2025-12-01 22:30:40 +0100 | <tomsmeding> | jreicher: from the .js files in the grammar/ directory |
| 2025-12-01 22:30:30 +0100 | <jreicher> | What's the json generated from? I thought the json was written. |
| 2025-12-01 22:30:25 +0100 | <merijn> | I can't make heads of tails of that grammar and I wrote and graded quite a few |
| 2025-12-01 22:30:08 +0100 | <merijn> | tomsmeding: That's what *I* would do, but I certainly would make it more readable than that :p |
| 2025-12-01 22:30:02 +0100 | <tomsmeding> | the keys in operator.js for example make me think of the haskell grammar |
| 2025-12-01 22:29:42 +0100 | <tomsmeding> | merijn: I dunno, but wouldn't they just have faithfully implemented the haskell2010 grammar plus extensions? |
| 2025-12-01 22:29:13 +0100 | <tomsmeding> | I know _that_ much about treesitter :p |
| 2025-12-01 22:28:58 +0100 | <tomsmeding> | well, the json is the grammar, kind of, but in the same way that an LR parsing table is also "the grammar" |
| 2025-12-01 22:28:42 +0100 | <merijn> | That, yeah |
| 2025-12-01 22:28:38 +0100 | <tomsmeding> | no, it's javascript that is compiled to the json |
| 2025-12-01 22:28:36 +0100 | <merijn> | jreicher: The json isn't the grammar |
| 2025-12-01 22:28:30 +0100 | <jreicher> | The C is generated |
| 2025-12-01 22:28:27 +0100 | <jreicher> | Which is the json |
| 2025-12-01 22:28:20 +0100 | <tomsmeding> | surely merijn means the source, not the compiled result https://github.com/tree-sitter/tree-sitter-haskell/tree/master/grammar |
| 2025-12-01 22:27:58 +0100 | <jreicher> | You mean that, right? |
| 2025-12-01 22:27:58 +0100 | <merijn> | tomsmeding: I'm writing my own for sqlite, the haskell one is just convoluted and ununderstandable |
| 2025-12-01 22:27:56 +0100 | <jreicher> | https://github.com/tree-sitter/tree-sitter-haskell/blob/master/src/grammar.json |
| 2025-12-01 22:27:34 +0100 | <merijn> | tomsmeding: That's not because it's TS grammar |
| 2025-12-01 22:27:22 +0100 | <tomsmeding> | merijn: I looked before and couldn't quite make heads or tails of what I was seeing (mind I haven't looked at TS grammars before) |
| 2025-12-01 22:27:10 +0100 | <merijn> | tomsmeding: It really doesn't matter :p |
| 2025-12-01 22:27:00 +0100 | <ski> | (not quite getting the context) |
| 2025-12-01 22:26:58 +0100 | <tomsmeding> | merijn: any part in particular you want me to look at |
| 2025-12-01 22:26:37 +0100 | <merijn> | tomsmeding: But humor me and open the haskell tree sitter grammar :) |
| 2025-12-01 22:26:29 +0100 | <ski> | fgarcia : do you have an example of "use those terms in functions" ? |
| 2025-12-01 22:26:27 +0100 | <merijn> | tomsmeding: Sure |
| 2025-12-01 22:26:02 +0100 | <tomsmeding> | it's not that building a haskell parser is impossible -- not at all. Properly dealing with the indentation-sensitive layout is just non-trivial |
| 2025-12-01 22:25:40 +0100 | <tomsmeding> | right :) |
| 2025-12-01 22:25:36 +0100 | <jreicher> | I just mean building the treesitter grammar. I didn't mean writing one. :) |
| 2025-12-01 22:25:24 +0100 | <tomsmeding> | (I was saying that to jreicher) |
| 2025-12-01 22:25:06 +0100 | <merijn> | tomsmeding: Yes |
| 2025-12-01 22:24:57 +0100 | simplystuart | (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 2025-12-01 22:24:57 +0100 | <tomsmeding> | ever tried properly parsing haskell? |
| 2025-12-01 22:24:50 +0100 | <jreicher> | Building a grammar is quite easy though. |
| 2025-12-01 22:24:49 +0100 | <tomsmeding> | "Nvim includes these parsers: C, Lua, Markdown, Vimscript, Vimdoc, Treesitter query files" |
| 2025-12-01 22:24:36 +0100 | <tomsmeding> | merijn: :help treesitter |
| 2025-12-01 22:24:28 +0100 | <merijn> | You gotta "TSInstall haskell" |
| 2025-12-01 22:24:21 +0100 | <merijn> | tomsmeding: It doesn't bundle any grammars at all by default |