Newt - a dependent typed programming language

try CI on tangled.org

+29 -4
+16
.tangled/workflows/build.yml
··· 1 + when: 2 + - event: ["push", "manual"] 3 + branch: ["main"] 4 + engine: "nixery" 5 + dependencies: 6 + nixpkgs: 7 + - nodejs 8 + - gnumake 9 + - diffutils 10 + - findutils 11 + - git 12 + steps: 13 + - name: "build newt" 14 + command: "make newt3.js" 15 + - name: "test" 16 + command: "make test"
+1 -4
Makefile
··· 9 9 all: newt.js 10 10 11 11 12 - REV=$(shell git rev-parse --short HEAD) 13 12 src/Revision.newt: .PHONY 14 - echo "module Revision\nimport Prelude\ngitRevision : String\ngitRevision = \"${REV}\"" > src/Revision.newt.new 15 - cmp src/Revision.newt.new src/Revision.newt || cp src/Revision.newt.new src/Revision.newt 16 - rm -f src/Revision.newt.new 13 + sh ./scripts/mkrevision 17 14 18 15 newt.js: ${SRCS} src/Revision.newt 19 16 $(RUNJS) bootstrap/newt.js src/Main.newt -o newt.js
+12
scripts/mkrevision
··· 1 + #!/bin/sh -e 2 + REV=$(git rev-parse --short HEAD) 3 + cat >> src/Revision.newt.new <<EOF 4 + module Revision 5 + 6 + import Prelude 7 + 8 + gitRevision : String 9 + gitRevision = "$REV" 10 + EOF 11 + cmp src/Revision.newt.new src/Revision.newt || cp src/Revision.newt.new src/Revision.newt 12 + rm -f src/Revision.newt.new