You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: release-notes/rascal-0-40-x-release-notes.md
+21-3Lines changed: 21 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,20 @@ In this post we report on the Rascal release 0.40.x
12
12
13
13
The public release 0.40.x follows release 0.28.x; many improvements have been made in projects that depend on the rascal interpreter and the standard library (the type checker, the VScode extensions, clair, etc.) Some of these improvements depend directly on fixes in the interpreter and additions to the standard library.
14
14
15
+
:::info
15
16
The Rascal type-checker which is available in the VScode extension is reaching maturity. The `.tpl` file format has changed, which requires everybody to throw the old ones away. The new type checker checks `.tpl` file versions and reports possible conflicts. Use `mvn clean` or remove your `bin` or `target` folders for all your projects and library projects today.
17
+
:::
18
+
19
+
:::warning
20
+
Eclipse support for Rascal will shortly be archived. After more than three years of deprecation, no more maintenance releases on the IDE plugins will be released. Also we will be archiving the git repositories of the following projects:
21
+
* rascal-eclipse
22
+
* impulse
23
+
* rascal-eclipse-libraries
24
+
25
+
Note that the Java support which is based on Eclipse JDT will remain to be supported. See also below for the new features.
26
+
27
+
Porting the Rascal LSP servers to the Eclipse LSP client would be interesting. If you are interested in contributing, we are all ears.
28
+
:::
16
29
17
30
The support for XML, JSON and HTML as exchange formats has been improved or completely rewritten. The main feature that was added was the optional `loc src` keyword field that provides the exact location of each node as it appears in the XML, HTML or JSON source text.
18
31
@@ -23,7 +36,8 @@ If `maven.repo.local` is set, then that is the root of the M2 repository. Otherw
23
36
24
37
A great deal of tests were fixed, enhanced or extended as a side-effect of the compiler project. Another visible aspect of the progress of the compiler is that now all Rascal runtime values (from vallang and beyond) now support `getFingerprint()` methods which help in optimizing pattern matching and dispatch in generated code by the compiler. These methods' return values have become a strict contract for future implementations of Rascal values, including parse trees and reified types and first-class functions.
25
38
26
-
The following issues were solved:
39
+
### The following issues were solved
40
+
27
41
* String `visit` with unicode characters had a bug
28
42
*`util::ShellExec` had some IO synchronization issues which were resolved.
29
43
* The JUnit test runners report exceptions better now.
@@ -61,6 +75,7 @@ The following issues were solved:
61
75
*[`type` constructor doesn't accept keyword parameters starting with `\` symbol](https://github.com/usethesource/rascal/issues/1991)
62
76
63
77
On the Rascal run-time engine (vallang) these issues were resolved:
78
+
64
79
*[Add \f escape in string constants back into vallang StandardTextReader](https://github.com/usethesource/vallang/issues/270)
65
80
*[StandardTextReader does not support `\f` escape while rascal does](https://github.com/usethesource/vallang/issues/268)
@@ -73,7 +88,8 @@ On the Rascal run-time engine (vallang) these issues were resolved:
73
88
*[add IString::asReader to stream _from_ strings](https://github.com/usethesource/vallang/issues/71)
74
89
75
90
76
-
Standard library maintenance:
91
+
### Standard library maintenance
92
+
77
93
* Accurate and correct parsers of Windows and Unix file paths were added to the standard library. This includes a new `unc://` resolver to accurately represent the semantics of UNC paths, and `cwdrive://` which can represent the current working directory on a given drive letter on Windows.
78
94
*`HTMLElement(loc src = |unknown:///|)` was added to position every tag from start to end via the `src` attribute.
79
95
* The documentation strings were ported from `@doc{ }` notation to `@synopsis{..}, @description{..}, @examples{..}, @benefits{..}, @pitfalls{..}` separate tags.
@@ -106,6 +122,8 @@ just generated with `parsers`.
106
122
* The `benchmark:///` resolver was removed, so was `test-temp:///`, `test-data:///` and `test-modules:///`.
107
123
* The `memory://` resolver now supports independently garbage collectible filesystems per authority name.
108
124
125
+
### Java support
126
+
109
127
The Java model has received big maintenance love and attention, including improvements to the generic M3 model:
110
128
* Bumped and upgraded to the JDT version from Eclipse 2020-03, then upgraded mapping support up to and including JLS-14.
111
129
* Up to JLS14 all new Java constructs were added to the AST and the M3 Core model. The previous standard we supported was JLS8.
@@ -131,4 +149,4 @@ that invalidated the earlier mentioned AST contract.
131
149
* Java versions are now specified as constructors of the `Language` data type, for accurate description of the JLS language level the user needs to reflect.
132
150
* M3 extraction from JVM binary class files was maintained and now also supports language features up to JLS14. In particular the Java 9 module system was added to the mapping.
133
151
* Tracebility with origin tracking was improved for both source code and binary classfile analysis, so if NPE's happen a clear cause can be printed.
0 commit comments