Skip to content

wyvernlang/wyvern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

51ba2a5 · Feb 26, 2025
Jun 27, 2020
Jan 4, 2021
Jun 22, 2020
Dec 9, 2020
Feb 26, 2025
Dec 9, 2020
Feb 26, 2025
May 27, 2019
Dec 9, 2020
Dec 9, 2020
Nov 12, 2024
Jul 30, 2018
Aug 18, 2022
Apr 8, 2020
Nov 24, 2012
Apr 9, 2018

Repository files navigation

The Wyvern project

Build Status

Wyvern is a new general-purpose programming language designed to support adaptation and assurance. Key features of Wyvern's evolving design include:

  • A simple object model with good support for both object-oriented and functional programming
  • Static type safety
  • Extensibility with domain-specific syntax via libraries written within the language
  • A simple but powerful capability-safe module system
  • Support for various aspects of software architecture within the running system

The best starting point for understanding Wyvern is the Wyvern manifesto: Wyvern: A Language for Usable Design-Driven Assurance

For an introduction to key concepts of the Wyvern language, see https://github.com/wyvernlang/docs/raw/master/guide/wyvern-guide.pdf

For information about how to build and run the Wyvern tools, and about the Wyvern tools architecture, see https://raw.githubusercontent.com/wyvernlang/docs/master/tooldoc/wyvern-tool-architecture.mdk

Research papers on Wyvern and other material is available at the Wyvern web page, http://wyvernlang.github.io/

Contributing

If you'd like to contribute to Wyvern, read the Wyvern tool architecture document above to get the system to build on your machine, then find an issue marked "Starter" and comment that you are working on it--then submit a pull request when you are done. Please send questions to jonathan.aldrich@cs.cmu.edu

License

See COPYING.TXT for the GPLv2 license under which this software is distributed.