HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
GaloisInc
HaLVM
Haskell2012–2026
GaloisInc / HaLVM · Archived

HaLVM

The Haskell Lightweight Virtual Machine (HaLVM): GHC running on Xen

21Distinct people
25Mentions
0Explicit recommenders
1.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The Haskell Lightweight Virtual Machine (HaLVM): GHC running on Xen

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year25 dated mentions

Observed mentions: 2012-08-17 17:20:30 UTC to 2026-03-29 21:13:17 UTC.

02462012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 7 mentions; 2 submissions, 5 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC202
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC303
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC725
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC505
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC211
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
The Haskell Lightweight Virtual Machine (HALVM) Source Archive The HaLVM is (C) 2008 Galois, Inc., and distributed under a standard, three-clause BSD license. Please see the file LICENSE, distributed with this software, for specific terms and conditions. What is the HaLVM? The Haskell Lightweight Virtual Machine, or HaLVM, is a port of the Glasgow Haskell Compiler toolsuite to enable developers to write high-level, lightweight virtual machines that can run directly on the Xen hypervisor. While Galois initially designed the HaLVM to allow for quick and easy prototyping of operating systems components, the HaLVM has grown over time to allow for a much wider variety of use cases. When connected with the appropriate libraries, the HaLVM can, for example, operate as a network appliance. Writing for the Haskell Lightweight Virtual Machine is just like writing normal Haskell, and many pure Haskell libraries port to the HaLVM with little or no difficulty. In fact, we include the standard Haskell Cabal toolset in order to more easily facilitate the integration of outside Haskell libraries. However, instead of running on top of a typical operating system, HaLVM programs run at a very low level, directly on the Xen hypervisor. This allows for very lightweight, single purpose Xen domains with minimal resource requirements. Getting and Building the HaLVM For those who want to set up a development environment and maybe contribute to HaLVM, please see HACKING.md. In addition, you might want to check out Darrin Eden's build system, available on GitHub: https://github.com/dje/halvm-test It may provide some information that you'd find useful, or may automate portions of this process for you. Where To Look Next The HaLVM comes with a number of examples / test cases, located in the folder examples. We suggest taking a look at these to see a wide variety of HaLVM programs you might use as a starting point. Further information about using the HaLVM is available on the HaLVM wiki. Developers interested in improving the HaLVM should also take a look at the current list of HaLVM bugs, and submit any new feature requests to the HaLVM bug system. How To Contact Us The HaLVM is a proud member of the unikernel.org community. If you have any questions, suggestions, or comments about the HaLVM, we suggest participation in devel.unikernel.org, a multi-unikernel developer's message board. If you have bugs you would like to file or patches you'd like to send, we'd strongly prefer you utilize GitHub's interfaces for both these functions. Please see GitHub for more information. That's all, and enjoy using the HaLVM!
Read the full README on GitHub

What Hacker News says

25 sources
Haskell: https://en.wikipedia.org/wiki/House_(operating_system) Haskell: https://github.com/GaloisInc/HaLVM OCaml: https://mirage.io/ ML: http://dspace.mit.edu/handle/1721.1/47545 Lisp: In the 1970s and 1980s there were Lisp Machines with the OS written in Lisp. Too many sources to link here, they are often discussed on HN. They were marketed in the 1980s by Symbolics, LMI, and Xerox. Also in the 1970s and 1980s there were computers running Smalltalk standalone - in effect, an OS in Smalltalk. They provided introspection.
In Ask HN: Operating Systems built with functional languages?
I'm interested that they didn't list the "old" reason people thought unikernels could be more secure. That is that they could be small enough to be completely written in higher languages. With something like https://github.com/GaloisInc/HaLVM you could bring to bear formal methods in more straight forward ways. This of course left the host still needing to be secured using traditional approaches but that surface area was smaller. I'd buy that you can't list that in an article about why all unikernels are already secure, but that seemed to be the heart of the pitch to me when I first started hearing it.
In Unikernels are secure
> you'd expect to see high-quality operating system kernels The Haskell community is smaller than others but there are numerous highquality projects, including kernel/OS level projects that you don't mention: HaLVM, Haskell Unikernels - https://github.com/GaloisInc/HaLVM The specification model of the sel4 microkernel - https://github.com/seL4/l4v/tree/master/spec/haskell There are many smaller examples of OS projects in Haskell, but for better examples of production systems you only have to look to areas requiring high assurance such as finance, where a number of large companies use Haskell and other functional languages. (BoA, Barclays, Credit Suisse, Standard Chartered, etc.) It's true that there a lot of Haskell blogs focused on research level Category theory, but the concepts there don't need to be used or understood for high quality
Read the rest
, production ready code. I'm actually not a Haskell guy, and very much of the mindset that you should use the right tool for the job, but being dismissive of languages with unique features such as being lazy by default is shortsighted.
In I tried Haskell for 5 years
On the most basic level, you should be able to write a simple operating system from scratch. I heard http://pages.cs.wisc.edu/~remzi/OSTEP/ is good for an introduction to OS writing. Some papers I read in no particular order: Synthesis OS (http://valerieaurora.org/synthesis/SynthesisOS/) might be interesting for you. They do lots of runtime code synthesis. Exokernels (follow links from https://en.wikipedia.org/wiki/Exokernel#Bibliography). And more recently Mirage (https://mirage.io/) and HaLVm (https://github.com/GaloisInc/HaLVM) (I assume you already know how to program. Otherwise, brush up on that as step 0. C is still the canonical choice for OS work. But if you are feeling adventurous there's more choice.)
In The cost of a system call [pdf]
Congrats! This is quite interesting and I look forward to seeing the site. Have you come across CyberChaff [1]? It seems like you may have similar goals. CyberChaff makes use of HaLVM [2] so this approach (using unikernels) seems like it might suit you too. I've put together a website to help gather the unikernel projects [3], so if you choose to consider this approach for your next round of work, please do share your experiences there! [1] https://galois.com/project/cyberchaff/ [2] https://github.com/GaloisInc/HaLVM [3] http://unikernel.org
In Ask HN: New Year's resolution – What projects are you planning to start in 2016?
I was looking into some of this myself already; really helpful article and amazing results. Another interesting approach is to compile Haskell with HaLVM[1] in to a unikernel that can run on a Xen hypervisor. But this is a non-posix environment on which Haskell's "network" package does not compile. No "network" means that it is currently impossible[2] for WAI (Haskell's standard interface between web servers and applications), but also db libraries, to run in such an environment. With going unikernel with Haskell still being a little steep (but definitely on my wish list), then the next-best would be a mini VM/container image. And 5MB sure is mini! Once again, thanks FPComplete! 1: https://github.com/GaloisInc/HaLVM 2: https://github.com/GaloisInc/HaLVM/issues/43
In Haskell Web Server in a 5MB Docker Image
They're of course not a desktop option at all, but there's also some very interesting work happening with unikernels, which are really only recently a viable option now that Xen can present a unified hardware layer, instead of the endless treadmill of specific drivers. I've been getting into OpenMirage [1] quite a bit recently, largely due to the energy of the team [2], but also looked a bit at HalVM [3]. I definitely recommend [2] for anyone interested in plausible ideas of what the one of the next generations of VM/apps might look like. [1] http://www.openmirage.org/ [2] https://www.youtube.com/watch?v=UjonFD-2ATo or http://www.se-radio.net/2014/05/episode-204-anil-madhavapedd... (audio only) [3] https://github.com/GaloisInc/HaLVM
In Rob Pike: Reflections on Window Systems (2008) [video]

Showing the 15 most recent of 25 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.