Commit Graph

1284 Commits

Author SHA1 Message Date
Iavor S. Diatchki
6206267f7a Merge remote-tracking branch 'origin/master' into wip/cs 2015-02-17 11:03:10 -08:00
Adam C. Foltzer
bf25c5190f exceptions no longer bring down the kernel
listed in #163
2015-02-16 17:02:10 -08:00
Adam C. Foltzer
649494bc03 fewer default warnings in notebook
By popular demand and general consensus (#163), defaulting and shadowing
warnings are now off by default in the notebook. They can be reenabled
by using `:set` in a cell much like they can be toggled at the command
line.

The main reason for this change is that we can't help but emit all of
the warnings for the entire module context whenever any part of that
module changes. If we could focus the warnings so that they're only
relevant for this particular cell, we should probably reenable them by
default.
2015-02-16 14:44:50 -08:00
Adam C. Foltzer
30dd6d0c26 configuration depends on cryptol.cabal 2015-02-16 14:40:24 -08:00
Adam C. Foltzer
64d3d1353f add warnShadowing REPL option
Conflicts:
	cryptol/REPL/Command.hs
2015-02-16 14:40:06 -08:00
Adam C. Foltzer
197dc97814 add warnShadowing REPL option 2015-02-16 14:32:33 -08:00
Adam C. Foltzer
6159d223df disable let in notebook
Per consensus in #163
2015-02-16 13:29:52 -08:00
Adam C. Foltzer
aa787b366a support :prove, :sat, and others in notebook
Fixes @weaversa's comment in
https://github.com/GaloisInc/cryptol/issues/163#issuecomment-74121085
2015-02-12 15:00:27 -08:00
Adam C. Foltzer
3f401b4321 bump version constraint for ipython-kernel 2015-02-12 08:57:18 -08:00
Adam C. Foltzer
2e0f0f0dc5 remove submodule; EasyKernel is on hackage 2015-02-12 08:54:35 -08:00
Adam C. Foltzer
6bdbbfae30 clarify the name of the icryptol script 2015-02-11 17:54:42 -08:00
Adam C. Foltzer
c8a764b4cd remove bit about cloning IHaskell from README 2015-02-11 17:46:03 -08:00
Adam C. Foltzer
025ad73411 document the make run target
This is a convenience for getting the library path right when running
from the staged dist area
2015-02-11 17:38:32 -08:00
Adam C. Foltzer
59aacf02fd document the make run target
This is a convenience for getting the library path right when running
from the staged dist area
2015-02-11 17:36:12 -08:00
Adam C. Foltzer
f04a2547af document notebook branch and add submodule
These changes should almost completely disappear once `ipython-kernel`
is on Hackage.
2015-02-11 17:35:14 -08:00
Adam C. Foltzer
adcd96fa47 make notebook distributable
This commit brings the notebook into the rest of the distribution
infrastructure set up for cryptol. The main points are:

- new icryptol-kernel executable
- new icryptol shell script that wraps ipython and makes sure the
  cryptol profile is set up
- Makefile target for friendly local testing (`make notebook`)
- moved example notebooks to examples subdirectory
2015-02-11 16:21:43 -08:00
Adam C. Foltzer
62d8277574 add just enough strictness to evalCmd 2015-02-05 17:05:11 -08:00
Adam C. Foltzer
3180d12740 Merge branch 'master' into feature/issue75 2015-02-05 16:28:56 -08:00
Adam C. Foltzer
9f61032289 update notebook build mechanisms 2015-02-05 16:12:36 -08:00
Iavor S. Diatchki
b77b5c6b3c Checkpoint: More on integration with non-linear constraints. 2015-01-30 17:57:12 -08:00
Iavor S. Diatchki
d92960eaaf More debugging code 2015-01-29 15:04:08 -08:00
Iavor S. Diatchki
01c58b5fe6 Avoid warning 2015-01-29 15:03:53 -08:00
Iavor S. Diatchki
551ffab720 Improve pretty printing 2015-01-29 15:03:39 -08:00
Iavor S. Diatchki
9cf1231bc2 Add LANGUAGE pragmas 2015-01-29 15:03:29 -08:00
Iavor S. Diatchki
67ba18bbcc Merge remote-tracking branch 'origin/master' into wip/cs
Conflicts:
	cryptol.cabal
2015-01-29 10:54:33 -08:00
Adam C. Foltzer
705230f24b another sdist fix 2015-01-28 11:28:52 -08:00
Adam C. Foltzer
92edf47dbd fix cabal sdist by including configure 2015-01-28 11:01:53 -08:00
David Raymond Christiansen
7cd2739831 Make notebook use iPython Haskell library
Now, the notebook interface runs its own ZeroMQ interface using the
EasyKernel module that is now exported from IHaskell's underlying
ipython-kernel library. This eliminates the line protocol with the
Python wrapper, and it should work on Windows (though it is not tested
there).

Part of this involved making the REPL monad able to change the IO action
used to print strings.

Continuing issues and improvment possibilities are in the issue tracker
- see issue #75 for a starting point.
2015-01-27 17:38:24 -08:00
David Raymond Christiansen
ae0b2f8416 Make NB in notebook into an Applicative instance
This improves GHC 7.10 compatibility and eliminates warnings.
2015-01-27 16:24:53 -08:00
David Raymond Christiansen
b76141c661 Make IPython notebook build again. 2015-01-27 16:24:52 -08:00
Trevor Elliott
e338574ea1 Remove reloaded modules from the cache
Loading modules explicitly that were already loaded would cause the previous,
cached module to be kept, and the new checked one to be thrown away.
2015-01-27 15:13:26 -08:00
Trevor Elliott
ca06580fc6 Remove the dependency on mtl 2015-01-27 15:12:35 -08:00
Brian Huffman
64d53546fe Remove custom fork of SBV library in favor of the official SBV-4.0.
Fixes #35.
2015-01-23 14:22:18 -08:00
Adam C. Foltzer
7d650526cd Update book pdf with changes from a15fb75 2015-01-21 15:49:25 -08:00
Adam C. Foltzer
13a385d8c5 Fixes #172
There's now a more sensible hierarchy of locations that Cryptol uses to
look for modules. By default, in order it looks for libraries in:

1. The directories specified in the CRYPTOLPATH environment variable
2. The current directory
3. The user data directory (something like `$HOME/.cryptol`)
4. Relative to the executable's install directory
5. The static path used when building the executable (cabal's data-dir)

There is also a new command-line flag for the interpreter:
`--cryptolpath-only` which makes the interpreter ignore locations 2-5.

This commit also reworks the Makefile and build/release process. These
are bunched together because they play off each other quite a bit; the
build/release process determines the location of the `Cryptol.cry`,
which must be found when looking for modules.

Rather than leaning on `cabal install`, we now use a combination of
`cabal configure`, `cabal build`, and `cabal copy`. A couple of upshots
to this:

- More of the release staging is handled by cabal -- we don't have to go
  in and manually copy things out of the sandbox. In fact, the `cryptol`
  executable never goes into the sandbox.

- The testing infrastructure runs on executables that are in place in
  the staging directory, rather than in the sandbox. This should be more
  hygienic and realistic.

- The `Cryptol.cry` prelude file is now in `/share/cryptol` in order to
  better reflect the common POSIX structure. This means Cryptol will
  play nicer in global installs, and mirrors what other interpreted
  languages do.

- The default build settings use a prefix of `/usr/local` rather than
  using the sandbox directory. This makes them more relocatable for
  binary distributions. Set PREFIX= before making to change this.
2015-01-21 15:03:16 -08:00
Adam C. Foltzer
a15fb75856 update book with allSat 2015-01-18 17:03:43 -08:00
Adam C. Foltzer
2b2c3e5ff6 Merge branch 'yuuko-master' 2015-01-18 16:16:54 -08:00
Adam C. Foltzer
a5cf80c570 Merge @yuuko's allsat pull requests
Cryptol's invocation of proof tools has changed quite a bit since this
PR was first opened, so this took a fair amount of work to
integrate. However we now have the :satNum option, and multiple sat
results are correctly bound to `it`.
2015-01-18 16:13:56 -08:00
Adam C. Foltzer
22df9717cb properties and cleanup for new contrib examples 2015-01-18 12:46:03 -08:00
Adam C. Foltzer
d7e9b9b3c6 add README for contrib 2015-01-18 12:45:39 -08:00
Adam C. Foltzer
473b175922 move RC4 to contrib directory 2015-01-18 11:47:40 -08:00
orchid
1f3c9b8203 RC4 2015-01-18 11:47:40 -08:00
Adam C. Foltzer
85e1725b29 Merge pull request #69 from mknight-tag/master
Add MKRAND RBG to contrib
2015-01-18 11:42:21 -08:00
Adam C. Foltzer
193e6595ff serialize alex and happy targets
Fixes #161
2015-01-18 11:39:04 -08:00
Brian Huffman
ae219c2e90 Fix definitions of sbvRotate{Left,Right} for large rotation amounts;
Also add regression tests for symbolic rotations.

Fixes #160.
2015-01-16 11:06:12 -08:00
Brian Huffman
811dc0f816 Add regression test for issue #158. 2015-01-15 16:24:21 -08:00
Brian Huffman
5f8b8947d4 Merge changes from latest SBV version (3.5 pre-release)
Includes changes after LeventErkok/sbv@6468f41bde (Dec 5)
and up to LeventErkok/sbv@49375110c5 (Jan 14)
2015-01-15 10:31:01 -08:00
brianhuffman
59fb642486 Merge pull request #157 from dmwit/master
canonicalize records during comparison in :prove
2015-01-14 16:33:11 -08:00
Daniel Wagner
44c2a1f709 canonicalize records during comparison in :prove 2015-01-13 19:09:50 -08:00
Brian Huffman
30b255a740 Avoid importing private modules from sbv package 2015-01-13 14:27:41 -08:00