Vincent Ambo
4411eea11f
fix(gemma): Fix build process in Nix
2019-09-02 02:14:39 +01:00
Vincent Ambo
b43e5529f7
feat(third_party): Add missing Quicklisp packages for Gemma
...
Gemma depends on cl-prevalence, which isn't in the nixpkgs Quicklisp
snapshot.
This adds the package and its dependencies to the overlay.
2019-09-02 01:24:41 +01:00
Vincent Ambo
a635beabfa
fix: Correct naming of variables in overlay function
2019-09-02 01:24:23 +01:00
Vincent Ambo
9622ed36a1
Merge pull request #1 from tazjin/feat/travis-builds
...
Add build configuration and various other repo setup chores
2019-08-29 13:10:15 +01:00
Vincent Ambo
565a00254b
fix: Bump Nix in CI setup to 2.2.2
...
Yants does not seem to work with older versions of Nix and I have not
yet figured out why.
2019-08-29 13:06:12 +01:00
Vincent Ambo
f3c66e172c
chore: Add contribution & code of conduct information
2019-08-28 15:06:43 +01:00
Vincent Ambo
10a93400f8
chore: Add Apache License 2.0
2019-08-28 15:03:17 +01:00
Vincent Ambo
d53f7f134b
docs: Add build status to README
2019-08-28 15:02:39 +01:00
Vincent Ambo
0c1a6b88dd
feat: Add Travis CI configuration
2019-08-28 14:55:56 +01:00
Vincent Ambo
6468845255
chore: Change file layout to match repository instead of gist
2019-08-28 14:55:53 +01:00
Vincent Ambo
34a5917981
test: Add test for pattern matching on sum types
2019-08-28 14:37:00 +01:00
Vincent Ambo
cb45536124
test: Add a test to check that all types match the 'type'-type
2019-08-28 14:37:00 +01:00
Vincent Ambo
b622bcef7d
feat: Introduce composable type errors and type parameter checking
...
This refactoring moves the type definitions into a recursively
evaluated attribute set, which makes it possibe to refer to types in
the definitions of other types.
This functionality is used to type-check some of the type parameters
passed in to other types. This is not yet done for all higher-order
types because the evaluation semantics of Nix make it less useful for
some cases.
Further the definition of a type itself is now a stricter
representation that works for all types except typed functions, which
allows for composable error messages.
2019-08-28 14:36:58 +01:00
Vincent Ambo
f6635fec98
feat: Add rough initial version of sum types
...
Sum types are represented as attribute sets with a single key in them.
2019-08-28 14:36:55 +01:00
Vincent Ambo
ef4ded7b98
docs: Add defun to README
2019-08-28 14:36:50 +01:00
Vincent Ambo
5949663fcd
feat: Implement support for typing functions
...
The defun helper takes a type signature and a function and makes a
typed version. Because we can.
2019-08-28 14:36:47 +01:00
Vincent Ambo
1da22249bd
test: Add some simple tests for type-checks
...
Does not currently test check failures, which makes it sort of not as
useful as you'd think.
2019-08-28 14:36:43 +01:00
Vincent Ambo
08116dbf51
chore: Add Google's copyright header
2019-08-28 14:36:39 +01:00
Vincent Ambo
bc130254bc
docs: Update struct screenshot in README
2019-08-28 14:36:36 +01:00
Vincent Ambo
ca0cf11ca9
feat: Improved error message for missing struct fields
2019-08-28 14:36:33 +01:00
Vincent Ambo
4ebc069a3f
docs: Add enum screenshot to README
2019-08-28 14:36:29 +01:00
Vincent Ambo
661e09daac
feat: Add enum support
2019-08-28 14:36:25 +01:00
Vincent Ambo
2e576e10ab
refactor: Gain back a few more lines
2019-08-28 14:36:20 +01:00
Vincent Ambo
2acdbb5009
refactor: Drop back to below 100 lines :)
2019-08-28 14:36:14 +01:00
Vincent Ambo
76f9b1638c
feat: Add function type
...
It's not currently possible to check arguments for curried functions,
but there might be something on the horizon for attribute set
functions.
2019-08-28 14:36:11 +01:00
Vincent Ambo
103e0b4d25
feat: Add derivation type
2019-08-28 14:36:08 +01:00
Vincent Ambo
cb0d07fa30
docs: Fix image links (relative is not supported in gists)
2019-08-28 14:36:00 +01:00
Vincent Ambo
199254ba7a
chore: Move screenshots into the gist
2019-08-28 14:35:56 +01:00
Vincent Ambo
040b719570
feat: Support better error messages for list/attrs element checks
2019-08-28 14:35:53 +01:00
Vincent Ambo
fe33a82a07
feat: Initial check-in of type system sketch
2019-08-28 14:35:41 +01:00
Vincent Ambo
a58af3e371
feat(k8s): Configure HTTPS ingress for the blog
...
Uses Google-managed certificates and an Ingress resource to set up an
HTTPS load-balancer.
This probably won't be the final version as the GKE Ingress is very
limited and can not do things like redirect URLs, which I need to
decommission the old setup.
2019-08-27 12:44:37 +01:00
Vincent Ambo
cae99692de
feat(k8s): Add Google managed TLS certificates
...
Introduces certificates for tazj.in & www.tazj.in.
2019-08-27 12:43:55 +01:00
Vincent Ambo
593e96da60
chore(tazblog): Clean up unused dependencies
2019-08-25 23:21:26 +01:00
Vincent Ambo
1247848d76
refactor(tazblog): Implement HLint lints in all files
2019-08-25 23:07:43 +01:00
Vincent Ambo
561ed1fbbb
chore(tazblog): Remove i18n features
...
The blog has been English only for a few years. Old entries that
survived the migration to DNS will still be accessible.
2019-08-25 22:53:38 +01:00
Vincent Ambo
094aafecdd
chore(tazblog): Remove 'read more' feature
2019-08-25 20:22:57 +01:00
Vincent Ambo
6450347bf1
chore(tools): Remove ormolu from tools
...
The Ormolu derivation is too large to be instantiated on-demand. I've
resorted to installing this tool into my profile instead.
2019-08-25 20:17:03 +01:00
Vincent Ambo
1747df418e
chore(tazblog): Format source files with ormolu
...
Ormolu's formatting is quite annoying (it uses a lot of unnecessary
vertical space and doesn't align elements), but I can't be bothered to
do manual formatting - especially because whatever formatting
haskell-mode in Emacs produces seems to depend on an opaque state
machine or something.
2019-08-25 20:15:53 +01:00
Vincent Ambo
2fdc872228
feat(build): Add Terraform from unstable channel
2019-08-25 17:55:08 +01:00
Vincent Ambo
155f17173b
chore(gcp): Enable Cloud DNS service
2019-08-25 17:47:34 +01:00
Vincent Ambo
d3f8dd15f3
fix(gemma): Almost fix Gemma build by porting an old Elm
...
This pulls in an old version of Elm from NixOS 17.09 which can still
build the Elm code in Gemma.
However, the Common Lisp build is now broken in some other way.
2019-08-23 15:28:23 +01:00
Vincent Ambo
31e83b33cc
chore(k8s): More tazblog replicas
2019-08-23 14:13:13 +01:00
Vincent Ambo
be074c6085
refactor(tazblog): Move blog configuration to envvars
...
The port and resource directory are now specified via environment
variables and a wrapper script is created by Nix that sets the
resource path and so on correctly.
2019-08-23 12:03:17 +01:00
Vincent Ambo
fb930e4db7
fix(tazblog): Remove debug trace
2019-08-23 11:42:23 +01:00
Vincent Ambo
4f88851971
fix(blog_cli): Quote JSON output for post dates
2019-08-23 11:24:03 +01:00
Vincent Ambo
57059fec2b
feat(blog_cli): Add flag to set post date and serialise as date only
2019-08-23 10:57:15 +01:00
Vincent Ambo
bd47122afb
chore(blog): Minor changes to integrate DNS based backend
2019-08-22 18:58:11 +01:00
Vincent Ambo
c5ef3e01b2
feat(tazblog): Implement entry fetching from DNS
...
Not all error cases are properly handled yet, stay tuned.
2019-08-22 18:57:49 +01:00
Vincent Ambo
f298bdd183
feat(tazblog): Add a Nix shell expression that includes GHC with deps
2019-08-21 12:17:03 +01:00
Vincent Ambo
008be5c2e1
refactor(tazblog): Directly instantiate Resolver when launching
...
Caching behaviour is tied to the resolver.
2019-08-21 11:07:25 +01:00