Reverse Polish Configuration Language

 

 

What is this? #

RPCL is a generalized configuration markup and control language, especially well suited for networking applications like load balancers, switches, routers and any other network security middleware. RPCL is an acronym for Reverse Polish Configuration (or Control) Language.

It is working stack-oriented in reverse polish notation and therefore borrows some control words from FORTH. With no control structures it’s not turing complete - the scope of RPCL is to configure and control something (and not to program).

Datatypes #

RPCL is dynamically typed and implements the following datatypes and ranges of them:

  • strings
  • numbers
  • MAC addresses
  • Ethertypes
  • IP addresses

This concept of first class networking data types is basically identical as implemented with Inlab Scheme (link). RPCL additionally implements skiplist-based typed sets of each data type.