2025/12/01

Newest at the top

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 +0100simplystuart(~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
2025-12-01 22:24:16 +0100 <jreicher> Emacs doesn't either. I think the grammars are still moving targets.
2025-12-01 22:24:13 +0100 <merijn> That being said, the haskell treesitter grammar is kinda ugly as sin
2025-12-01 22:24:00 +0100 <tomsmeding> and also, even though neovim supports tree-sitter, it doesn't bundle a Haskell grammar by default, it seems
2025-12-01 22:23:54 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 244 seconds)
2025-12-01 22:23:54 +0100 <merijn> it's one of the main reasons I switched to neovim
2025-12-01 22:23:37 +0100 <jreicher> Ah. I wonder why vim hasn't started supporting it.
2025-12-01 22:23:12 +0100 <merijn> jreicher: treesitter is only neovim
2025-12-01 22:22:58 +0100 <jreicher> tomsmeding: [exa]: regarding Haskell syntax in vim, it's not using treesitter? Maybe it's only neovim...
2025-12-01 22:21:16 +0100 <fgarcia> ski: i am not much of a proof writer. but in english, variables of interest could be written as two different symbols. while some people will not like it, the substition can be written "For the above functions, replace variable x with y. This would include f(x) being replaced with f(y)."
2025-12-01 22:19:15 +0100 <jreicher> OMG. That never happens.
2025-12-01 22:18:59 +0100 <tomsmeding> it seems the theme of today is "words mean different things to different people"
2025-12-01 22:18:00 +0100 <jreicher> ...anything with types at runtime...
2025-12-01 22:17:44 +0100 <jreicher> "type". Of course I don't get to say how people use a word though.
2025-12-01 22:17:44 +0100 <jreicher> lortabac: yeah I was always meaning what dminuoso ended up saying, but I was making a bit of a joke. When people talk about doing anything with types they really mean runtime tag checking, i.e. some kind of metadata-based control. And this is probably why you say it provides a meaning to raw bytes. You can smuggle some kind of pseudo-semantics into any kind of generic metadata. The joke I'm making is that this shouldn't be called a
2025-12-01 22:16:48 +0100 <tomsmeding> bug report time?
2025-12-01 22:16:38 +0100 <tomsmeding> possibly, yes, I haven't changed those defaults
2025-12-01 22:16:28 +0100 <merijn> And that breaking in recent cabal
2025-12-01 22:16:27 +0100 <tomsmeding> ah
2025-12-01 22:16:18 +0100 <merijn> tomsmeding: I think it's because my cabal.config has "application-dir: ." (i.e. source should be in root of the directory, not a subdir)
2025-12-01 22:16:01 +0100 <tomsmeding> ski: long live ambiguous notation in mathematics
2025-12-01 22:15:46 +0100 <tomsmeding> merijn: if I `mkdir a` `mkdir b` `cabal init` then I still don't get your message
2025-12-01 22:15:09 +0100 <ski> "Some authors such as Yves Tillé use ]a, b[ to denote the complement of the interval (a, b); namely, the set of all real numbers that are either less than or equal to a, or greater than or equal to b."
2025-12-01 22:14:51 +0100 <merijn> It should, yes
2025-12-01 22:14:42 +0100 <tomsmeding> but doesn't `cabal init` start a new package in the _current_ directory?
2025-12-01 22:14:21 +0100 <merijn> My directory just has a bunch of other directories in it from previous years
2025-12-01 22:14:00 +0100 <tomsmeding> I had to press enter like a 100 times, so I presume yes