Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>At Galois we use Haskell for two things:</p> <ul> <li>Soft real time (OS device layers, networking), where 1-5 ms response times are plausible. GHC generates fast code, and has plenty of support for tuning the GC and scheduler to get the right timings.</li> <li>for true real time systems EDSLs are used to generate code for other languages that provide stronger timing guarantees. E.g. Cryptol, Atom and Copilot.</li> </ul> <p>So be careful to distinguish the EDSL (Copilot or Atom) from the host language (Haskell).</p> <hr> <p>Some examples of critical systems, and in some cases, real-time systems, either written or generated from Haskell, produced by Galois.</p> <p><strong>EDSLs</strong></p> <ul> <li><a href="http://www.cs.indiana.edu/~lepike/pub_pages/rv2010.html" rel="nofollow noreferrer">Copilot: A Hard Real-Time Runtime Monitor</a> -- an DSL for real-time avionics monitoring</li> <li><a href="http://corp.galois.com/blog/2009/2/5/equivalence-and-safety-checking-in-cryptol.html" rel="nofollow noreferrer">Equivalence and Safety Checking in Cryptol</a> -- a DSL for cryptographic components of critical systems</li> </ul> <p><strong>Systems</strong></p> <ul> <li><a href="https://galois.com/project/halvm/" rel="nofollow noreferrer">HaLVM</a> -- a lightweight microkernel for embedded and mobile applications</li> <li><a href="http://corp.galois.com/trusted-services-engine-tse/" rel="nofollow noreferrer">TSE</a> -- a cross-domain (security level) network appliance </li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload