Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ucsd-progsys/lh-workshop
Materials for 2-hr LiquidHaskell Workshop
https://github.com/ucsd-progsys/lh-workshop
haskell liquidhaskell
Last synced: 4 days ago
JSON representation
Materials for 2-hr LiquidHaskell Workshop
- Host: GitHub
- URL: https://github.com/ucsd-progsys/lh-workshop
- Owner: ucsd-progsys
- License: bsd-3-clause
- Created: 2015-05-15T04:04:33.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-11-30T19:10:37.000Z (about 3 years ago)
- Last Synced: 2024-04-24T03:14:10.990Z (8 months ago)
- Topics: haskell, liquidhaskell
- Language: JavaScript
- Homepage: https://ucsd-progsys.github.io/lh-workshop
- Size: 50 MB
- Stars: 11
- Watchers: 5
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
README
======This repository has the materials for a 2-hour workshop on
[Programming with Refinement Types](http://www.refinement-types.org)
which is also a tutorial introduction to [LiquidHaskell](https://github.com/ucsd-progsys/liquidhaskell).Running LiquidHaskell
---------------------
You can run this code in *any of* the following ways:1. [Online](http://ucsd-progsys.github.io/lh-workshop/)
2. [Virtual Machine](http://goto.ucsd.edu/~gridaphobe/LiquidHaskell.ova)
3. [Build LiquidHaskell](https://github.com/ucsd-progsys/liquidhaskell-tutorial/blob/master/src/01-intro.lhs#L170-L197)
The **online web demo** is easiest for the workshop. See below
Option 1: Online
----------------This is the easiest by far; point your browser [here](http://ucsd-progsys.github.io/lh-workshop/)
Option 2: Virtual Machine
-------------------------This is also very easy, if you can manage the 2Gb download.
**Step 1** Download [this VM image](http://goto.ucsd.edu/~gridaphobe/LiquidHaskell.ova)
he code files are in `lh-workshop/src/*.lhs`
**Step 2** Choose your editor. For *emacs* do:
tar -zxvf liquid-emacs.tgz
and for *Spacemacs* (a great Vim-Emacs hybrid) do:tar -zxvf liquid-spacemacs.tgz
**Step 3** The code files are in
~/lh-workshop/src/*.lhs
Option 3: Local Build
---------------------Finally, if you prefer, you can build LiquidHaskell from:
1. [cabal](https://github.com/ucsd-progsys/liquidhaskell-tutorial/blob/master/src/01-intro.lhs#L170-L197)
2. [github](https://github.com/ucsd-progsys/liquidhaskell/#how-to-clone-build-and-install)
Build Slides
------------To build rust-style html (in dist/_site)
$ stack exec -- make html
To build reveal.js slides (in dist/_slides)
$ stack exec -- make slides
Edit Slides
-----------You can modify the following parameters:
1. **Server URL**: change `liquidserver` in `assets/templates/preamble.lhs`
Misc Links
----------WBL Heaps
+ [HS+DT proof](https://github.com/jstolarek/dep-typed-wbl-heaps-hs/blob/master/src/TwoPassMerge/CombinedProofs.hs#L68)
+ [HS](https://github.com/jstolarek/dep-typed-wbl-heaps-hs/blob/master/src/TwoPassMerge/NoProofs.hs#L96)
+ [HS+Liquid](https://github.com/ucsd-progsys/liquidhaskell/blob/master/tests/pos/WBL.hs#L129)Insert Sort
+ https://github.com/davidfstr/idris-insertion-sort/tree/master
+ http://www.enseignement.polytechnique.fr/informatique/INF551/TD/TD5/aux/Insert_Sort.v
+ https://github.com/goldfirere/singletons/blob/master/tests/compile-and-dump/InsertionSort/InsertionSortImp.hs