Real-time Robotics Control in the Lean Language
Galois, Inc. » Functional Programming
by Joe Hendrix
2y ago
Microsoft Research recently published a pre-release of Lean 4.  Prior versions of Lean focused on being a proof assistant – a software tool that facilitates the development of rigorous mathematical proof through a form of interactive human-machine teaming. The main application of Lean so far has been to digitize theoretical mathematics. A major goal of Lean 4 is to make Lean a good programming language rather than just a proof assistant. The syntax has been reworked in many ways to make it easier to write a wider variety of programs. An optimizing compiler that generates efficie ..read more
Visit website
What4: New Library to Help Developers Build Verification and Program Analysis Tools
Galois, Inc. » Functional Programming
by Joe Hendrix
2y ago
At Galois, we develop formal verification tools that rely on a variety of automated solvers for answering mathematical queries. The main solvers we use are called Satisfiability Modulo Theories (SMT) solvers.  These solvers offer the ability to answer questions such as “find me inputs for which a mathematical property holds.”  We have found these tools to be very useful. There are a variety of solvers developed that support different problem domains and are very efficient at solving complex constraint systems. Among other things, we have used them to verify the correctness of many cr ..read more
Visit website
Galois at ICFP 2012
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
Check out these ICFP presentations by Galois team members: Efficient Lookup-Table Protocol in Secure Multiparty Computation Video Presentation John Launchbury: watch video – http://www.youtube.com/watch?v=I79PwWpUx9c Paper John Launchbury, Iavor S. Diatchki, Thomas DuBuisson, and Andy Adams-Moran. 2012. Efficient lookup-table protocol in secure multiparty computation. In “Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming” (ICFP ’12). ACM, New York, NY, USA, 189-200. Experience Report: A Do-It-Yourself High Assurance Compiler Video Presentation Lee Pike: wat ..read more
Visit website
Tech talk: Combining Denotational and Operational Semantics for Scalable Proof Development
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
Galois is pleased to host the following tech talk. These talks are open to the interested public. Please join us! title:Combining Denotational and Operational Semantics for Scalable Proof Development speakers:Adam Foltzer time:Tuesday, 19 July 2011, 10:30am location: Galois Inc. 421 SW 6th Ave. Suite 300, Portland, OR, USA (3rd floor of the Commonwealth building) abstract:Interpreters offer a convenient and intuitive way for programmers to reason about language behavior through denotational semantics. However in a setting like Coq, where all recursive functions must provably terminate, it is i ..read more
Visit website
Merging SMT solvers and programming languages
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
Galois is in the business of building trustworthy software. Such software will have well-defined behavior, and that behavior is assured in some way, whether via model checking, testing, or formal verification. SMT solvers — extensions to SAT solvers with support for variables of non-boolean type — offer powerful automation for solving a variety of assurance problems in software. We use them, for example, in Cryptol, to prove the equivalence (or otherwise) of algorithm implementations. For a while now, Galois has been interested in connecting automated solvers to our programming language of cho ..read more
Visit website
Cabal-dev: sandboxed development builds for Haskell
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
Performing consistent builds is critical in software development, but the current system in GHC/Haskell of per-user and per-system GHC package databases interferes with this need for consistency. It is difficult to precisely identify the dependencies of a given project, and changes necessary to enable one project to build may render another project inoperable. If each project had a separate package database, each project could be built in a sandbox. Galois has released cabal-dev:  a tool for managing development builds of Haskell projects within sandboxes. Both cabal-install repositories ..read more
Visit website
Copilot and the Arduino
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
Copilot is an embedded domain-specific language designed by Galois, that allows you to generate assured, embedded C code from programs written essentially as Haskell lists (using Atom as a backend for the C code generation).  Lee Pike has written a tutorial on how to use Copilot to program an Arduino controller to play “Jingle Bells”. Read the full tutorial on Lee’s Critical Systems Blog… The post Copilot and the Arduino appeared first on Galois, Inc ..read more
Visit website
Building a business with Haskell: Case Studies: Cryptol, HaLVM and Copilot
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
During BelHac, the Ghent Haskell Hackathon in November, we took an afternoon session for a “Functional Programming in Industry” impromptu workshop. The following are slides I presented on Galois’ experience building a business using our functional programming expertise, in particular, Haskell. The talk describes three case studies where “functional thinking” helped shape the solution to the client’s problem, whether via types, semantics, abstractions or otherwise. The examples are taken from the Cryptol, Embedded Systems and Secure Networking research programs at Galois. A PDF of the slid ..read more
Visit website
Cryptol Course: High-assurance Cryptographic Development Using the Cryptol Workbench
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
Galois is offering a four‐day Cryptol course for those interested in exploring the capabilities of the Cryptol workbench.The course is highly participatory: we will work on a series of exercises for each new topic, using the Cryptol toolset interactively. Prospective participants should have experience writing programs and some knowledge of cryptography. Those who complete the course will have the skills necessary to develop high‐assurance, high‐performance cryptographic algorithms in Cryptol. A tentative outline and further information can be found in the course flyer. The post Cryptol C ..read more
Visit website
Concurrent Orchestration in Haskell
Galois, Inc. » Functional Programming
by Galois, Inc
2y ago
John Launchbury presented the Orc language for concurrent scripting at the Haskell Workshop, 2010 in Baltimore. Concurrent Orchestration in Haskell John Launchbury Trevor Elliott The talk slides are available in PDF or online. We present a concurrent scripting language embedded in Haskell, emulating the functionality of the Orc orchestration language by providing many-valued (real) non-determinism in the context of concurrent effects. We provide many examples of its use, as well as a brief description of how we use the embedded Orc DSL in practice. We describe the a ..read more
Visit website

Follow Galois, Inc. » Functional Programming on FeedSpot

Continue with Google
Continue with Apple
OR