enso/tools
Pavel Marek b42e910280
sort handles incomparable values (#5998)
* Update type ascriptions in some operators in Any

* Add @GenerateUncached to AnyToTextNode.

Will be used in another node with @GenerateUncached.

* Add tests for "sort handles incomparable types"

* Vector.sort handles incomparable types

* Implement sort handling for different comparators

* Comparison operators in Any do not throw Type_Error

* Fix some issues in Ordering_Spec

* Remove the remaining comparison operator overrides for numbers.

* Consolidate all sorting functionality into a single builtin node.

* Fix warnings attachment in sort

* PrimitiveValuesComparator handles other types than primitives

* Fix byFunc calling

* on function can be called from the builtin

* Fix build of native image

* Update changelog

* Add VectorSortTest

* Builtin method should not throw DataflowError.

If yes, the message is discarded (a bug?)

* TypeOfNode may not return only Type

* UnresolvedSymbol is not supported as `on` argument to Vector.sort_builtin

* Fix docs

* Fix bigint spec in LessThanNode

* Small fixes

* Small fixes

* Nothings and Nans are sorted at the end of default comparator group.

But not at the whole end of the resulting vector.

* Fix checking of `by` parameter - now accepts functions with default arguments.

* Fix changelog formatting

* Fix imports in DebuggingEnsoTest

* Remove Array.sort_builtin

* Add comparison operators to micro-distribution

* Remove Array.sort_builtin

* Replace Incomparable_Values by Type_Error in some tests

* Add on_incomparable argument to Vector.sort_builtin

* Fix after merge - Array.sort delegates to Vector.sort

* Add more tests for problem_behavior on Vector.sort

* SortVectorNode throws only Incomparable_Values.

* Delete Collections helper class

* Add test for expected failure for custom incomparable values

* Cosmetics.

* Fix test expecting different comparators warning

* isNothing is checked via interop

* Remove TruffleLogger from SortVectorNode

* Small review refactorings

* Revert "Remove the remaining comparison operator overrides for numbers."

This reverts commit 0df66b1080.

* Improve bench_download.py tool's `--compare` functionality.

- Output table is sorted by benchmark labels.
- Do not fail when there are different benchmark labels in both runs.

* Wrap potential interop values with `HostValueToEnsoNode`

* Use alter function in Vector_Spec

* Update docs

* Invalid comparison throws Incomparable_Values rather than Type_Error

* Number comparison builtin methods return Nothing in case of incomparables
2023-04-16 16:40:12 +02:00
..
build-performance Faster dev builds; tooling for measuring build times and app performance. (#3491) 2022-06-02 19:24:18 +00:00
ci Update GraalVM to 22.3.1 (#5602) 2023-02-14 15:51:17 +00:00
enso4igv Fixing the node.js dependencies, so the VSCode plugin can be built again (#5738) 2023-02-28 13:43:26 +00:00
graphmod Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
language-server sbt runEngineDistribution ...args... to build and execute the engine (#5609) 2023-02-16 21:37:12 +00:00
legal-review Batch insert suggestions (#6189) 2023-04-06 07:47:23 +00:00
legal-review-helper Apply unified prettier style to engine codebase (#3145) 2021-11-08 16:45:29 +01:00
native-image-config-cleanup Apply unified prettier style to engine codebase (#3145) 2021-11-08 16:45:29 +01:00
performance sort handles incomparable values (#5998) 2023-04-16 16:40:12 +02:00
simple-httpbin Simple HTTPBin to replace Go equivalent (#3887) 2022-11-18 11:27:27 +00:00
simple-library-server Bump the build script (#3535) 2022-07-01 03:58:14 +02:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

Enso Tools

This folder contains various tools and utilities that aid in the development of the Enso programming language. It should not be used as a dumping ground for things that have better places, but instead is used to hold things that should be part of this repository but do not have another sensible place for them.