From d9e1121ed0a6b35969086dfafefdc89acb44eff4 Mon Sep 17 00:00:00 2001 From: Jakob Schneider <60233376+jaschdoc@users.noreply.github.com> Date: Tue, 29 Apr 2025 18:55:39 +0200 Subject: [PATCH 1/3] fix: update examples Add all examples --- build-scripts/sampleFiles.mjs | 506 +++++++++++++++++++++++++++++++--- 1 file changed, 461 insertions(+), 45 deletions(-) diff --git a/build-scripts/sampleFiles.mjs b/build-scripts/sampleFiles.mjs index dea3dd3..9858149 100644 --- a/build-scripts/sampleFiles.mjs +++ b/build-scripts/sampleFiles.mjs @@ -1,92 +1,508 @@ -const version = '0.53.0' +const version = '0.59.0' export const baseUrl = `https://raw.githubusercontent.com/flix/flix/v${version}/examples/` export const sampleFiles = [ { - name: 'Algebraic Data Types and Pattern Matching', - file: 'algebraic-data-types-and-pattern-matching.flix', + name: 'misc/type-aliases.flix', + file: 'misc/type-aliases.flix', }, { - name: 'Lists and List Processing', - file: 'lists-and-list-processing.flix', + name: 'misc/named-arguments.flix', + file: 'misc/named-arguments.flix', }, { - name: 'Higher-Order Functions', - file: 'higher-order-functions.flix', + name: 'misc/type-level-programming/track-list-emptiness-with-type-level-booleans.flix', + file: 'misc/type-level-programming/track-list-emptiness-with-type-level-booleans.flix', }, { - name: 'Enums and Parametric Polymorphism', - file: 'enums-and-parametric-polymorphism.flix', + name: 'misc/type-level-programming/type-level-programming-string-sanitization.flix', + file: 'misc/type-level-programming/type-level-programming-string-sanitization.flix', }, { - name: 'Record Construction and Use', - file: 'record-construction-and-use.flix', + name: 'misc/type-level-programming/type-level-programming-4bit-adder.flix', + file: 'misc/type-level-programming/type-level-programming-4bit-adder.flix', }, { - name: 'Polymorphic Record Update', - file: 'polymorphic-record-update.flix', + name: 'misc/type-level-programming/type-level-programming-demorgan.flix', + file: 'misc/type-level-programming/type-level-programming-demorgan.flix', }, { - name: 'Polymorphic Record Extension and Restriction', - file: 'polymorphic-record-extension-and-restriction.flix', + name: 'misc/type-level-programming/type-level-programming-even-odd-list.flix', + file: 'misc/type-level-programming/type-level-programming-even-odd-list.flix', }, { - name: 'Function Composition, Pipelines, and Currying', - file: 'function-composition-pipelines-and-currying.flix', + name: 'misc/type-level-programming/type-level-programming-eager-lazy-list.flix', + file: 'misc/type-level-programming/type-level-programming-eager-lazy-list.flix', }, { - name: 'Pure and Impure Functions', - file: 'pure-and-impure-functions.flix', + name: 'records/the-ast-typing-problem-with-polymorphic-records.flix', + file: 'records/the-ast-typing-problem-with-polymorphic-records.flix', }, { - name: 'Effect Polymorphic Functions', - file: 'effect-polymorphic-functions.flix', + name: 'records/polymorphic-record-update.flix', + file: 'records/polymorphic-record-update.flix', }, { - name: 'Type Aliases', - file: 'type-aliases.flix', + name: 'records/polymorphic-record-extension-and-restriction.flix', + file: 'records/polymorphic-record-extension-and-restriction.flix', }, { - name: 'Mutual Recursion with Full Tail-Call Elimination', - file: 'mutual-recursion-with-full-tail-call-elimination.flix', + name: 'records/record-construction-and-use.flix', + file: 'records/record-construction-and-use.flix', }, { - name: 'Sending and Receiving on Channels', - file: 'sending-and-receiving-on-channels.flix', + name: 'functional-style/lists-and-list-processing.flix', + file: 'functional-style/lists-and-list-processing.flix', }, { - name: 'Using Channels and Select', - file: 'using-channels-and-select.flix', + name: 'functional-style/pure-and-impure-functions.flix', + file: 'functional-style/pure-and-impure-functions.flix', }, { - name: 'Select with Defaults and Timers', - file: 'select-with-defaults-and-timers.flix', + name: 'functional-style/mutual-recursion-with-full-tail-call-elimination.flix', + file: 'functional-style/mutual-recursion-with-full-tail-call-elimination.flix', }, { - name: 'First-Class Constraints and Fixpoints', - file: 'first-class-constraints-and-fixpoints.flix', + name: 'functional-style/higher-order-functions.flix', + file: 'functional-style/higher-order-functions.flix', }, { - name: 'Polymorphic First-Class Constraints', - file: 'polymorphic-first-class-constraints.flix', + name: 'functional-style/effect-polymorphic-functions.flix', + file: 'functional-style/effect-polymorphic-functions.flix', }, { - name: 'Pipelines of Fixpoint Computations', - file: 'pipelines-of-fixpoint-computations.flix', + name: 'functional-style/enums-and-parametric-polymorphism.flix', + file: 'functional-style/enums-and-parametric-polymorphism.flix', }, { - name: 'Using Datalog to Solve a Compiler Puzzle', - file: 'compiler-puzzle.flix', + name: 'functional-style/function-composition-pipelines-and-currying.flix', + file: 'functional-style/function-composition-pipelines-and-currying.flix', }, { - name: 'An Interpreter for a Trivial Expression Language', - file: 'an-interpreter-for-a-trivial-expression-language.flix', + name: 'functional-style/algebraic-data-types-and-pattern-matching.flix', + file: 'functional-style/algebraic-data-types-and-pattern-matching.flix', }, { - name: 'A Simple Card Game Simulation', - file: 'simple-card-game.flix', + name: 'traits/trait-with-higher-kinded-type.flix', + file: 'traits/trait-with-higher-kinded-type.flix', }, { - name: 'Internal Mutability with Regions', - file: 'internal-mutability-with-regions.flix', + name: 'traits/trait-with-associated-effect.flix', + file: 'traits/trait-with-associated-effect.flix', + }, + { + name: 'traits/deriving-traits-automatically.flix', + file: 'traits/deriving-traits-automatically.flix', + }, + { + name: 'traits/trait-with-associated-type.flix', + file: 'traits/trait-with-associated-type.flix', + }, + { + name: 'traits/declaring-a-trait-with-instances.flix', + file: 'traits/declaring-a-trait-with-instances.flix', + }, + { + name: 'package-manager/hello-library/test/TestHelloLibrary.flix', + file: 'package-manager/hello-library/test/TestHelloLibrary.flix', + }, + { + name: 'package-manager/hello-library/src/HelloLibrary.flix', + file: 'package-manager/hello-library/src/HelloLibrary.flix', + }, + { + name: 'package-manager/hello-world/test/TestMain.flix', + file: 'package-manager/hello-world/test/TestMain.flix', + }, + { + name: 'package-manager/hello-world/src/Main.flix', + file: 'package-manager/hello-world/src/Main.flix', + }, + { + name: 'package-manager/project-with-deps/test/TestMain.flix', + file: 'package-manager/project-with-deps/test/TestMain.flix', + }, + { + name: 'package-manager/project-with-deps/src/Main.flix', + file: 'package-manager/project-with-deps/src/Main.flix', + }, + { + name: 'package-manager/minimal-project/src/Main.flix', + file: 'package-manager/minimal-project/src/Main.flix', + }, + { + name: 'imperative-style/copying-characters-into-array-with-foreach.flix', + file: 'imperative-style/copying-characters-into-array-with-foreach.flix', + }, + { + name: 'imperative-style/imperative-style-foreach-loops.flix', + file: 'imperative-style/imperative-style-foreach-loops.flix', + }, + { + name: 'imperative-style/internal-mutability-with-regions.flix', + file: 'imperative-style/internal-mutability-with-regions.flix', + }, + { + name: 'imperative-style/iterating-over-lists-with-foreach.flix', + file: 'imperative-style/iterating-over-lists-with-foreach.flix', + }, + { + name: 'interoperability/calling-methods/calling-java-varargs-methods.flix', + file: 'interoperability/calling-methods/calling-java-varargs-methods.flix', + }, + { + name: 'interoperability/calling-methods/calling-java-static-methods.flix', + file: 'interoperability/calling-methods/calling-java-static-methods.flix', + }, + { + name: 'interoperability/anonymous-classes/implementing-java-closeable.flix', + file: 'interoperability/anonymous-classes/implementing-java-closeable.flix', + }, + { + name: 'interoperability/anonymous-classes/implementing-java-runnable.flix', + file: 'interoperability/anonymous-classes/implementing-java-runnable.flix', + }, + { + name: 'interoperability/swing/swing-dial.flix', + file: 'interoperability/swing/swing-dial.flix', + }, + { + name: 'interoperability/swing/simple-swing-app.flix', + file: 'interoperability/swing/simple-swing-app.flix', + }, + { + name: 'interoperability/swing/swing-dialog.flix', + file: 'interoperability/swing/swing-dialog.flix', + }, + { + name: 'interoperability/exceptions/catching-java-exceptions.flix', + file: 'interoperability/exceptions/catching-java-exceptions.flix', + }, + { + name: 'interoperability/files/reading-a-file-with-java.flix', + file: 'interoperability/files/reading-a-file-with-java.flix', + }, + { + name: 'interoperability/files/writing-a-file-with-java.flix', + file: 'interoperability/files/writing-a-file-with-java.flix', + }, + { + name: 'interoperability/files/checking-if-file-exists-with-java.flix', + file: 'interoperability/files/checking-if-file-exists-with-java.flix', + }, + { + name: 'concurrency-and-parallelism/spawning-threads.flix', + file: 'concurrency-and-parallelism/spawning-threads.flix', + }, + { + name: 'concurrency-and-parallelism/using-par-yield.flix', + file: 'concurrency-and-parallelism/using-par-yield.flix', + }, + { + name: 'concurrency-and-parallelism/using-par-yield-recursively.flix', + file: 'concurrency-and-parallelism/using-par-yield-recursively.flix', + }, + { + name: 'concurrency-and-parallelism/using-select-with-default.flix', + file: 'concurrency-and-parallelism/using-select-with-default.flix', + }, + { + name: 'concurrency-and-parallelism/using-select.flix', + file: 'concurrency-and-parallelism/using-select.flix', + }, + { + name: 'concurrency-and-parallelism/using-channels-for-message-passing.flix', + file: 'concurrency-and-parallelism/using-channels-for-message-passing.flix', + }, + { + name: 'concurrency-and-parallelism/using-select-with-timeout.flix', + file: 'concurrency-and-parallelism/using-select-with-timeout.flix', + }, + { + name: 'effects-and-handlers/using-Random.flix', + file: 'effects-and-handlers/using-Random.flix', + }, + { + name: 'effects-and-handlers/using-HttpWithResult.flix', + file: 'effects-and-handlers/using-HttpWithResult.flix', + }, + { + name: 'effects-and-handlers/using-ProcessWithResult.flix', + file: 'effects-and-handlers/using-ProcessWithResult.flix', + }, + { + name: 'effects-and-handlers/using-FileWriteWithResult.flix', + file: 'effects-and-handlers/using-FileWriteWithResult.flix', + }, + { + name: 'effects-and-handlers/using-Console.flix', + file: 'effects-and-handlers/using-Console.flix', + }, + { + name: 'effects-and-handlers/using-Logger.flix', + file: 'effects-and-handlers/using-Logger.flix', + }, + { + name: 'effects-and-handlers/running-multiple-effects.flix', + file: 'effects-and-handlers/running-multiple-effects.flix', + }, + { + name: 'effects-and-handlers/using-Clock.flix', + file: 'effects-and-handlers/using-Clock.flix', + }, + { + name: 'effects-and-handlers/advanced/collatz.flix', + file: 'effects-and-handlers/advanced/collatz.flix', + }, + { + name: 'effects-and-handlers/advanced/nqueens.flix', + file: 'effects-and-handlers/advanced/nqueens.flix', + }, + { + name: 'effects-and-handlers/advanced/backtracking.flix', + file: 'effects-and-handlers/advanced/backtracking.flix', + }, + { + name: 'structs/structs-and-parametric-polymorphism.flix', + file: 'structs/structs-and-parametric-polymorphism.flix', + }, + { + name: 'structs/struct-person.flix', + file: 'structs/struct-person.flix', + }, + { + name: 'structs/struct-tree-monadic.flix', + file: 'structs/struct-tree-monadic.flix', + }, + { + name: 'structs/struct-tree.flix', + file: 'structs/struct-tree.flix', + }, + { + name: 'larger-examples/simple-card-game.flix', + file: 'larger-examples/simple-card-game.flix', + }, + { + name: 'larger-examples/FloydWarshall.flix', + file: 'larger-examples/FloydWarshall.flix', + }, + { + name: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', + file: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', + }, + { + name: 'larger-examples/interpreter.flix', + file: 'larger-examples/interpreter.flix', + }, + { + name: 'larger-examples/lambda-calculus.flix', + file: 'larger-examples/lambda-calculus.flix', + }, + { + name: 'larger-examples/using-get-opt.flix', + file: 'larger-examples/using-get-opt.flix', + }, + { + name: 'larger-examples/introduction.flix', + file: 'larger-examples/introduction.flix', + }, + { + name: 'larger-examples/datalog/class-hierarchy-analysis.flix', + file: 'larger-examples/datalog/class-hierarchy-analysis.flix', + }, + { + name: 'larger-examples/datalog/sequence.flix', + file: 'larger-examples/datalog/sequence.flix', + }, + { + name: 'larger-examples/datalog/travelling-with-preference.flix', + file: 'larger-examples/datalog/travelling-with-preference.flix', + }, + { + name: 'larger-examples/datalog/friend-suggestions.flix', + file: 'larger-examples/datalog/friend-suggestions.flix', + }, + { + name: 'larger-examples/datalog/unconnected-roads.flix', + file: 'larger-examples/datalog/unconnected-roads.flix', + }, + { + name: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', + file: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', + }, + { + name: 'larger-examples/datalog/single-source-shortest-distance.flix', + file: 'larger-examples/datalog/single-source-shortest-distance.flix', + }, + { + name: 'larger-examples/datalog/single-source-shortest-paths.flix', + file: 'larger-examples/datalog/single-source-shortest-paths.flix', + }, + { + name: 'larger-examples/datalog/heirs-and-usurpers.flix', + file: 'larger-examples/datalog/heirs-and-usurpers.flix', + }, + { + name: 'larger-examples/datalog/delivery-date.flix', + file: 'larger-examples/datalog/delivery-date.flix', + }, + { + name: 'larger-examples/datalog/connect-graph.flix', + file: 'larger-examples/datalog/connect-graph.flix', + }, + { + name: 'larger-examples/datalog/palindrome.flix', + file: 'larger-examples/datalog/palindrome.flix', + }, + { + name: 'larger-examples/datalog/drivable-speed.flix', + file: 'larger-examples/datalog/drivable-speed.flix', + }, + { + name: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', + file: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', + }, + { + name: 'larger-examples/datalog/half-siblings.flix', + file: 'larger-examples/datalog/half-siblings.flix', + }, + { + name: 'larger-examples/datalog/topsort.flix', + file: 'larger-examples/datalog/topsort.flix', + }, + { + name: 'larger-examples/datalog/two-sat.flix', + file: 'larger-examples/datalog/two-sat.flix', + }, + { + name: 'larger-examples/datalog/ford-fulkerson.flix', + file: 'larger-examples/datalog/ford-fulkerson.flix', + }, + { + name: 'larger-examples/datalog/stratifier.flix', + file: 'larger-examples/datalog/stratifier.flix', + }, + { + name: 'larger-examples/datalog/drivable.flix', + file: 'larger-examples/datalog/drivable.flix', + }, + { + name: 'larger-examples/restrictable-variants/colors.flix', + file: 'larger-examples/restrictable-variants/colors.flix', + }, + { + name: 'larger-examples/restrictable-variants/boolean-formulas.flix', + file: 'larger-examples/restrictable-variants/boolean-formulas.flix', + }, + { + name: 'larger-examples/restrictable-variants/sequences.flix', + file: 'larger-examples/restrictable-variants/sequences.flix', + }, + { + name: 'larger-examples/program-analysis/IDE.flix', + file: 'larger-examples/program-analysis/IDE.flix', + }, + { + name: 'larger-examples/program-analysis/SUopt.flix', + file: 'larger-examples/program-analysis/SUopt.flix', + }, + { + name: 'larger-examples/program-analysis/IFDS.flix', + file: 'larger-examples/program-analysis/IFDS.flix', + }, + { + name: 'larger-examples/program-analysis/domains/Interval.flix', + file: 'larger-examples/program-analysis/domains/Interval.flix', + }, + { + name: 'larger-examples/program-analysis/domains/ConstantSign.flix', + file: 'larger-examples/program-analysis/domains/ConstantSign.flix', + }, + { + name: 'larger-examples/program-analysis/domains/Sign.flix', + file: 'larger-examples/program-analysis/domains/Sign.flix', + }, + { + name: 'larger-examples/program-analysis/domains/IntervalAlt.flix', + file: 'larger-examples/program-analysis/domains/IntervalAlt.flix', + }, + { + name: 'larger-examples/program-analysis/domains/ConstantParity.flix', + file: 'larger-examples/program-analysis/domains/ConstantParity.flix', + }, + { + name: 'larger-examples/program-analysis/domains/StrictSign.flix', + file: 'larger-examples/program-analysis/domains/StrictSign.flix', + }, + { + name: 'larger-examples/program-analysis/domains/Mod3.flix', + file: 'larger-examples/program-analysis/domains/Mod3.flix', + }, + { + name: 'larger-examples/program-analysis/domains/Constant.flix', + file: 'larger-examples/program-analysis/domains/Constant.flix', + }, + { + name: 'larger-examples/program-analysis/domains/Parity.flix', + file: 'larger-examples/program-analysis/domains/Parity.flix', + }, + { + name: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', + file: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', + }, + { + name: 'larger-examples/program-analysis/domains/ParitySign.flix', + file: 'larger-examples/program-analysis/domains/ParitySign.flix', + }, + { + name: 'larger-examples/program-analysis/domains/Belnap.flix', + file: 'larger-examples/program-analysis/domains/Belnap.flix', + }, + { + name: 'fixpoints/railroad-network.flix', + file: 'fixpoints/railroad-network.flix', + }, + { + name: 'fixpoints/pipelines-of-fixpoint-computations.flix', + file: 'fixpoints/pipelines-of-fixpoint-computations.flix', + }, + { + name: 'fixpoints/compiler-puzzle.flix', + file: 'fixpoints/compiler-puzzle.flix', + }, + { + name: 'fixpoints/polymorphic-first-class-constraints.flix', + file: 'fixpoints/polymorphic-first-class-constraints.flix', + }, + { + name: 'fixpoints/first-class-constraints-and-fixpoints.flix', + file: 'fixpoints/first-class-constraints-and-fixpoints.flix', + }, + { + name: 'modules/use-from-a-module-locally.flix', + file: 'modules/use-from-a-module-locally.flix', + }, + { + name: 'modules/declaring-a-module.flix', + file: 'modules/declaring-a-module.flix', + }, + { + name: 'modules/use-from-a-module.flix', + file: 'modules/use-from-a-module.flix', + }, + { + name: 'modules/companion-module-effect.flix', + file: 'modules/companion-module-effect.flix', + }, + { + name: 'modules/companion-module-struct.flix', + file: 'modules/companion-module-struct.flix', + }, + { + name: 'modules/companion-module-trait.flix', + file: 'modules/companion-module-trait.flix', + }, + { + name: 'modules/companion-module-enum.flix', + file: 'modules/companion-module-enum.flix', } ] From b26ffb33f36b8cdb0f181838df83703636bfb5bc Mon Sep 17 00:00:00 2001 From: Jakob Schneider <60233376+jaschdoc@users.noreply.github.com> Date: Tue, 29 Apr 2025 18:59:17 +0200 Subject: [PATCH 2/3] sort files --- build-scripts/sampleFiles.mjs | 480 +++++++++++++++++----------------- 1 file changed, 240 insertions(+), 240 deletions(-) diff --git a/build-scripts/sampleFiles.mjs b/build-scripts/sampleFiles.mjs index 9858149..73ef2c7 100644 --- a/build-scripts/sampleFiles.mjs +++ b/build-scripts/sampleFiles.mjs @@ -2,132 +2,128 @@ const version = '0.59.0' export const baseUrl = `https://raw.githubusercontent.com/flix/flix/v${version}/examples/` export const sampleFiles = [ { - name: 'misc/type-aliases.flix', - file: 'misc/type-aliases.flix', - }, - { - name: 'misc/named-arguments.flix', - file: 'misc/named-arguments.flix', + name: 'concurrency-and-parallelism/spawning-threads.flix', + file: 'concurrency-and-parallelism/spawning-threads.flix', }, { - name: 'misc/type-level-programming/track-list-emptiness-with-type-level-booleans.flix', - file: 'misc/type-level-programming/track-list-emptiness-with-type-level-booleans.flix', + name: 'concurrency-and-parallelism/using-channels-for-message-passing.flix', + file: 'concurrency-and-parallelism/using-channels-for-message-passing.flix', }, { - name: 'misc/type-level-programming/type-level-programming-string-sanitization.flix', - file: 'misc/type-level-programming/type-level-programming-string-sanitization.flix', + name: 'concurrency-and-parallelism/using-par-yield-recursively.flix', + file: 'concurrency-and-parallelism/using-par-yield-recursively.flix', }, { - name: 'misc/type-level-programming/type-level-programming-4bit-adder.flix', - file: 'misc/type-level-programming/type-level-programming-4bit-adder.flix', + name: 'concurrency-and-parallelism/using-par-yield.flix', + file: 'concurrency-and-parallelism/using-par-yield.flix', }, { - name: 'misc/type-level-programming/type-level-programming-demorgan.flix', - file: 'misc/type-level-programming/type-level-programming-demorgan.flix', + name: 'concurrency-and-parallelism/using-select-with-default.flix', + file: 'concurrency-and-parallelism/using-select-with-default.flix', }, { - name: 'misc/type-level-programming/type-level-programming-even-odd-list.flix', - file: 'misc/type-level-programming/type-level-programming-even-odd-list.flix', + name: 'concurrency-and-parallelism/using-select-with-timeout.flix', + file: 'concurrency-and-parallelism/using-select-with-timeout.flix', }, { - name: 'misc/type-level-programming/type-level-programming-eager-lazy-list.flix', - file: 'misc/type-level-programming/type-level-programming-eager-lazy-list.flix', + name: 'concurrency-and-parallelism/using-select.flix', + file: 'concurrency-and-parallelism/using-select.flix', }, { - name: 'records/the-ast-typing-problem-with-polymorphic-records.flix', - file: 'records/the-ast-typing-problem-with-polymorphic-records.flix', + name: 'effects-and-handlers/advanced/backtracking.flix', + file: 'effects-and-handlers/advanced/backtracking.flix', }, { - name: 'records/polymorphic-record-update.flix', - file: 'records/polymorphic-record-update.flix', + name: 'effects-and-handlers/advanced/collatz.flix', + file: 'effects-and-handlers/advanced/collatz.flix', }, { - name: 'records/polymorphic-record-extension-and-restriction.flix', - file: 'records/polymorphic-record-extension-and-restriction.flix', + name: 'effects-and-handlers/advanced/nqueens.flix', + file: 'effects-and-handlers/advanced/nqueens.flix', }, { - name: 'records/record-construction-and-use.flix', - file: 'records/record-construction-and-use.flix', + name: 'effects-and-handlers/running-multiple-effects.flix', + file: 'effects-and-handlers/running-multiple-effects.flix', }, { - name: 'functional-style/lists-and-list-processing.flix', - file: 'functional-style/lists-and-list-processing.flix', + name: 'effects-and-handlers/using-Clock.flix', + file: 'effects-and-handlers/using-Clock.flix', }, { - name: 'functional-style/pure-and-impure-functions.flix', - file: 'functional-style/pure-and-impure-functions.flix', + name: 'effects-and-handlers/using-Console.flix', + file: 'effects-and-handlers/using-Console.flix', }, { - name: 'functional-style/mutual-recursion-with-full-tail-call-elimination.flix', - file: 'functional-style/mutual-recursion-with-full-tail-call-elimination.flix', + name: 'effects-and-handlers/using-FileWriteWithResult.flix', + file: 'effects-and-handlers/using-FileWriteWithResult.flix', }, { - name: 'functional-style/higher-order-functions.flix', - file: 'functional-style/higher-order-functions.flix', + name: 'effects-and-handlers/using-HttpWithResult.flix', + file: 'effects-and-handlers/using-HttpWithResult.flix', }, { - name: 'functional-style/effect-polymorphic-functions.flix', - file: 'functional-style/effect-polymorphic-functions.flix', + name: 'effects-and-handlers/using-Logger.flix', + file: 'effects-and-handlers/using-Logger.flix', }, { - name: 'functional-style/enums-and-parametric-polymorphism.flix', - file: 'functional-style/enums-and-parametric-polymorphism.flix', + name: 'effects-and-handlers/using-ProcessWithResult.flix', + file: 'effects-and-handlers/using-ProcessWithResult.flix', }, { - name: 'functional-style/function-composition-pipelines-and-currying.flix', - file: 'functional-style/function-composition-pipelines-and-currying.flix', + name: 'effects-and-handlers/using-Random.flix', + file: 'effects-and-handlers/using-Random.flix', }, { - name: 'functional-style/algebraic-data-types-and-pattern-matching.flix', - file: 'functional-style/algebraic-data-types-and-pattern-matching.flix', + name: 'fixpoints/compiler-puzzle.flix', + file: 'fixpoints/compiler-puzzle.flix', }, { - name: 'traits/trait-with-higher-kinded-type.flix', - file: 'traits/trait-with-higher-kinded-type.flix', + name: 'fixpoints/first-class-constraints-and-fixpoints.flix', + file: 'fixpoints/first-class-constraints-and-fixpoints.flix', }, { - name: 'traits/trait-with-associated-effect.flix', - file: 'traits/trait-with-associated-effect.flix', + name: 'fixpoints/pipelines-of-fixpoint-computations.flix', + file: 'fixpoints/pipelines-of-fixpoint-computations.flix', }, { - name: 'traits/deriving-traits-automatically.flix', - file: 'traits/deriving-traits-automatically.flix', + name: 'fixpoints/polymorphic-first-class-constraints.flix', + file: 'fixpoints/polymorphic-first-class-constraints.flix', }, { - name: 'traits/trait-with-associated-type.flix', - file: 'traits/trait-with-associated-type.flix', + name: 'fixpoints/railroad-network.flix', + file: 'fixpoints/railroad-network.flix', }, { - name: 'traits/declaring-a-trait-with-instances.flix', - file: 'traits/declaring-a-trait-with-instances.flix', + name: 'functional-style/algebraic-data-types-and-pattern-matching.flix', + file: 'functional-style/algebraic-data-types-and-pattern-matching.flix', }, { - name: 'package-manager/hello-library/test/TestHelloLibrary.flix', - file: 'package-manager/hello-library/test/TestHelloLibrary.flix', + name: 'functional-style/effect-polymorphic-functions.flix', + file: 'functional-style/effect-polymorphic-functions.flix', }, { - name: 'package-manager/hello-library/src/HelloLibrary.flix', - file: 'package-manager/hello-library/src/HelloLibrary.flix', + name: 'functional-style/enums-and-parametric-polymorphism.flix', + file: 'functional-style/enums-and-parametric-polymorphism.flix', }, { - name: 'package-manager/hello-world/test/TestMain.flix', - file: 'package-manager/hello-world/test/TestMain.flix', + name: 'functional-style/function-composition-pipelines-and-currying.flix', + file: 'functional-style/function-composition-pipelines-and-currying.flix', }, { - name: 'package-manager/hello-world/src/Main.flix', - file: 'package-manager/hello-world/src/Main.flix', + name: 'functional-style/higher-order-functions.flix', + file: 'functional-style/higher-order-functions.flix', }, { - name: 'package-manager/project-with-deps/test/TestMain.flix', - file: 'package-manager/project-with-deps/test/TestMain.flix', + name: 'functional-style/lists-and-list-processing.flix', + file: 'functional-style/lists-and-list-processing.flix', }, { - name: 'package-manager/project-with-deps/src/Main.flix', - file: 'package-manager/project-with-deps/src/Main.flix', + name: 'functional-style/mutual-recursion-with-full-tail-call-elimination.flix', + file: 'functional-style/mutual-recursion-with-full-tail-call-elimination.flix', }, { - name: 'package-manager/minimal-project/src/Main.flix', - file: 'package-manager/minimal-project/src/Main.flix', + name: 'functional-style/pure-and-impure-functions.flix', + file: 'functional-style/pure-and-impure-functions.flix', }, { name: 'imperative-style/copying-characters-into-array-with-foreach.flix', @@ -145,14 +141,6 @@ export const sampleFiles = [ name: 'imperative-style/iterating-over-lists-with-foreach.flix', file: 'imperative-style/iterating-over-lists-with-foreach.flix', }, - { - name: 'interoperability/calling-methods/calling-java-varargs-methods.flix', - file: 'interoperability/calling-methods/calling-java-varargs-methods.flix', - }, - { - name: 'interoperability/calling-methods/calling-java-static-methods.flix', - file: 'interoperability/calling-methods/calling-java-static-methods.flix', - }, { name: 'interoperability/anonymous-classes/implementing-java-closeable.flix', file: 'interoperability/anonymous-classes/implementing-java-closeable.flix', @@ -162,21 +150,21 @@ export const sampleFiles = [ file: 'interoperability/anonymous-classes/implementing-java-runnable.flix', }, { - name: 'interoperability/swing/swing-dial.flix', - file: 'interoperability/swing/swing-dial.flix', - }, - { - name: 'interoperability/swing/simple-swing-app.flix', - file: 'interoperability/swing/simple-swing-app.flix', + name: 'interoperability/calling-methods/calling-java-static-methods.flix', + file: 'interoperability/calling-methods/calling-java-static-methods.flix', }, { - name: 'interoperability/swing/swing-dialog.flix', - file: 'interoperability/swing/swing-dialog.flix', + name: 'interoperability/calling-methods/calling-java-varargs-methods.flix', + file: 'interoperability/calling-methods/calling-java-varargs-methods.flix', }, { name: 'interoperability/exceptions/catching-java-exceptions.flix', file: 'interoperability/exceptions/catching-java-exceptions.flix', }, + { + name: 'interoperability/files/checking-if-file-exists-with-java.flix', + file: 'interoperability/files/checking-if-file-exists-with-java.flix', + }, { name: 'interoperability/files/reading-a-file-with-java.flix', file: 'interoperability/files/reading-a-file-with-java.flix', @@ -186,323 +174,335 @@ export const sampleFiles = [ file: 'interoperability/files/writing-a-file-with-java.flix', }, { - name: 'interoperability/files/checking-if-file-exists-with-java.flix', - file: 'interoperability/files/checking-if-file-exists-with-java.flix', - }, - { - name: 'concurrency-and-parallelism/spawning-threads.flix', - file: 'concurrency-and-parallelism/spawning-threads.flix', + name: 'interoperability/swing/simple-swing-app.flix', + file: 'interoperability/swing/simple-swing-app.flix', }, { - name: 'concurrency-and-parallelism/using-par-yield.flix', - file: 'concurrency-and-parallelism/using-par-yield.flix', + name: 'interoperability/swing/swing-dial.flix', + file: 'interoperability/swing/swing-dial.flix', }, { - name: 'concurrency-and-parallelism/using-par-yield-recursively.flix', - file: 'concurrency-and-parallelism/using-par-yield-recursively.flix', + name: 'interoperability/swing/swing-dialog.flix', + file: 'interoperability/swing/swing-dialog.flix', }, { - name: 'concurrency-and-parallelism/using-select-with-default.flix', - file: 'concurrency-and-parallelism/using-select-with-default.flix', + name: 'larger-examples/FloydWarshall.flix', + file: 'larger-examples/FloydWarshall.flix', }, { - name: 'concurrency-and-parallelism/using-select.flix', - file: 'concurrency-and-parallelism/using-select.flix', + name: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', + file: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', }, { - name: 'concurrency-and-parallelism/using-channels-for-message-passing.flix', - file: 'concurrency-and-parallelism/using-channels-for-message-passing.flix', + name: 'larger-examples/datalog/class-hierarchy-analysis.flix', + file: 'larger-examples/datalog/class-hierarchy-analysis.flix', }, { - name: 'concurrency-and-parallelism/using-select-with-timeout.flix', - file: 'concurrency-and-parallelism/using-select-with-timeout.flix', + name: 'larger-examples/datalog/connect-graph.flix', + file: 'larger-examples/datalog/connect-graph.flix', }, { - name: 'effects-and-handlers/using-Random.flix', - file: 'effects-and-handlers/using-Random.flix', + name: 'larger-examples/datalog/delivery-date.flix', + file: 'larger-examples/datalog/delivery-date.flix', }, { - name: 'effects-and-handlers/using-HttpWithResult.flix', - file: 'effects-and-handlers/using-HttpWithResult.flix', + name: 'larger-examples/datalog/drivable-speed.flix', + file: 'larger-examples/datalog/drivable-speed.flix', }, { - name: 'effects-and-handlers/using-ProcessWithResult.flix', - file: 'effects-and-handlers/using-ProcessWithResult.flix', + name: 'larger-examples/datalog/drivable.flix', + file: 'larger-examples/datalog/drivable.flix', }, { - name: 'effects-and-handlers/using-FileWriteWithResult.flix', - file: 'effects-and-handlers/using-FileWriteWithResult.flix', + name: 'larger-examples/datalog/ford-fulkerson.flix', + file: 'larger-examples/datalog/ford-fulkerson.flix', }, { - name: 'effects-and-handlers/using-Console.flix', - file: 'effects-and-handlers/using-Console.flix', + name: 'larger-examples/datalog/friend-suggestions.flix', + file: 'larger-examples/datalog/friend-suggestions.flix', }, { - name: 'effects-and-handlers/using-Logger.flix', - file: 'effects-and-handlers/using-Logger.flix', + name: 'larger-examples/datalog/half-siblings.flix', + file: 'larger-examples/datalog/half-siblings.flix', }, { - name: 'effects-and-handlers/running-multiple-effects.flix', - file: 'effects-and-handlers/running-multiple-effects.flix', + name: 'larger-examples/datalog/heirs-and-usurpers.flix', + file: 'larger-examples/datalog/heirs-and-usurpers.flix', }, { - name: 'effects-and-handlers/using-Clock.flix', - file: 'effects-and-handlers/using-Clock.flix', + name: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', + file: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', }, { - name: 'effects-and-handlers/advanced/collatz.flix', - file: 'effects-and-handlers/advanced/collatz.flix', + name: 'larger-examples/datalog/palindrome.flix', + file: 'larger-examples/datalog/palindrome.flix', }, { - name: 'effects-and-handlers/advanced/nqueens.flix', - file: 'effects-and-handlers/advanced/nqueens.flix', + name: 'larger-examples/datalog/sequence.flix', + file: 'larger-examples/datalog/sequence.flix', }, { - name: 'effects-and-handlers/advanced/backtracking.flix', - file: 'effects-and-handlers/advanced/backtracking.flix', + name: 'larger-examples/datalog/single-source-shortest-distance.flix', + file: 'larger-examples/datalog/single-source-shortest-distance.flix', }, { - name: 'structs/structs-and-parametric-polymorphism.flix', - file: 'structs/structs-and-parametric-polymorphism.flix', + name: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', + file: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', }, { - name: 'structs/struct-person.flix', - file: 'structs/struct-person.flix', + name: 'larger-examples/datalog/single-source-shortest-paths.flix', + file: 'larger-examples/datalog/single-source-shortest-paths.flix', }, { - name: 'structs/struct-tree-monadic.flix', - file: 'structs/struct-tree-monadic.flix', + name: 'larger-examples/datalog/stratifier.flix', + file: 'larger-examples/datalog/stratifier.flix', }, { - name: 'structs/struct-tree.flix', - file: 'structs/struct-tree.flix', + name: 'larger-examples/datalog/topsort.flix', + file: 'larger-examples/datalog/topsort.flix', }, { - name: 'larger-examples/simple-card-game.flix', - file: 'larger-examples/simple-card-game.flix', + name: 'larger-examples/datalog/travelling-with-preference.flix', + file: 'larger-examples/datalog/travelling-with-preference.flix', }, { - name: 'larger-examples/FloydWarshall.flix', - file: 'larger-examples/FloydWarshall.flix', + name: 'larger-examples/datalog/two-sat.flix', + file: 'larger-examples/datalog/two-sat.flix', }, { - name: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', - file: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', + name: 'larger-examples/datalog/unconnected-roads.flix', + file: 'larger-examples/datalog/unconnected-roads.flix', }, { name: 'larger-examples/interpreter.flix', file: 'larger-examples/interpreter.flix', }, + { + name: 'larger-examples/introduction.flix', + file: 'larger-examples/introduction.flix', + }, { name: 'larger-examples/lambda-calculus.flix', file: 'larger-examples/lambda-calculus.flix', }, { - name: 'larger-examples/using-get-opt.flix', - file: 'larger-examples/using-get-opt.flix', + name: 'larger-examples/program-analysis/IDE.flix', + file: 'larger-examples/program-analysis/IDE.flix', }, { - name: 'larger-examples/introduction.flix', - file: 'larger-examples/introduction.flix', + name: 'larger-examples/program-analysis/IFDS.flix', + file: 'larger-examples/program-analysis/IFDS.flix', }, { - name: 'larger-examples/datalog/class-hierarchy-analysis.flix', - file: 'larger-examples/datalog/class-hierarchy-analysis.flix', + name: 'larger-examples/program-analysis/SUopt.flix', + file: 'larger-examples/program-analysis/SUopt.flix', }, { - name: 'larger-examples/datalog/sequence.flix', - file: 'larger-examples/datalog/sequence.flix', + name: 'larger-examples/program-analysis/domains/Belnap.flix', + file: 'larger-examples/program-analysis/domains/Belnap.flix', }, { - name: 'larger-examples/datalog/travelling-with-preference.flix', - file: 'larger-examples/datalog/travelling-with-preference.flix', + name: 'larger-examples/program-analysis/domains/Constant.flix', + file: 'larger-examples/program-analysis/domains/Constant.flix', }, { - name: 'larger-examples/datalog/friend-suggestions.flix', - file: 'larger-examples/datalog/friend-suggestions.flix', + name: 'larger-examples/program-analysis/domains/ConstantParity.flix', + file: 'larger-examples/program-analysis/domains/ConstantParity.flix', }, { - name: 'larger-examples/datalog/unconnected-roads.flix', - file: 'larger-examples/datalog/unconnected-roads.flix', + name: 'larger-examples/program-analysis/domains/ConstantSign.flix', + file: 'larger-examples/program-analysis/domains/ConstantSign.flix', }, { - name: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', - file: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', + name: 'larger-examples/program-analysis/domains/Interval.flix', + file: 'larger-examples/program-analysis/domains/Interval.flix', }, { - name: 'larger-examples/datalog/single-source-shortest-distance.flix', - file: 'larger-examples/datalog/single-source-shortest-distance.flix', + name: 'larger-examples/program-analysis/domains/IntervalAlt.flix', + file: 'larger-examples/program-analysis/domains/IntervalAlt.flix', }, { - name: 'larger-examples/datalog/single-source-shortest-paths.flix', - file: 'larger-examples/datalog/single-source-shortest-paths.flix', + name: 'larger-examples/program-analysis/domains/Mod3.flix', + file: 'larger-examples/program-analysis/domains/Mod3.flix', }, { - name: 'larger-examples/datalog/heirs-and-usurpers.flix', - file: 'larger-examples/datalog/heirs-and-usurpers.flix', + name: 'larger-examples/program-analysis/domains/Parity.flix', + file: 'larger-examples/program-analysis/domains/Parity.flix', }, { - name: 'larger-examples/datalog/delivery-date.flix', - file: 'larger-examples/datalog/delivery-date.flix', + name: 'larger-examples/program-analysis/domains/ParitySign.flix', + file: 'larger-examples/program-analysis/domains/ParitySign.flix', }, { - name: 'larger-examples/datalog/connect-graph.flix', - file: 'larger-examples/datalog/connect-graph.flix', + name: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', + file: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', }, { - name: 'larger-examples/datalog/palindrome.flix', - file: 'larger-examples/datalog/palindrome.flix', + name: 'larger-examples/program-analysis/domains/Sign.flix', + file: 'larger-examples/program-analysis/domains/Sign.flix', }, { - name: 'larger-examples/datalog/drivable-speed.flix', - file: 'larger-examples/datalog/drivable-speed.flix', + name: 'larger-examples/program-analysis/domains/StrictSign.flix', + file: 'larger-examples/program-analysis/domains/StrictSign.flix', }, { - name: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', - file: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', + name: 'larger-examples/restrictable-variants/boolean-formulas.flix', + file: 'larger-examples/restrictable-variants/boolean-formulas.flix', }, { - name: 'larger-examples/datalog/half-siblings.flix', - file: 'larger-examples/datalog/half-siblings.flix', + name: 'larger-examples/restrictable-variants/colors.flix', + file: 'larger-examples/restrictable-variants/colors.flix', }, { - name: 'larger-examples/datalog/topsort.flix', - file: 'larger-examples/datalog/topsort.flix', + name: 'larger-examples/restrictable-variants/sequences.flix', + file: 'larger-examples/restrictable-variants/sequences.flix', }, { - name: 'larger-examples/datalog/two-sat.flix', - file: 'larger-examples/datalog/two-sat.flix', + name: 'larger-examples/simple-card-game.flix', + file: 'larger-examples/simple-card-game.flix', }, { - name: 'larger-examples/datalog/ford-fulkerson.flix', - file: 'larger-examples/datalog/ford-fulkerson.flix', + name: 'larger-examples/using-get-opt.flix', + file: 'larger-examples/using-get-opt.flix', }, { - name: 'larger-examples/datalog/stratifier.flix', - file: 'larger-examples/datalog/stratifier.flix', + name: 'misc/named-arguments.flix', + file: 'misc/named-arguments.flix', }, { - name: 'larger-examples/datalog/drivable.flix', - file: 'larger-examples/datalog/drivable.flix', + name: 'misc/type-aliases.flix', + file: 'misc/type-aliases.flix', }, { - name: 'larger-examples/restrictable-variants/colors.flix', - file: 'larger-examples/restrictable-variants/colors.flix', + name: 'misc/type-level-programming/track-list-emptiness-with-type-level-booleans.flix', + file: 'misc/type-level-programming/track-list-emptiness-with-type-level-booleans.flix', }, { - name: 'larger-examples/restrictable-variants/boolean-formulas.flix', - file: 'larger-examples/restrictable-variants/boolean-formulas.flix', + name: 'misc/type-level-programming/type-level-programming-4bit-adder.flix', + file: 'misc/type-level-programming/type-level-programming-4bit-adder.flix', }, { - name: 'larger-examples/restrictable-variants/sequences.flix', - file: 'larger-examples/restrictable-variants/sequences.flix', + name: 'misc/type-level-programming/type-level-programming-demorgan.flix', + file: 'misc/type-level-programming/type-level-programming-demorgan.flix', }, { - name: 'larger-examples/program-analysis/IDE.flix', - file: 'larger-examples/program-analysis/IDE.flix', + name: 'misc/type-level-programming/type-level-programming-eager-lazy-list.flix', + file: 'misc/type-level-programming/type-level-programming-eager-lazy-list.flix', }, { - name: 'larger-examples/program-analysis/SUopt.flix', - file: 'larger-examples/program-analysis/SUopt.flix', + name: 'misc/type-level-programming/type-level-programming-even-odd-list.flix', + file: 'misc/type-level-programming/type-level-programming-even-odd-list.flix', }, { - name: 'larger-examples/program-analysis/IFDS.flix', - file: 'larger-examples/program-analysis/IFDS.flix', + name: 'misc/type-level-programming/type-level-programming-string-sanitization.flix', + file: 'misc/type-level-programming/type-level-programming-string-sanitization.flix', }, { - name: 'larger-examples/program-analysis/domains/Interval.flix', - file: 'larger-examples/program-analysis/domains/Interval.flix', + name: 'modules/companion-module-effect.flix', + file: 'modules/companion-module-effect.flix', }, { - name: 'larger-examples/program-analysis/domains/ConstantSign.flix', - file: 'larger-examples/program-analysis/domains/ConstantSign.flix', + name: 'modules/companion-module-enum.flix', + file: 'modules/companion-module-enum.flix', }, { - name: 'larger-examples/program-analysis/domains/Sign.flix', - file: 'larger-examples/program-analysis/domains/Sign.flix', + name: 'modules/companion-module-struct.flix', + file: 'modules/companion-module-struct.flix', }, { - name: 'larger-examples/program-analysis/domains/IntervalAlt.flix', - file: 'larger-examples/program-analysis/domains/IntervalAlt.flix', + name: 'modules/companion-module-trait.flix', + file: 'modules/companion-module-trait.flix', }, { - name: 'larger-examples/program-analysis/domains/ConstantParity.flix', - file: 'larger-examples/program-analysis/domains/ConstantParity.flix', + name: 'modules/declaring-a-module.flix', + file: 'modules/declaring-a-module.flix', }, { - name: 'larger-examples/program-analysis/domains/StrictSign.flix', - file: 'larger-examples/program-analysis/domains/StrictSign.flix', + name: 'modules/use-from-a-module-locally.flix', + file: 'modules/use-from-a-module-locally.flix', }, { - name: 'larger-examples/program-analysis/domains/Mod3.flix', - file: 'larger-examples/program-analysis/domains/Mod3.flix', + name: 'modules/use-from-a-module.flix', + file: 'modules/use-from-a-module.flix', }, { - name: 'larger-examples/program-analysis/domains/Constant.flix', - file: 'larger-examples/program-analysis/domains/Constant.flix', + name: 'package-manager/hello-library/src/HelloLibrary.flix', + file: 'package-manager/hello-library/src/HelloLibrary.flix', }, { - name: 'larger-examples/program-analysis/domains/Parity.flix', - file: 'larger-examples/program-analysis/domains/Parity.flix', + name: 'package-manager/hello-library/test/TestHelloLibrary.flix', + file: 'package-manager/hello-library/test/TestHelloLibrary.flix', }, { - name: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', - file: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', + name: 'package-manager/hello-world/src/Main.flix', + file: 'package-manager/hello-world/src/Main.flix', }, { - name: 'larger-examples/program-analysis/domains/ParitySign.flix', - file: 'larger-examples/program-analysis/domains/ParitySign.flix', + name: 'package-manager/hello-world/test/TestMain.flix', + file: 'package-manager/hello-world/test/TestMain.flix', }, { - name: 'larger-examples/program-analysis/domains/Belnap.flix', - file: 'larger-examples/program-analysis/domains/Belnap.flix', + name: 'package-manager/minimal-project/src/Main.flix', + file: 'package-manager/minimal-project/src/Main.flix', }, { - name: 'fixpoints/railroad-network.flix', - file: 'fixpoints/railroad-network.flix', + name: 'package-manager/project-with-deps/src/Main.flix', + file: 'package-manager/project-with-deps/src/Main.flix', }, { - name: 'fixpoints/pipelines-of-fixpoint-computations.flix', - file: 'fixpoints/pipelines-of-fixpoint-computations.flix', + name: 'package-manager/project-with-deps/test/TestMain.flix', + file: 'package-manager/project-with-deps/test/TestMain.flix', }, { - name: 'fixpoints/compiler-puzzle.flix', - file: 'fixpoints/compiler-puzzle.flix', + name: 'records/polymorphic-record-extension-and-restriction.flix', + file: 'records/polymorphic-record-extension-and-restriction.flix', }, { - name: 'fixpoints/polymorphic-first-class-constraints.flix', - file: 'fixpoints/polymorphic-first-class-constraints.flix', + name: 'records/polymorphic-record-update.flix', + file: 'records/polymorphic-record-update.flix', }, { - name: 'fixpoints/first-class-constraints-and-fixpoints.flix', - file: 'fixpoints/first-class-constraints-and-fixpoints.flix', + name: 'records/record-construction-and-use.flix', + file: 'records/record-construction-and-use.flix', }, { - name: 'modules/use-from-a-module-locally.flix', - file: 'modules/use-from-a-module-locally.flix', + name: 'records/the-ast-typing-problem-with-polymorphic-records.flix', + file: 'records/the-ast-typing-problem-with-polymorphic-records.flix', }, { - name: 'modules/declaring-a-module.flix', - file: 'modules/declaring-a-module.flix', + name: 'structs/struct-person.flix', + file: 'structs/struct-person.flix', }, { - name: 'modules/use-from-a-module.flix', - file: 'modules/use-from-a-module.flix', + name: 'structs/struct-tree-monadic.flix', + file: 'structs/struct-tree-monadic.flix', }, { - name: 'modules/companion-module-effect.flix', - file: 'modules/companion-module-effect.flix', + name: 'structs/struct-tree.flix', + file: 'structs/struct-tree.flix', }, { - name: 'modules/companion-module-struct.flix', - file: 'modules/companion-module-struct.flix', + name: 'structs/structs-and-parametric-polymorphism.flix', + file: 'structs/structs-and-parametric-polymorphism.flix', }, { - name: 'modules/companion-module-trait.flix', - file: 'modules/companion-module-trait.flix', + name: 'traits/declaring-a-trait-with-instances.flix', + file: 'traits/declaring-a-trait-with-instances.flix', }, { - name: 'modules/companion-module-enum.flix', - file: 'modules/companion-module-enum.flix', + name: 'traits/deriving-traits-automatically.flix', + file: 'traits/deriving-traits-automatically.flix', + }, + { + name: 'traits/trait-with-associated-effect.flix', + file: 'traits/trait-with-associated-effect.flix', + }, + { + name: 'traits/trait-with-associated-type.flix', + file: 'traits/trait-with-associated-type.flix', + }, + { + name: 'traits/trait-with-higher-kinded-type.flix', + file: 'traits/trait-with-higher-kinded-type.flix', } ] From f28b4ed87ea4f0adc34c50966390d1ca37bdd9e9 Mon Sep 17 00:00:00 2001 From: Jakob Schneider <60233376+jaschdoc@users.noreply.github.com> Date: Tue, 29 Apr 2025 19:00:44 +0200 Subject: [PATCH 3/3] remove larger examples --- build-scripts/sampleFiles.mjs | 180 ---------------------------------- 1 file changed, 180 deletions(-) diff --git a/build-scripts/sampleFiles.mjs b/build-scripts/sampleFiles.mjs index 73ef2c7..c9e9ed5 100644 --- a/build-scripts/sampleFiles.mjs +++ b/build-scripts/sampleFiles.mjs @@ -185,186 +185,6 @@ export const sampleFiles = [ name: 'interoperability/swing/swing-dialog.flix', file: 'interoperability/swing/swing-dialog.flix', }, - { - name: 'larger-examples/FloydWarshall.flix', - file: 'larger-examples/FloydWarshall.flix', - }, - { - name: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', - file: 'larger-examples/an-interpreter-for-a-trivial-expression-language.flix', - }, - { - name: 'larger-examples/datalog/class-hierarchy-analysis.flix', - file: 'larger-examples/datalog/class-hierarchy-analysis.flix', - }, - { - name: 'larger-examples/datalog/connect-graph.flix', - file: 'larger-examples/datalog/connect-graph.flix', - }, - { - name: 'larger-examples/datalog/delivery-date.flix', - file: 'larger-examples/datalog/delivery-date.flix', - }, - { - name: 'larger-examples/datalog/drivable-speed.flix', - file: 'larger-examples/datalog/drivable-speed.flix', - }, - { - name: 'larger-examples/datalog/drivable.flix', - file: 'larger-examples/datalog/drivable.flix', - }, - { - name: 'larger-examples/datalog/ford-fulkerson.flix', - file: 'larger-examples/datalog/ford-fulkerson.flix', - }, - { - name: 'larger-examples/datalog/friend-suggestions.flix', - file: 'larger-examples/datalog/friend-suggestions.flix', - }, - { - name: 'larger-examples/datalog/half-siblings.flix', - file: 'larger-examples/datalog/half-siblings.flix', - }, - { - name: 'larger-examples/datalog/heirs-and-usurpers.flix', - file: 'larger-examples/datalog/heirs-and-usurpers.flix', - }, - { - name: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', - file: 'larger-examples/datalog/pairwise-acyclic-graphs.flix', - }, - { - name: 'larger-examples/datalog/palindrome.flix', - file: 'larger-examples/datalog/palindrome.flix', - }, - { - name: 'larger-examples/datalog/sequence.flix', - file: 'larger-examples/datalog/sequence.flix', - }, - { - name: 'larger-examples/datalog/single-source-shortest-distance.flix', - file: 'larger-examples/datalog/single-source-shortest-distance.flix', - }, - { - name: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', - file: 'larger-examples/datalog/single-source-shortest-path-arbitrary.flix', - }, - { - name: 'larger-examples/datalog/single-source-shortest-paths.flix', - file: 'larger-examples/datalog/single-source-shortest-paths.flix', - }, - { - name: 'larger-examples/datalog/stratifier.flix', - file: 'larger-examples/datalog/stratifier.flix', - }, - { - name: 'larger-examples/datalog/topsort.flix', - file: 'larger-examples/datalog/topsort.flix', - }, - { - name: 'larger-examples/datalog/travelling-with-preference.flix', - file: 'larger-examples/datalog/travelling-with-preference.flix', - }, - { - name: 'larger-examples/datalog/two-sat.flix', - file: 'larger-examples/datalog/two-sat.flix', - }, - { - name: 'larger-examples/datalog/unconnected-roads.flix', - file: 'larger-examples/datalog/unconnected-roads.flix', - }, - { - name: 'larger-examples/interpreter.flix', - file: 'larger-examples/interpreter.flix', - }, - { - name: 'larger-examples/introduction.flix', - file: 'larger-examples/introduction.flix', - }, - { - name: 'larger-examples/lambda-calculus.flix', - file: 'larger-examples/lambda-calculus.flix', - }, - { - name: 'larger-examples/program-analysis/IDE.flix', - file: 'larger-examples/program-analysis/IDE.flix', - }, - { - name: 'larger-examples/program-analysis/IFDS.flix', - file: 'larger-examples/program-analysis/IFDS.flix', - }, - { - name: 'larger-examples/program-analysis/SUopt.flix', - file: 'larger-examples/program-analysis/SUopt.flix', - }, - { - name: 'larger-examples/program-analysis/domains/Belnap.flix', - file: 'larger-examples/program-analysis/domains/Belnap.flix', - }, - { - name: 'larger-examples/program-analysis/domains/Constant.flix', - file: 'larger-examples/program-analysis/domains/Constant.flix', - }, - { - name: 'larger-examples/program-analysis/domains/ConstantParity.flix', - file: 'larger-examples/program-analysis/domains/ConstantParity.flix', - }, - { - name: 'larger-examples/program-analysis/domains/ConstantSign.flix', - file: 'larger-examples/program-analysis/domains/ConstantSign.flix', - }, - { - name: 'larger-examples/program-analysis/domains/Interval.flix', - file: 'larger-examples/program-analysis/domains/Interval.flix', - }, - { - name: 'larger-examples/program-analysis/domains/IntervalAlt.flix', - file: 'larger-examples/program-analysis/domains/IntervalAlt.flix', - }, - { - name: 'larger-examples/program-analysis/domains/Mod3.flix', - file: 'larger-examples/program-analysis/domains/Mod3.flix', - }, - { - name: 'larger-examples/program-analysis/domains/Parity.flix', - file: 'larger-examples/program-analysis/domains/Parity.flix', - }, - { - name: 'larger-examples/program-analysis/domains/ParitySign.flix', - file: 'larger-examples/program-analysis/domains/ParitySign.flix', - }, - { - name: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', - file: 'larger-examples/program-analysis/domains/PrefixSuffix.flix', - }, - { - name: 'larger-examples/program-analysis/domains/Sign.flix', - file: 'larger-examples/program-analysis/domains/Sign.flix', - }, - { - name: 'larger-examples/program-analysis/domains/StrictSign.flix', - file: 'larger-examples/program-analysis/domains/StrictSign.flix', - }, - { - name: 'larger-examples/restrictable-variants/boolean-formulas.flix', - file: 'larger-examples/restrictable-variants/boolean-formulas.flix', - }, - { - name: 'larger-examples/restrictable-variants/colors.flix', - file: 'larger-examples/restrictable-variants/colors.flix', - }, - { - name: 'larger-examples/restrictable-variants/sequences.flix', - file: 'larger-examples/restrictable-variants/sequences.flix', - }, - { - name: 'larger-examples/simple-card-game.flix', - file: 'larger-examples/simple-card-game.flix', - }, - { - name: 'larger-examples/using-get-opt.flix', - file: 'larger-examples/using-get-opt.flix', - }, { name: 'misc/named-arguments.flix', file: 'misc/named-arguments.flix',