Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thoughtpolice/cryptol-mode
A Cryptol major mode for Emacs.
https://github.com/thoughtpolice/cryptol-mode
Last synced: 27 days ago
JSON representation
A Cryptol major mode for Emacs.
- Host: GitHub
- URL: https://github.com/thoughtpolice/cryptol-mode
- Owner: thoughtpolice
- License: gpl-3.0
- Created: 2013-02-11T06:20:55.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2019-05-31T20:51:34.000Z (over 5 years ago)
- Last Synced: 2024-10-20T20:21:32.042Z (2 months ago)
- Language: Emacs Lisp
- Homepage: https://www.cryptol.net
- Size: 70.3 KB
- Stars: 16
- Watchers: 5
- Forks: 6
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Cryptol Major Mode for Emacs
This package provides an Emacs major mode for [Cryptol][] - a DSL for
writing cryptographic code. From the homepage:> Cryptol is a domain-specific language (DSL) and tool suite that
> simplifies the specification of a cryptographic algorithm and then
> compiles the specification into VHDL... Cryptol is fully executable,
> allowing designers to experiment with their programs incrementally
> as their designs evolve. Cryptol compilers can generate C, C++, and
> Haskell software implementations, and VHDL or Verilog HDL hardware
> implementations... In addition to generating implementations of
> cryptographic algorithms, Cryptol tools can verify the faithfulness
> of an implementation to a reference specification, at each stage of
> the toolchain.[Cryptol]: https://www.cryptol.net/
# Installation
There are three ways of installing this package:
* [marmalade][] via `package.el`.
* [MELPA][] via `package.el` (if you want to track the git
repository.)
* Manual installation.Emacs v24 has `package.el` preinstalled. You will need to configure
the mentioned repositories yourself (refer to the homepages.) If
you're not using Emacs v24 yet, then you can still install manually.## Installation via Marmalade/MELPA
If you've configured your repositories, you need to decide what you
want:* If you want the latest stable version, **you should use
marmalade**.
* If you want to track the git repository, **you should use MELPA**.If you've configure marmalade, then installation is as easy as `M-x
package-install RET cryptol-mode`. The same is true for MELPA.If you're using marmalde and MELPA, then MELPA's build will override
the stable version. You can exclude MELPA's `cryptol-mode` using
[melpa.el](https://github.com/milkypostman/melpa#melpa-package), by
setting your `package-archive-exclude-alist` to include `("melpa"
. cryptol-mode)`.## Manual installation
Even if you don't use `package.el`, installation is pretty
simple. Just put `cryptol-mode.el` somewhere on your `load-path` and
then add:```lisp
(require 'cryptol-mode)
```to your `.emacs`. You're done.
# Supported versions
`cryptol-mode` supports Cryptol 1 (tested with 1.8.27-1) and Cryptol 2
(tested with 2.0.0). The academic and evaluation versions of Cryptol 1
(1.8.23, 1.8.25) should work but may have other bugs.# Usage
Open up any `.cry` file to get dropped into `cryptol-mode`
automatically. Cryptol batch files (`.scr` extension) are also
supported. Literate files are not yet supported.Currently supported functionality is:
* Load the current file into the cryptol REPL: `C-c C-l`
* Insert type signature of top-level declaration under point: `M-x
t` (**Note**: This is only supported with Cryptol 1 at the
moment.)This will expect the `cryptol` executable to be in your `$PATH`. You
can customize this (and various other aspects of the mode) by
executing `M-x customize-group RET cryptol-mode RET`.# Join in
Be sure to read the [contributing guidelines][contribute]. File bugs
in the GitHub [issue tracker][].Master [git repository][gh]:
* `git clone https://github.com/thoughtpolice/cryptol-mode.git`
There's also a [BitBucket mirror][bb]:
* `git clone https://bitbucket.org/thoughtpolice/cryptol-mode.git`
# Authors
See [AUTHORS.txt](https://raw.github.com/thoughtpolice/cryptol-mode/master/AUTHORS.txt).
# License
GPLv3 or later. See
[LICENSE.txt](https://raw.github.com/thoughtpolice/cryptol-mode/master/LICENSE.txt)
for terms of copyright and redistribution.[marmalade]: http://marmalade-repo.org/
[MELPA]: http://melpa.milkbox.net/
[contribute]: https://github.com/thoughtpolice/cryptol-mode/blob/master/CONTRIBUTING.md
[issue tracker]: http://github.com/thoughtpolice/cryptol-mode/issues
[gh]: http://github.com/thoughtpolice/cryptol-mode
[bb]: http://bitbucket.org/thoughtpolice/cryptol-mode