Magnus Therning: Making an Emacs major mode for Cabal using tree-sitter
Planet Haskell
by
23h ago
A few days ago I posted on r/haskell that I'm attempting to put together a Cabal grammar for tree-sitter. Some things are still missing, but it covers enough to start doing what I initially intended: experiment with writing an alternative Emacs major mode for Cabal. The documentation for the tree-sitter integration is very nice, and several of the major modes already have tree-sitter variants, called X-ts-mode where X is e.g. python, so putting together the beginning of a major mode wasn't too much work. Configuring Emacs First off I had to make sure the parser for Cabal was installed. The sn ..read more
Visit website
Tweag I/O: Nix
Planet Haskell
by
23h ago
Nix is a build system, a configuration management system, and a mechanism for deploying software, focused on reproducibility. It is the basis of an ecosystem of powerful tools for software development, including Nixpkgs, the largest, most up-to-date software repository in the world, and NixOS, a Linux distribution that can be configured fully declaratively. When software is built with Nix, it works in perpetuity ..read more
Visit website
Tweag I/O: High Assurance Software
Planet Haskell
by
23h ago
Software failures can lead to significant costs and even human hardship and danger. We believe that with an appropriate set of tools and techniques it is possible to improve the reliability of both existing and new software without a huge upfront investment. Formal methods do not have to be “too expensive” or “too time consuming”; simple things can drastically improve the assurance of software, even without complete verification. Furthermore, academia is constantly generating new ideas. Which of those translate into suitable tools for a given context? There is a spectrum of assurance and we be ..read more
Visit website
Well-Typed.Com: Late Cost Centre Profiling
Planet Haskell
by
23h ago
GHC 9.4 contains a new cost-centre insertion strategy which provides more detailed profiling reports without affecting the optimisation of the program. The idea is to insert cost-centres after the optimiser has run so that the optimiser can’t be affected by the cost centres. The downside of this approach is that some cost centres will have internal names, but the profiles are still understandable and useful. Using late cost centre profiling The GHC user’s guide chapter on profiling explains the background: GHC’s profiling system assigns costs to cost centres. A cost is simply the time or spac ..read more
Visit website
Monday Morning Haskell: Series Spotlight: Monads and Functional Structures!
Planet Haskell
by
2d ago
Every so often I like to spotlight some of the permanent series you can find on the skills page, which contains over a dozen tutorial series for you to follow! This week I’m highlighting my series on Monads and Functional Structures! Monads are widely understood to be one of the trickier concepts for newcomers to Haskell, since they are very important, very abstract and conceptual, and do not really appear in most mainstream languages. There are a lot of monad tutorials out there on the internet, most of which are either too shallow, or too deep. This series will help you understand the conce ..read more
Visit website
Derek Elkins: Preserving, Reflecting, and Creating Limits
Planet Haskell
by
2d ago
Introduction This is a brief article about the notions of preserving, reflecting, and creating limits and, by duality, colimits. Preservation is relatively intuitive, but the distinction between reflection and creation is subtle. Preservation of Limits A functor, |F|, preserves limits when it takes limiting cones to limiting cones. As often happens in category theory texts, the notation focuses on the objects. You’ll often see things like |F(X \times Y) \cong FX \times FY|, but implied is that one direction of this isomorphism is the canonical morphism |\langle F\pi_1, F\pi_2\rangle|. To put i ..read more
Visit website
Mark Jason Dominus: Compass directions in Catalan
Planet Haskell
by
3d ago
Looking over a plan of the Sagrada Família Sunday, I discovered that the names of the cardinal directions are interesting. Nord (north). Okay, this is straightforward. It's borrowed from French, which for some reason seems to have borrowed from English. Llevant (east). This one is fun. As in Spanish, llevar is “to rise”, from Latin levāre which also gives us “levity” and “levitate”. Llevant is the east, where the sun rises. This is also the source of the English name “Levant” for the lands to the east, in the Eastern Mediterranean. I enjoy the way this is analogous to the use of the word ..read more
Visit website
Mark Jason Dominus: Here I am at the Sagrada Família
Planet Haskell
by
4d ago
I just found these pictures I took twenty years ago that I thought I'd lost so now you gotta see them. Back in 2003 I got to visit Barcelona (thanks, Xavi!) and among other things I did what you're supposed to do and visited la Sagrada Família. This is the giant Art Nouveau church designed by the great architect and designer Antoni Gaudí. It began construction in 1882, and is still in progress; I think they are hoping to have it wrapped up sometime in the next ten years. When I go to places I often skip the tourist stuff. (I spent a week in Paris once and somehow never once laid eyes on the Ei ..read more
Visit website
Well-Typed.Com: Multiple Component support for cabal repl
Planet Haskell
by
1w ago
Following on from our work implementing support for compiling multiple units at once in GHC, we have now been extending the ecosystem to take advantage of this new support. This work has once again been made possible by Hasura. This work continues our productive and long-running collaboration on important and difficult tooling tasks which will ultimately benefit the entire ecosystem. This post focuses on updates to the cabal repl command, allowing multiple components to be loaded at once into an interactive session. The work is being reviewed in Cabal MR #8726, and should be available in a fut ..read more
Visit website
Tweag I/O: Announcing FawltyDeps - a dependency checker for your Python code
Planet Haskell
by
1w ago
It is a truth universally acknowledged that the Python packaging ecosystem is in need of a good dependency checker. In the least, it’s our hope to convince you that Tweag’s new dependency checker, FawltyDeps, can help you maintain an environment that is minimal and reproducible for your Python project, by ensuring that required dependencies are explicitly declared and detecting unused dependencies. If you work with Python, and care about keeping your projects lean and repeatable, then this is for you. Why do we need a dependency checker? Say you’re working on a new project that uses Python, an ..read more
Visit website

Follow Planet Haskell on Feedspot for daily/weekly email updates.

Continue with Google
Continue with Apple
OR