go-vise

Constrained Size Output Virtual Machine
Info | Log | Files | Refs | README | LICENSE

overview.html (2856B)


      1 <!DOCTYPE html>
      2 <html>
      3 <!-- Created by GNU Texinfo 7.1, https://www.gnu.org/software/texinfo/ -->
      4 <head>
      5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      6 <!-- Released 2023 under AGPL3 -->
      7 <title>overview (vise)</title>
      8 
      9 <meta name="description" content="overview (vise)">
     10 <meta name="keywords" content="overview (vise)">
     11 <meta name="resource-type" content="document">
     12 <meta name="distribution" content="global">
     13 <meta name="Generator" content="makeinfo">
     14 <meta name="viewport" content="width=device-width,initial-scale=1">
     15 
     16 <link href="index.html" rel="start" title="Top">
     17 <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
     18 <link href="index.html" rel="up" title="Top">
     19 <link href="sim.html" rel="next" title="sim">
     20 <link href="index.html" rel="prev" title="Top">
     21 <style type="text/css">
     22 <!--
     23 a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
     24 span:hover a.copiable-link {visibility: visible}
     25 ul.mark-bullet {list-style-type: disc}
     26 -->
     27 </style>
     28 
     29 
     30 </head>
     31 
     32 <body lang="en">
     33 <div class="chapter-level-extent" id="overview">
     34 <div class="nav-panel">
     35 <p>
     36 Next: <a href="sim.html" accesskey="n" rel="next">An example vise implementation</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Introduction</a>, Up: <a href="index.html" accesskey="u" rel="up">Introduction</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
     37 </div>
     38 <hr>
     39 <h2 class="chapter" id="Overview"><span>1 Overview<a class="copiable-link" href="#Overview"> &para;</a></span></h2>
     40 
     41 <p><code class="code">vise</code> is a virtual machine specialized for generating output for clients that have strict output size constaints.
     42 </p>
     43 <p>Specifically, the original target enviromnent was USSD menu navigation and session handling.
     44 </p>
     45 <ul class="mini-toc">
     46 <li><a href="#Features" accesskey="1">Features</a></li>
     47 </ul>
     48 <div class="section-level-extent" id="Features">
     49 <h3 class="section"><span>1.1 Features<a class="copiable-link" href="#Features"> &para;</a></span></h3>
     50 
     51 <ul class="itemize mark-bullet">
     52 <li>Define and enforce max output size for every individual output.
     53 </li><li>Allow one single data entry to fill remaining available size capacity.
     54 </li><li>An assembly-like mini-language to define:
     55 <ul class="itemize mark-bullet">
     56 <li>external code execution.
     57 </li><li>input validation and routing.
     58 </li><li>menu definitions.
     59 </li><li>flow control.
     60 </li><li>exception handling.
     61 </li></ul>
     62 </li><li>templated output from results of external code execution.
     63 </li><li>generate and navigate pages where data symbol contents are too long to display on a single page.
     64 </li><li>pluggable function design for handling external code execution calls.
     65 </li><li>Dedicated error string to prepend to template (e.g. on catch)
     66 </li></ul>
     67 </div>
     68 </div>
     69 
     70 
     71 
     72 </body>
     73 </html>