summaryrefslogtreecommitdiff
path: root/dsl.mdwn
blob: 28f70d7d88fdafd64e3744f506d45f13858096d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!meta title="DSL"]]

A *DSL* is a *domain-specific language* ([[!wikipedia Domain-specific_language
desc="Wikipedia article"]]).

Compared to general-purpose programming languages, these are a candidate for
[[open_issues/formal_verification]].

DSLs are frequently used as [[IDL]]s for implementing [[RPC]] systems, but can
also used for other portions of the [[kernel]], such as [[capability]] systems.
This is exemplified for [[microkernel/Barrelfish]] in
{{$microkernel/barrelfish#fof_plos09}}, for example.