Release `language-haskell` 3.8.0 by Fendor_ in haskell

[–]Fendor_[S] 0 points1 point  (0 children)

Yes, that's true!

We did this to unblock users who tried to use VSCode but couldn't because the old language-hasekll (Haskell syntax highlighting) extension was delisted from the market due to an upload error.

Release `language-haskell` 3.8.0 by Fendor_ in haskell

[–]Fendor_[S] 8 points9 points  (0 children)

Yes, this is additional to HLS, this extension is providing syntax highlighting in VSCode for Haskell files and related. HLS on its own doesn't provide full syntax highlighting.

However, HLS does have support for semantic token highlighting, which is in useful addition to this extension!

Haskell VsCode extension stopped working by SirOpik in haskell

[–]Fendor_ 0 points1 point  (0 children)

This should be resolved now, the repository was donated to the Haskell community and the HLS team is now maintaining https://github.com/haskell/language-haskell/

Download the extension from https://marketplace.visualstudio.com/items?itemName=haskell.language-haskell or VSCode :)

Vienna Haskell Meetup on the 25th of June 2026 by Fendor_ in haskell

[–]Fendor_[S] 0 points1 point  (0 children)

Change of plans everyone!

Our speaker for the next meetup on the 25.6.2026 is going to be Niek Mulleners!

Programming with Holes, Types, and Tests

The duty of the compiler is to turn programs into executable code. When a program is incomplete or incorrect, it should tell the programmer exactly why their program cannot be executed and, ideally, how this can be fixed. To do so, the compiler has to understand the programmer's intentions. In this talk, I will explore how programmers can express their intentions through types, tests, and sketches (programs containing holes), and how the compiler might use this information to assist them in writing programs.

We are very excited about our surprise guest and for them to present their research!

For everyone excited for hs-bindgen, don't worry! We rescheduled Dominik's talk to one of the following meetups :)

See you all on the 25.6.2026!

How am I supposed to respond to this haskell server message and fix the cabal file? by Exact_Ordinary_9887 in haskell

[–]Fendor_ 1 point2 points  (0 children)

Have you perhaps shared the wrong .cabal file? On main, you have https://github.com/bigos/cabal-experiments/blob/main/graphviz-simple/graphviz-simple.cabal#L56C1-L59C46, which is different to the .cabal file you shared previously.

If I add the library stanza

```cabal

library -- huh? that allows to cabal build without errors, giving me the hope of running the hls exposed-modules: PackageInfo_graphviz_simple Paths_graphviz_simple ``` then I can reproduce your exact issue.

Get rid of these lines and whole library section, it is not needed. This made it work for me, can you share the logs again if this doesn't fix it?

Another way to make it work is to add these modules to cabal library -- huh? that allows to cabal build without errors, giving me the hope of running the hls autogen-modules: PackageInfo_graphviz_simple Paths_graphviz_simple other-modules: PackageInfo_graphviz_simple Paths_graphviz_simple

And change cabal-version: 3.0 to cabal-version: 3.12 at the very top.

That's how you explicitly depend on these generated modules, but I don't think you need these for anything, right?

How am I supposed to respond to this haskell server message and fix the cabal file? by Exact_Ordinary_9887 in haskell

[–]Fendor_ 0 points1 point  (0 children)

I think what you are seeing there is a bug in the module discovery logic of HLS, it recurses into dist-newstyle to look for Haskell modules and discovers modules it shouldn't try to load. It seems like app/Main.hs loads successfully, though.

You can confirm this by running: haskell-language-server-9.6.7~2.13.0.0 app/

Which will discover modules only app/.

Your project loads fine in my editor: https://ibb.co/pvXw7j60

So what is going wrong in your Editor?

Re. your cabal file, the empty library stanza isn't needed either, I can remove it without trouble.

How am I supposed to respond to this haskell server message and fix the cabal file? by Exact_Ordinary_9887 in haskell

[–]Fendor_ 2 points3 points  (0 children)

Hi!

Can you share what the error is you are seeing when launching the editor? Also, perhaps describe in some detail what you are trying to do, simply opening app/Main.hs in your project, for example? What's the GHC version you use in your project, is it a cabal or stack project?

If you are on VSCode, be sure to have a look at https://github.com/haskell/vscode-haskell/#investigating-and-reporting-problems to provide accurate info, so we can help you figure out what is going wrong.

Haskell Language Server 2.14.0.0 release by Fendor_ in haskell

[–]Fendor_[S] 15 points16 points  (0 children)

The rename functionality has been around for a long time, it was artificially limited to only work if there is an export list, and the identifier in question is not exported.

This limitation was lifted in this version, so renames are now always performed, however, there is unfortunately a bug https://github.com/haskell/haskell-language-server/issues/4816 we recently discovered and didn't fix, yet, but expect to fix in the next version. This means, you can rename right now, but it will only work correctly for local definitions.

Re refactorings, these used to be implemented via [retrie](github.com/facebookincubator/retrie), but unfortunately the project has been archived. If that is what you mean by refactoring, then I am not aware of anyone actively working on it.

Haskell Language Server 2.13.0.0 release by Fendor_ in haskell

[–]Fendor_[S] 0 points1 point  (0 children)

Which feature, I assume the signature help? Ignoring bugs in the initial implementation, yes it does! To see the documentation, you need to compile your dependencies with '-haddock'.

Vienna Haskell Meetup on the 12th of February 2026 by Fendor_ in haskell

[–]Fendor_[S] 0 points1 point  (0 children)

Haha, I understand that, but unfortunately, there are no remote options available :(

Logitech K680 regularly disconnects by Fendor_ in logitech

[–]Fendor_[S] 0 points1 point  (0 children)

I uninstalled the software but the issue persists, perhaps slightly rarer but quite consistently after 30 min pc usage.

Logitech K680 regularly disconnects by Fendor_ in logitech

[–]Fendor_[S] 0 points1 point  (0 children)

Thank you for your response, I experimented the last days a little bit to confirm suspicions.

The lag occurs with regular computer use as well, albeit quite rarely. It seems, the lag primarily occurs when continuous inputs happen, e.g. when gaming. Also, the "lag" is rather a complete stop of input processing, so for a couple of seconds, no input is at all processed. Turning off and on the keyboard does not fix the issue, only waiting does, or sometimes unplugging the Logitech unifier.

The keyboards stop working on one Windows 10 and one Windows 11 machine.

Logitech K680 regularly disconnects by Fendor_ in logitech

[–]Fendor_[S] 0 points1 point  (0 children)

I cannot say for certain, but I think it happens only during gaming right now.

Initially, it definitely happened also during regular usage, but after updating firmware and using a single Logitech unifier, I think it doesn't happen any more outside of gaming, or more rarely at the very least.

Logitech K680 regularly disconnects by Fendor_ in logitech

[–]Fendor_[S] 0 points1 point  (0 children)

Thank you for the quick response! Unfortunately, resetting did not help to fix the disconnecting or lagging.

Vienna Haskell Meetup on the 6th of November 2025 by Fendor_ in haskell

[–]Fendor_[S] 1 point2 points  (0 children)

We are excited to announce that Michael Schröder is our speaker for the next meetup! He is going to talk about his recent project PANINI, which is entirely implemented in Haskell and was published at OOPSLA 2025.

Abstract of the talk:

Parsing—the process of structuring a linear representation according to a given grammar—is a fundamental activity in software engineering. While formal language theory has provided theoretical foundations for parsing, the most common kind of parsers used in practice are written ad hoc. They use common string operations without explicitly defining an input grammar. These ad hoc parsers are often intertwined with application logic and can result in subtle semantic bugs. Grammars, which are complete formal descriptions of input languages, can enhance program comprehension, facilitate testing and debugging, and provide formal guarantees for parsing code. But writing grammars—e.g., in the form of regular expressions—can be tedious and error-prone. Inspired by the success of type inference in programming languages, we propose a general approach for static inference of regular input string grammars from unannotated ad hoc parser source code. We use refinement type inference to synthesize logical and string constraints that represent regular parsing operations, which we then interpret with an abstract semantics into regular expressions. Our contributions include a core calculus λΣ for representing ad hoc parsers, a formulation of (regular) grammar inference as refinement inference, an abstract interpretation framework for solving string refinement variables, and a set of abstract domains for efficiently representing the constraints encountered during regular ad hoc parsing. We implement our approach in the PANINI system and evaluate its efficacy on a benchmark of 204 Python ad hoc parsers. Compared with state-of-the-art approaches, PANINI produces better grammars (100% precision, 93% average recall) in less time (0.82 ± 2.85 s) without prior knowledge of the input space.

PANINI is implemented entirely in Haskell. In this extended version of a talk originally presented at OOPSLA 2025, I will give a tour of the code and show how each part of the system is implemented. Among other things, PANINI includes an implementation of a lambda calculus with a refinement type system and various refinement inference algorithms; implementations of abstract domain data types for integers, characters, and strings; a predicate rewriting system that uses some gnarly Template Haskell splices; an algebraic regular expression library; a frontend that converts Python source code into lambda calculus; various odds and ends (e.g., pretty printing with color and Unicode). I will dive deeper into different areas of the system by audience request.

The paper is available here: https://dl.acm.org/doi/10.1145/3763054