blob: 990e6c8ca3ecd74b8e3d75ffd20940a44a800d2c [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package vdl implements the Vanadium Definition Language type and value
// system.
//
// Concept: https://github.com/vanadium/docs/blob/master/concepts/rpc.md#vdl
// Specification: https://github.com/vanadium/docs/blob/master/designdocs/vdl-spec.md
//
// VDL is an interface definition language designed to enable interoperation
// between clients and servers executing in heterogeneous environments. E.g. it
// enables a frontend written in Javascript running on a phone to communicate
// with a backend written in Go running on a server. VDL is compiled into an
// intermediate representation that is used to generate code in each target
// environment.
//
// The concepts in VDL are similar to the concepts used in general-purpose
// languages to specify interfaces and communication protocols.
package vdl