Fedor Isakov
|
2078606204
|
Fitch sample: fix relation name constraint.
|
2019-01-06 16:05:52 +01:00 |
Fedor Isakov
|
cc4b335286
|
Introduce checking for instances of RuntimeErrorType during tests. Refactor test typechecking launcher.
|
2019-01-04 17:47:44 +01:00 |
Fedor Isakov
|
361fff7ec5
|
Drop usages of ListLiteral in tests. Testing BL typesystem.
|
2019-01-04 17:47:02 +01:00 |
Fedor Isakov
|
f855e5fa72
|
BL typesystem: drop usages of ListLiteral, replace with ListNode. Fix broken type inference of method calls and constructor invocations. A few minor fixes.
|
2019-01-04 17:46:37 +01:00 |
Fedor Isakov
|
b5552d5cd3
|
Cleanup module dependencies
|
2019-01-03 17:16:47 +01:00 |
Fedor Isakov
|
2fd4545be4
|
BL typechecking: simplifying promote (subclassing relation), implement LUB as raw types intersection, better support for raw classier types
|
2019-01-03 17:16:47 +01:00 |
Fedor Isakov
|
9a99a440ec
|
Testing BL typesystem. Disable Huge test when not in CI.
|
2019-01-03 17:16:47 +01:00 |
Fedor Isakov
|
b4693aac3c
|
Switch to the new conreactor version.
|
2018-12-28 11:57:27 +01:00 |
Fedor Isakov
|
cb1ea46af7
|
Typechecking templates: specify data types for logicals that are used for values instead of term.
|
2018-12-28 11:57:26 +01:00 |
Fedor Isakov
|
d64f469b19
|
Add tests for fitch sample project
|
2018-12-14 14:55:23 +01:00 |
grigorii.kirgizov
|
54af10dad0
|
add unquantified type annotations to lambda calculus
|
2018-12-05 16:38:32 +01:00 |
Fedor Isakov
|
debaa390e2
|
Tests of BL typechecking features. Primitive types.
|
2018-12-03 16:59:16 +01:00 |
Fedor Isakov
|
2205639acf
|
Add tests to build script for lambdacalc
|
2018-11-29 13:23:48 +01:00 |
Fedor Isakov
|
a1bd3024a5
|
Tests for lambdacalc sample. Annotate places where errors are expected.
|
2018-11-29 12:51:33 +01:00 |
Fedor Isakov
|
39f7ff6838
|
Ensure local type inference works in lambdacalc sample. Ensure type variable numbers are unique withing top Clause instance.
|
2018-11-29 12:16:38 +01:00 |
Fedor Isakov
|
f0bb068750
|
Fix instances of removed concepts and broken API calls after migration to 2018.3. Rebuild project.
|
2018-11-28 16:48:59 +01:00 |
Fedor Isakov
|
19ce84f7ef
|
Switch to 2018.3 RC. Apply all migrations.
|
2018-11-28 16:48:59 +01:00 |
Fedor Isakov
|
e9d5a05900
|
Typechecking BL: reimplement type inference, implement and test various missing features. Cleann up and restructure code.
|
2018-11-28 14:27:51 +01:00 |
Fedor Isakov
|
06f95c5870
|
Update build solution to reflect latest changes.
|
2018-11-04 13:10:40 +01:00 |
Fedor Isakov
|
18fbdbd50b
|
Use error annotation in tests instead of simply relying on typechecking failure.
|
2018-11-04 13:10:40 +01:00 |
Fedor Isakov
|
6788bcf7a1
|
Switch to latest reactor, update the API calls. Support EvaluationFailure and FailureHandler.
|
2018-11-04 13:10:40 +01:00 |
Fedor Isakov
|
075b34e24d
|
Replacing usages of deprecated concepts. Minor fixes.
|
2018-09-11 17:01:45 +02:00 |
Fedor Isakov
|
f12965898f
|
Remove usages of deprecated stuff in typechecking rules.
|
2018-09-11 15:37:39 +02:00 |
Fedor Isakov
|
0819ef0a40
|
Add a reference to the article on typechecking STLC to readme
|
2018-08-19 17:32:59 +02:00 |
Fedor Isakov
|
27becb70a1
|
Fix the wording in fitch sample README
|
2018-08-19 17:32:59 +02:00 |
Fedor Isakov
|
8cacd9c326
|
Ensure terms are copied "properly" without breaking Path's contract. Pending optimization.
|
2018-08-07 11:50:05 +02:00 |
Fedor Isakov
|
98dfe30756
|
Resaved all models
|
2018-08-03 11:48:36 +02:00 |
Fedor Isakov
|
d26805db7d
|
Switch to the latest version of reactor lib 0.9.1
|
2018-08-03 11:48:36 +02:00 |
Fedor Isakov
|
e2a68b4012
|
Fixes necessary for compatibility with MPS 2018.2
|
2018-07-22 16:51:10 +02:00 |
Fedor Isakov
|
1cb1472184
|
Name solutions and models consistently in samples (mpscore). Drop empty obsolete test solution.
|
2018-07-22 14:48:13 +02:00 |
Fedor Isakov
|
7c1cb3b684
|
Name solutions and models consistently in samples (fitch)
|
2018-07-22 14:48:12 +02:00 |
Fedor Isakov
|
a240f129c2
|
Name solutions and models consistently in samples (lambdacalc)
|
2018-07-22 11:26:12 +02:00 |
Fedor Isakov
|
0bacffb611
|
Move type setting operation to typechecking lang.
|
2018-07-22 11:09:49 +02:00 |
Fedor Isakov
|
430b081085
|
Rename sandbox to demo solution in fitch sample.
|
2018-07-21 13:50:54 +02:00 |
Fedor Isakov
|
689ae4776c
|
Give more sensible name to a sample demo solution and model.
|
2018-07-21 13:49:21 +02:00 |
Fedor Isakov
|
c7cc97fffb
|
Rename reporting runtim solution.
|
2018-07-21 13:29:40 +02:00 |
Fedor Isakov
|
6e00dcd58c
|
Fix handler activating constraints declared elsewhere.
|
2018-07-21 13:29:40 +02:00 |
Fedor Isakov
|
ea9919f38a
|
Bring the hierarchy of DataForm concepts in line with the runtime.
Merge DataForm constructors into logic language.
Repackaging logic runtime.
Drop obsolete code.
|
2018-07-21 13:29:22 +02:00 |
Fedor Isakov
|
3791a3b216
|
Auto-updated descriptors.
|
2018-07-20 10:51:53 +02:00 |
Fedor Isakov
|
814baf4bce
|
Update readme files.
|
2018-07-19 15:12:34 +02:00 |
Fedor Isakov
|
e29a0576e2
|
Rename the root project and artifacts to "coderules".
|
2018-07-18 15:54:52 +02:00 |
Fedor Isakov
|
d5b27ac6e2
|
Move sandbox solution to "solutions" folder.
|
2018-07-18 15:54:52 +02:00 |
Fedor Isakov
|
e03cd48125
|
Add fitch sample to the common build.
|
2018-07-18 15:54:52 +02:00 |
Fedor Isakov
|
061e75f3f5
|
Auto-updated files after switching to the latest plugin.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
776ba9282b
|
Re-save everything after switching to the newest typechecking plugin.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
b87b71f07c
|
Automatically migrated to the latest typechecking plugin.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
124cc3cd93
|
Switch to the latest typechecking plugin. Drop auto-triggering of checkAll constraint, use query instead. Switch to single stage.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
adfae88953
|
Fix imports and establish extends relation among handlers.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
7107dce378
|
Applied the migration.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
dc662b97b9
|
Convert to reporting expressions, drop obsolete constraints.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
9f1632b018
|
Updated to latest MPS and typechecking plugin.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
2aa168e32e
|
Docs on Herbrand and First Order Logics
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
72b2f0d110
|
Fix the Equality Introduction rule.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
f070e7a34b
|
Implementation of First Order logic.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
25d0238155
|
Implementation of Herbrand logic, an example.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
848df81dd4
|
Refactor out abstract proof, provide a mechanism to filter passing rules by the proof kind.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
5a550836b6
|
A couple of renamings to straighten the nomenclature.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
908e557d72
|
A language for Herbrand logic.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
e3d2ac503b
|
Move inference rules to propositional logic language.
|
2018-07-18 15:54:51 +02:00 |
Fedor Isakov
|
e2ceb9b500
|
Some refactorings and renamings in preparation for intruduction of Herbrand logic language.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
aa3837cd72
|
Separate logic-related stuff from proof-related.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
929a017704
|
Drop *_old stuff and the migration logs.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
cd0e7cc1b1
|
Introduce a language for propositional logic. Move relevant stuff there.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
5353654e31
|
Migrate to MPS 2017.3.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
db40250922
|
Proofread README file.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
1d272127f9
|
Update the instructions for installing the typechecking plugin.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
8683c18479
|
Completing the documentation. Fixed a sample. Some cosmetic improvements.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
197241d37d
|
A few more samples.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
4a9b422acd
|
Add README file.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
08350e6c68
|
Cosmetic changes, some comments.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
15d5a08bce
|
Completing the typesystem (OrElim, IffIntro, IffElim). Another couple of samples. Fix the Reiteration editor.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
64c0318489
|
Completing the typesystem (IfElim, AndIntro, AndElim).
Basis for IfIntro is a SubProof.
Fix goal validation.
Editor fixes.
Another couple of samples.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
b4f3ae1ef6
|
Introduce reiteration. Assumption to be used only as a subproof start.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
4c42629555
|
Rewritten the proof checker without the typeOf constraint, only assign type to the goal.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
784a1cedd0
|
Refactor "conclusion" out to Reasoning.
Add typechecking (incomplete).
Optimize the editor.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
d09373eaa9
|
Initial import
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
0d4d61d5f9
|
Change the sample project name to lambdacalc.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
78a0601625
|
Include lambdacalc sample into the common build.
|
2018-07-18 15:54:50 +02:00 |
Fedor Isakov
|
95d836df85
|
Auto-update after switching to the latest plugin.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
7ae9c936a6
|
Re-save everything after switching to the newest typechecking plugin.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
4e669b5412
|
Automatically migrated to the latest typechecking plugin. Drop second stage.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
f6121832a7
|
Switch to the latest typechecking plugin. Introduce Typecheck query. Drop automatic activation of "recoverAll".
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
08beb2ce13
|
Drop usages of a deprecated concept, replace with custom constraint. Fix imports.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
67ebe51be1
|
Applied the migration.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
e140342a4c
|
Replace custom constraints with reporting operations.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
2e3cb6278c
|
Migrated to the latest MPS release and typechecking plugin.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
d0b457dc4f
|
Migrated to the latest MPS release.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
2be2fbc58a
|
Switch to the latest plugin version. Clean up the term definitions.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
893b130933
|
Migrate to the latest typechecking plugin.
Move constraint declarations to the handlers, drop constraints root.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
3a186e38f4
|
Drop unused code.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
55b9e903a1
|
Switch to using CopyItem instead of ad-hoc solution, drop unused Util class.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
f8fec5c44f
|
Update README.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
231f92707f
|
Drop unused class. Drop unnecessary utility method, replace ad-hoc code with valueOf and equals predicate.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
791df0fe19
|
Replace ad-hoc logic value access with valueOf. Replace static method calls with equals constraints. Remove dead code.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
0d28fd939d
|
Switch to the latest release of typechecking plugin, apply migrations, manually update the logical data types.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
36e6a10e20
|
Updated to the latest release of typechecking plugin: applied migrations, manual fix of term getter blocks.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
07d31d93f6
|
Updated to the latest version of typechecking plugin, migrated the code to work correctly.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
3a82312055
|
Fix the typing rule for if-then-else
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
cbc3c5b106
|
Add back the generalization of the let-bound variable type.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
2041873c35
|
Add readme file.
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
58c4272111
|
Rename the language to sample.lambdacalc
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
dee0c7b8eb
|
Fix the wrong expression (contextNode).
|
2018-07-18 15:54:49 +02:00 |
Fedor Isakov
|
2347d0c572
|
Remove unused generator.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
3d2be367a8
|
Implemented if-then-else expression.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
ec840b0ee7
|
Don't generalize the type of let-bound variable.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
9d83b265eb
|
Re-save all models after refactorings in the language.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
9a34afceaa
|
Cleaning up the code.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
54153b57a6
|
Simplify unification, drop unifies constraint, drop trace constraint.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
8a932dafa6
|
Fix operator (general recursion)
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
de688f7cd1
|
Delete unused concept
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
a1a8d4934b
|
Ensure no model check errors in the types model
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
6f1b068a7b
|
Re-save models to update resolve info.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
2b114aba55
|
Refactor the types model adopting to the latest language changes. Re-saved all models.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
68a37091ae
|
More samples
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
cb2d735528
|
Introduce Forall type. Refactor the typesystem to support forall/gen/inst, get rid of varname for every type var. Better editor.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
2f32a72527
|
Switched to the latest RC build, applied the migrations.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
cea6f82b78
|
Refactor the language structure to better reflect the syntax of lambda calculus. Forbid patterns to the left of = sign. Use VarRef and scopes. Forbid let rec.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
4338ee2a50
|
Sample fix operator.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
dcabb36044
|
Correctly identify the var's binder. Typeof rule for let..in expression.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
8f1abd0388
|
Migrated to the latest MPS EAP build.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
6b16c682e6
|
More demo using S and K combinators.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
b74a7f0927
|
Collect bound vars from preceding let clauses
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
6c16c4a8f2
|
Another example of an impossible (non-typeable) term.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
9900cd91f3
|
Report error on catching a cyclic term
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
8146709a68
|
Ensure names are assigned to all type variables
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
0d648afda8
|
S, K, and I combinators
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
1d1b00cc6a
|
Intoruce error reporting to the types aspect. Replace all obsolete constructs with the new ones.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
05f3c8fe8c
|
Cleanup the demo samples.
|
2018-07-18 15:54:48 +02:00 |
Fedor Isakov
|
81a8c4abec
|
Fix the editor. Enable type presentation as text. Bool and Var types. Fix the types aspect and adapt to the changed metamodel.
|
2018-07-18 15:54:47 +02:00 |
Fedor Isakov
|
28b4862b67
|
Fimplifying the language: allow only boolean constants. Visualize lambda abstractions. Fix application order visualization with parenthises.
|
2018-07-18 15:54:47 +02:00 |
Fedor Isakov
|
773fa2eaaa
|
Union-find for Var nodes.
|
2018-07-18 15:54:47 +02:00 |
Fedor Isakov
|
7fcb2fa333
|
Types aspect. Simple typesystem based on Hindley-Milner.
|
2018-07-18 15:54:47 +02:00 |
Fedor Isakov
|
e9c3191a59
|
Initial commit. A simple functional language with numeric and string constants, single-argument abstractions and let bindings.
|
2018-07-18 15:54:47 +02:00 |
Fedor Isakov
|
3763f3dfe8
|
README for mpscore sample.
|
2018-07-18 11:17:43 +02:00 |
Fedor Isakov
|
46b8e5153f
|
Simplify and fix controlflow sample implementation.
|
2018-07-18 10:42:32 +02:00 |
Fedor Isakov
|
63788c9cca
|
Virtual folders for project modules.
|
2018-07-18 10:42:13 +02:00 |
Fedor Isakov
|
8294e8d702
|
Switch to MPS 2018.1.5
|
2018-07-17 15:29:02 +02:00 |
Fedor Isakov
|
2d3f4126b8
|
Add a "check" task for testing all projects at once. Switch travis build to 'gradle check'.
|
2018-07-17 15:09:47 +02:00 |
Fedor Isakov
|
c12bf0d96a
|
Ensure extracted baseLanguageExt stuff can be built from command line.
|
2018-07-17 15:09:47 +02:00 |
Fedor Isakov
|
473644e389
|
Extract baseLanguageExt and its related tests to a separate project.
|
2018-07-16 18:56:36 +02:00 |
Fedor Isakov
|
4f6b8a002a
|
Auto-updated descriptors. (Again!)
|
2018-07-16 16:40:09 +02:00 |
Fedor Isakov
|
d4477c519b
|
Auto-updated descriptors.
|
2018-07-16 13:44:02 +02:00 |
Fedor Isakov
|
92c6ba3e12
|
Restructuring the project: consolidate code, moving samples away.
|
2018-07-14 17:22:07 +02:00 |