Releases: Safe-DS/DSL
Releases · Safe-DS/DSL
v0.6.0
v0.5.1
v0.5.0
v0.4.0
0.4.0 (2023-11-22)
Features
- add endless recursion as an impurity reason (#788) (98acdde)
- call graph computer (without closures) (#782) (34bf182)
- check types of constant parameters (#775) (0a02850), closes #668
- check whether purity of callable parameters of functions is set properly (#777) (f8fd907), closes #732
- compute purity/side effects for expressions (#785) (9ed1c08), closes #15
- compute types of parameters of lambdas that are passed as default value (#780) (01a5c03)
- error if call leads to infinite recursion (#783) (f7eabd8), closes #667
- error if impure callable is passed to pure parameter (#792) (5536a4a), closes #730
- error if parameter name in impurity reason is invalid (#772) (faa2012), closes #741
- error if purity of functions is not specified (#768) (a15b0af), closes #731
- filter statements without effect for code generation (#786) (cd4f2c1), closes #542
- improve location of warning about duplicate annotation target (#771) (87d2a48)
- info if
@Pure
annotation is called on parameter of pure function (#778) (c15c70e) - purity computer (#784) (b09bb3a)
- remove type parameters from enum variants (#767) (cb6556a), closes #766
- short-circuit
and
,or
, and?:
if RHS has no side effects (#789) (9d9f4b7), closes #15 - streamline purity information (#779) (75a9e5b)
- stricter definition of
const
parameters (#776) (73a0d4e) - update snippets for functions and methods (#769) (061d3b1)
- validate impurity reasons of overriding methods (#774) (71fc5bd), closes #665
- warn about duplicate impurity reasons (#773) (8344356), closes #733
- warn if statement has no effect (#787) (6f45dc4), closes #664
Bug Fixes
v0.3.0
0.3.0 (2023-11-12)
Features
- annotations for the purity of functions (#709) (9d342e4), closes #559
- call hierarchy provider (#735) (168d098), closes #680
- compute type of elvis operators with nullable left operand (#715) (376b083), closes #541
- customize rendering of
@param
,@result
, and@typeParam
tags (#764) (e049148), closes #669 - ensure an overriding member matches the overridden one (#758) (a698a6a), closes #639
- error if callable type is used in wrong context (#763) (9b1522f), closes #713
- error if type parameter is used in nested named type declaration (#750) (52374aa), closes #748
- info if overriding member is not needed (#759) (23b340e), closes #25
- mark constraint lists as experimental (#752) (d48e1e0), closes #18
- mark type parameter lists and type argument lists as experimental (#755) (f1a052a), closes #753
- mark unused internal/private segments as unnecessary (#710) (3ba8698), closes #682
- minor improvements for purity info (#728) (8d59607)
- partially evaluate lambdas and segments (#734) (c40347c), closes #603
- scoping for inherited members (#706) (4518aee), closes #540
- scoping for member access on literals and literal types (#754) (e60e456), closes #80
- scoping for references to containing declarations (#708) (3762c36), closes #540
- show an error if a pure parameter does not have a callable type (#736) (6c52868), closes #729
- show error if own declaration has same name as core one (#762) (8cb2120), closes #760
- signature help (#724) (ed33676), closes #24
- Source Maps for Code Generation (#714) (64b9e07), closes #30
- tooltips for inlay hints (#721) (3e71cad)
- type checker service (#722) (daad5c4), closes #666
- type checking (#723) (a9eb3bb), closes #666
- type checking for list & map literals (#751) (dc14223), closes #712
- type hierarchy provider (#737) (9fd5f0c), closes #681
- VS Code snippets (#757) (fd6f432), closes #756
Bug Fixes
v0.2.0
0.2.0 (2023-10-25)
This is the first release that uses Langium instead of Xtext. A few features from the old version are still missing, but generally the user experience is massively improved, so we opted to release the current status right now.
Features
const
modifier to replace@Constant
annotation (#618) (ea4a9ba), closes #558- allow instance and static members of classes to have the same name (#583) (1b04905)
- automatic formatting in Langium (#526) (922af22), closes #31 #33 #513 #433
- basic implementation of partial evaluator service (#649) (10ed8bf), closes #603
- built-in library (#557) (7998eb1), closes #433
- check
@PythonName
and@PythonModule
(#641) (5a9dcbb), closes #543 - check context of union types (#677) (e846b59), closes #675
- check template expressions inside
@PythonCall
(#686) (09bfb38) - comment provider (#688) (e4a1b35), closes #669
- compute types of lambdas that are passed as arguments (#604) (25c8707), closes #541
- document symbol provider (#659) (fe0c8d5)
- documentation provider (#689) (ff70b07), closes #669
- ensure that all assignees get a value (#630) (e8e2bf6), closes #543
- error if
@PythonName
and@PythonCall
are set on a function (#685) (d22c446) - error if argument lists are missing (#642) (f5ee1bd), closes #543
- error if class or enum are statically referenced (#643) (8b076e7), closes #543
- error if divisor is zero (#644) (9af3b81), closes #543
- error if function pointers are used (#629) (01933b9), closes #565 #543
- error if lambda is used in wrong context (#647) (2d2ccc6), closes #409 #543
- error if left operand of type parameter constraint does not belong to declaration with constraint (#571) (cba3abf), closes #562
- error if member access must be null safe but isn't (#626) (077daff), closes #543
- error if names are not unique (part 2) (#640) (38d1181), closes #543
- error if pipeline file is in a
safeds.xy
package (#673) (867bae3), closes #671 - error if placeholder is alias for parameter or placeholder (#628) (b99ab25), closes #564 #543
- error if simple names of builtin declarations collide (#678) (275ad5e), closes #672
- error if single use annotations are used multiple times (#631) (17a5b7a), closes #543
- error if type parameters don't have sufficient context (#687) (ea8fe29)
- error if value assigned to constant parameters is not constant (#646) (097764d), closes #543
- error if wildcard import has alias (#574) (4ba7873), closes #543
- extensions for the
NodeMapper
(#606) (4fd8d86) - generation (#634) (c52b5e6), closes #542
- handle backticks surrounding IDs (#622) (608e470), closes #579
- improved TextMate grammar (#623) (d7ff0e2)
- info if elvis operator is unnecessary (#645) (dcc05ce), closes #543
- info if import alias can be removed (#637) (83936b8), closes #636
- inlay hint provider (#683) (f23fa29), closes #679
- intermediate type computer (#600) (8d68a42), closes #541
- Langium grammar (#470) (c439c19), closes #433
- list & map literals (#619) (e3b2870), closes #615 #616
- mark union types as experimental (#676) ([4656c25](https://github.com/S...