GithubHelp home page GithubHelp logo

graygoose124 / halvm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from galoisinc/halvm

0.0 2.0 0.0 4.08 MB

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

License: BSD 3-Clause "New" or "Revised" License

Haskell 72.18% Makefile 6.66% C 9.78% Assembly 4.90% Shell 1.74% C++ 0.69% M4 4.06%

halvm'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.

  1. 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.

  1. 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.

  1. 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.

  1. 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!

halvm's People

Contributors

acw avatar aierl avatar dmjio avatar elliottt avatar izgzhen avatar liuw avatar mattaudesse avatar mhuesch avatar mwotton avatar ntc2 avatar thumphries avatar tommd avatar yihuang avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.