Agda / Aug 27 2021
Environment
supersedes nextjournal/agda-environment with a simplified env stack:
base
kernel
libraries (stdlib, cubical)
lib warmup (Agda cells)
PLFA
lib warmup (Agda cells)
Agda Base Env
Install a newer GHC via https://launchpad.net/~hvr/+archive/ubuntu/ghc/+index, we'll need to prepend /opt/ghc/bin to the PATH in the runtime's env variables.
apt-get update && apt-get install software-properties-common6.1s
add-apt-repository ppa:hvr/ghcapt-get -qq updateDEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends \ zlib1g-dev libncurses5-dev libicu-dev \ ghc-9.0.1 cabal-install-3.4 alex happyapt-get cleanrm -r /var/lib/apt/lists/* # Clear package list so it isn't stale7.3s
ghc --version0.7s
cabal updatecabal install -foptimise-heavily --jobs=16 Agda-2.6.22662.5s
/root/.cabal/bin is added to PATH in the following dependent runtime
/root/.cabal/bin/agda --version0.6s
Agda Kernel
agda --version0.6s
pip install --upgrade jupyter jupyter_client jupyter_corepip install \ git+https://github.com/nextjournal/agda-kernel.git@9139338a08e4c14c305fe6f16602fcc8a4a03150python -m agda_kernel.install24.1s
jupyter kernelspec list1.1s
Agda Libraries
Standard library
mkdir -p /opt/agdawget -O /opt/agda/agda-stdlib.tar https://github.com/agda/agda-stdlib/archive/v1.7.tar.gzcd /opt/agdatar -zxvf agda-stdlib.tarcd /opt/agda/agda-stdlib-1.7cabal installmkdir -p ~/.agdaecho "/opt/agda/agda-stdlib-1.7/standard-library.agda-lib" >> ~/.agda/librariesecho "standard-library" >> ~/.agda/defaults17.0s
Agda Cubical library
wget -O /opt/agda/cubical-v0.3.tar \ https://github.com/agda/cubical/archive/v0.3.tar.gzcd /opt/agdatar -zxvf cubical-v0.3.tarecho "/opt/agda/cubical-0.3/cubical.agda-lib" >> ~/.agda/librariesecho "cubical" >> ~/.agda/defaults1.0s
cat ~/.agda/librariescat ~/.agda/defaults0.6s
Warmup Libraries
Importing common modules and exporting the resulting runtime speeds up imports in notebooks using the Agda environment.
module Libraries.Warmup whereopen import Relation.Nullaryopen import Relation.Nullary.Negationopen import Relation.Nullary.Decidableopen import Relation.Unaryopen import Relation.Binaryimport Relation.Binary.PropositionalEquality as Eqopen Eqopen Eq.≡-Reasoning27.5s
open import Level0.7s
open import Functionopen import Function.Inverseopen import Function.LeftInverse3.9s
open import Data.Emptyopen import Data.Unitopen import Data.Boolopen import Data.Sumopen import Data.Product16.3s
open import Data.Natopen import Data.Vecopen import Data.Vec.Propertiesopen import Data.Listopen import Data.List.Propertiesopen import Data.Fin116.2s
open import Data.Fin.Subsetopen import Data.Fin.Subset.Properties18.6s
open import Algebra1.8s
open import Cubical.Core.Everything4.7s
open import Cubical.Foundations.Everything59.8s
open import Cubical.Algebra.Algebra73.1s