1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-01 00:04:58 +03:00
juvix/tests/negative
Jan Mas Rovira 34719bbc4d
Report termination errors after typechecking (#2318)
- Closes #2293.
- Closes #2319 

I've added an effect for termination. It keeps track of which functions
failed the termination checker, which is run just after translating to
Internal. During typechecking, non-terminating functions are not
normalized. After typechecking, if there is at least one function which
failed the termination checker, an error is reported.
Additionally, we now properly check for termination of functions defined
in a let expression in the repl.
2023-08-30 16:38:59 +02:00
..
230 Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
258 Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
265 Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
BindGroupConflict Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Dependencies Fix dependencies suggestion in missing module error (#2024) 2023-04-22 18:15:38 +01:00
ImportCycle Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
Internal Report termination errors after typechecking (#2318) 2023-08-30 16:38:59 +02:00
issue1337 Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
issue1344 Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
issue1700 Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
NoDependencies Fix dependencies suggestion in missing module error (#2024) 2023-04-22 18:15:38 +01:00
StdlibConflict Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Termination Report termination errors after typechecking (#2318) 2023-08-30 16:38:59 +02:00
UsingHiding Scope check symbols inside using {..} and hiding {..} (#2108) 2023-05-22 11:41:13 +02:00
AliasCycle.juvix Aliasing (#2301) 2023-08-25 15:28:58 +02:00
AmbiguousConstructor.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
AmbiguousExport.juvix Change syntax for ind. data types and forbid the empty data type (#1684) 2023-01-03 13:49:04 +01:00
AmbiguousModule.juvix Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
AmbiguousSymbol.juvix Change syntax for ind. data types and forbid the empty data type (#1684) 2023-01-03 13:49:04 +01:00
AppLeftImplicit.juvix Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
AsPatternAlias.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
ConstructorExpectedLeftApplication.juvix Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
DanglingJudoc.juvix Add dangling judoc error (#2099) 2023-05-16 15:39:43 +02:00
DuplicateArgument.juvix Named arguments (#2250) 2023-07-18 10:32:34 +01:00
DuplicateInductiveParameterName.juvix Named arguments (#2250) 2023-07-18 10:32:34 +01:00
DuplicateOperator.juvix User-friendly operator declaration syntax (#2270) 2023-08-09 18:15:51 +02:00
ImplicitPatternLeftApplication.juvix Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
IncomparablePrecedences.juvix Check for incomparable precedences (#2289) 2023-08-16 16:33:29 +02:00
InfixError.juvix User-friendly operator declaration syntax (#2270) 2023-08-09 18:15:51 +02:00
InfixErrorP.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Iterators1.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Iterators2.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Iterators3.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Iterators4.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
Iterators5.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
juvix.yaml Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
MissingArgument.juvix Named arguments (#2250) 2023-07-18 10:32:34 +01:00
ModuleNotInScope.juvix Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
MultipleDeclarations.juvix Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
MultipleExportConflict.juvix Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
NestedAsPatterns.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
NestedPatternBraces.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
NoNamedArguments.juvix Record updates (#2263) 2023-08-07 12:35:36 +02:00
NotARecord.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
NotInScope.juvix Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
PragmasDuplicateKeys.juvix Error on duplicate keys in YAML (#2290) 2023-08-11 09:22:22 +01:00
PragmasFormat.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
PragmasYAML.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
QualSymNotInScope.juvix Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00
RepeatedFieldPattern.juvix Record patterns (#2271) 2023-08-08 16:01:20 +02:00
RepeatedNameSignature.juvix Named arguments (#2250) 2023-07-18 10:32:34 +01:00
Tab.juvix Disallow tab characters as spaces (#1523) 2022-09-07 13:59:41 +02:00
UnexpectedArgument.juvix Named arguments (#2250) 2023-07-18 10:32:34 +01:00
UnexpectedArgumentWildcard.juvix Named arguments (#2250) 2023-07-18 10:32:34 +01:00
UnexpectedFieldUpdate.juvix Remove old function syntax (#2305) 2023-08-24 16:24:47 +02:00
UnusedOperatorDef.juvix User-friendly operator declaration syntax (#2270) 2023-08-09 18:15:51 +02:00
WrongModuleName.juvix Rename MiniJuvix to Juvix (#259) 2022-07-08 13:59:45 +02:00