From 1d598b06c3c691019ce1c620ad5ee8d272144117 Mon Sep 17 00:00:00 2001 From: Paul Cadman Date: Fri, 1 Dec 2023 13:26:55 +0000 Subject: [PATCH 1/4] Improve performance by selectively importing parts of the stdlib --- Package.juvix | 10 +++++++--- Test/JuvixUnit.juvix | 3 +-- Test/Prelude.juvix | 10 ++++++++++ juvix.lock.yaml | 4 +++- tests/Package.juvix | 2 +- tests/juvix.lock.yaml | 4 +++- 6 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 Test/Prelude.juvix diff --git a/Package.juvix b/Package.juvix index b83fde9..644c9d4 100644 --- a/Package.juvix +++ b/Package.juvix @@ -1,9 +1,13 @@ module Package; -import PackageDescription.V1 open; +import PackageDescription.V2 open; package : Package := defaultPackage {name := "test"; - version := mkVersion 0 7 0; - dependencies := [github "anoma" "juvix-stdlib" "v0.0.1"]}; + version := mkVersion 0 8 0; + dependencies := [ github + "anoma" + "juvix-stdlib" + "183d4e9329a648b339ebecf2122b3e9621c99ee8" + ]}; diff --git a/Test/JuvixUnit.juvix b/Test/JuvixUnit.juvix index 8257618..171217e 100644 --- a/Test/JuvixUnit.juvix +++ b/Test/JuvixUnit.juvix @@ -1,7 +1,6 @@ module Test.JuvixUnit; -import Stdlib.Prelude open hiding {fail}; - +import Test.Prelude open; import Stdlib.Debug.Fail as Fail; type Assertion := diff --git a/Test/Prelude.juvix b/Test/Prelude.juvix new file mode 100644 index 0000000..236ad28 --- /dev/null +++ b/Test/Prelude.juvix @@ -0,0 +1,10 @@ +module Test.Prelude; + +import Juvix.Builtin.V1 open public; +import Stdlib.Data.List.Base open using {any; foldr} public; +import Stdlib.Data.Bool.Base open using {if; not} public; +import Stdlib.Data.Maybe.Base open using {maybe} public; +import Stdlib.Function open public; +import Stdlib.System.IO.Base open public; +import Stdlib.System.IO.String open public; +import Stdlib.Trait.Eq open public; diff --git a/juvix.lock.yaml b/juvix.lock.yaml index c7e1d26..a0dc429 100644 --- a/juvix.lock.yaml +++ b/juvix.lock.yaml @@ -1,9 +1,11 @@ # This file was autogenerated by Juvix version 0.5.4. # Do not edit this file manually. +version: 2 +checksum: 6a46b25518005001159fa3c93c1493271cc817b7ab4ffa8ff5782fe63b5c3901 dependencies: - git: name: anoma_juvix-stdlib - ref: f68b0614ad695eaa13ead42f3466e0a78219f826 + ref: 183d4e9329a648b339ebecf2122b3e9621c99ee8 url: https://github.com/anoma/juvix-stdlib dependencies: [] diff --git a/tests/Package.juvix b/tests/Package.juvix index 0416bb0..f3543d0 100644 --- a/tests/Package.juvix +++ b/tests/Package.juvix @@ -1,6 +1,6 @@ module Package; -import PackageDescription.V1 open; +import PackageDescription.V2 open; package : Package := defaultPackage diff --git a/tests/juvix.lock.yaml b/tests/juvix.lock.yaml index 5f73d82..fcdeefe 100644 --- a/tests/juvix.lock.yaml +++ b/tests/juvix.lock.yaml @@ -1,6 +1,8 @@ # This file was autogenerated by Juvix version 0.5.4. # Do not edit this file manually. +version: 2 +checksum: f2f97f49dc859a94fcf27251ddb0939751264ca6de41344c0a10b13a82351592 dependencies: - path: .juvix-build/stdlib/ dependencies: [] @@ -8,6 +10,6 @@ dependencies: dependencies: - git: name: anoma_juvix-stdlib - ref: f68b0614ad695eaa13ead42f3466e0a78219f826 + ref: 183d4e9329a648b339ebecf2122b3e9621c99ee8 url: https://github.com/anoma/juvix-stdlib dependencies: [] From bcc7da07ed012e58119c9053c49dc3fa8e9c44c8 Mon Sep 17 00:00:00 2001 From: Paul Cadman Date: Fri, 1 Dec 2023 13:41:29 +0000 Subject: [PATCH 2/4] Use explicit stdlib dependency --- tests/Package.juvix | 7 ++++++- tests/juvix.lock.yaml | 9 ++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/Package.juvix b/tests/Package.juvix index f3543d0..966a0b9 100644 --- a/tests/Package.juvix +++ b/tests/Package.juvix @@ -5,4 +5,9 @@ import PackageDescription.V2 open; package : Package := defaultPackage {name := "tests"; - dependencies := [defaultStdlib; path "../"]}; + dependencies := [ path "../" + ; github + "anoma" + "juvix-stdlib" + "183d4e9329a648b339ebecf2122b3e9621c99ee8" + ]}; diff --git a/tests/juvix.lock.yaml b/tests/juvix.lock.yaml index fcdeefe..b5a983d 100644 --- a/tests/juvix.lock.yaml +++ b/tests/juvix.lock.yaml @@ -2,10 +2,8 @@ # Do not edit this file manually. version: 2 -checksum: f2f97f49dc859a94fcf27251ddb0939751264ca6de41344c0a10b13a82351592 +checksum: e78680bc07827f0ec21756c9c46330d7b2a2e8f406574e6c9737aa400b65558e dependencies: -- path: .juvix-build/stdlib/ - dependencies: [] - path: ../ dependencies: - git: @@ -13,3 +11,8 @@ dependencies: ref: 183d4e9329a648b339ebecf2122b3e9621c99ee8 url: https://github.com/anoma/juvix-stdlib dependencies: [] +- git: + name: anoma_juvix-stdlib + ref: 183d4e9329a648b339ebecf2122b3e9621c99ee8 + url: https://github.com/anoma/juvix-stdlib + dependencies: [] From 2a6b0d7117f51d2dad4aabe34e6124ef5cb179f9 Mon Sep 17 00:00:00 2001 From: Paul Cadman Date: Fri, 1 Dec 2023 13:41:39 +0000 Subject: [PATCH 3/4] Update make clean to clean juvix build dir --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7471024..5475810 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,8 @@ clean-build: .PHONY: clean-deps clean-deps: - @rm -rf deps/ + @juvix clean + @(cd tests && exec juvix clean) .PHONY: clean clean: clean-deps clean-build From 10a29718d299f91c55e65059c7827fb159373548 Mon Sep 17 00:00:00 2001 From: Paul Cadman Date: Fri, 1 Dec 2023 18:46:46 +0000 Subject: [PATCH 4/4] Use stdlib release reference --- Package.juvix | 6 +----- juvix.lock.yaml | 2 +- tests/Package.juvix | 5 +---- tests/juvix.lock.yaml | 2 +- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Package.juvix b/Package.juvix index 644c9d4..7226ecd 100644 --- a/Package.juvix +++ b/Package.juvix @@ -6,8 +6,4 @@ package : Package := defaultPackage {name := "test"; version := mkVersion 0 8 0; - dependencies := [ github - "anoma" - "juvix-stdlib" - "183d4e9329a648b339ebecf2122b3e9621c99ee8" - ]}; + dependencies := [github "anoma" "juvix-stdlib" "v0.1.0"]}; diff --git a/juvix.lock.yaml b/juvix.lock.yaml index a0dc429..12487fa 100644 --- a/juvix.lock.yaml +++ b/juvix.lock.yaml @@ -2,7 +2,7 @@ # Do not edit this file manually. version: 2 -checksum: 6a46b25518005001159fa3c93c1493271cc817b7ab4ffa8ff5782fe63b5c3901 +checksum: bb2c92390bf49873ae476fb3e816d2f9e2e86dbec0e584a0ccfe552ec0f2bda1 dependencies: - git: name: anoma_juvix-stdlib diff --git a/tests/Package.juvix b/tests/Package.juvix index 966a0b9..75766ee 100644 --- a/tests/Package.juvix +++ b/tests/Package.juvix @@ -6,8 +6,5 @@ package : Package := defaultPackage {name := "tests"; dependencies := [ path "../" - ; github - "anoma" - "juvix-stdlib" - "183d4e9329a648b339ebecf2122b3e9621c99ee8" + ; github "anoma" "juvix-stdlib" "v0.1.0" ]}; diff --git a/tests/juvix.lock.yaml b/tests/juvix.lock.yaml index b5a983d..a4690e6 100644 --- a/tests/juvix.lock.yaml +++ b/tests/juvix.lock.yaml @@ -2,7 +2,7 @@ # Do not edit this file manually. version: 2 -checksum: e78680bc07827f0ec21756c9c46330d7b2a2e8f406574e6c9737aa400b65558e +checksum: bc44ac3a4265ab42f42880ebe71560cce855411ca98574181715b96d34543bb8 dependencies: - path: ../ dependencies: