Enso2023
From APIDesign
(Difference between revisions)
(→Improving Language & Libraries) |
|||
| (9 intermediate revisions not shown.) | |||
| Line 12: | Line 12: | ||
** [https://github.com/enso-org/enso/pull/6384 ... on (GraalVM EE)] | ** [https://github.com/enso-org/enso/pull/6384 ... on (GraalVM EE)] | ||
** [https://github.com/enso-org/enso/issues/6416 ... on GraalVM CE]!!! | ** [https://github.com/enso-org/enso/issues/6416 ... on GraalVM CE]!!! | ||
| + | * Interop with [[Python]] and [[JavaScript]] and other [[Truffle]] languages | ||
| + | ** [https://github.com/enso-org/enso/pull/7396 Ensure Python can accept Enso Zone, Date, Date_Time, Time_Of_Day] & co. | ||
| + | ** [https://github.com/enso-org/enso/pull/7808 numpy integration] | ||
| + | * [https://github.com/enso-org/enso/pull/8207 Custom serde format] optimized for '''lazy loading''' | ||
| + | * [https://github.com/enso-org/enso/pull/8425 400x faster with linear hashing] | ||
== Tooling == | == Tooling == | ||
* [https://github.com/enso-org/enso/pull/4014 Basic VSCode support for Enso language and development] | * [https://github.com/enso-org/enso/pull/4014 Basic VSCode support for Enso language and development] | ||
| + | ** [https://github.com/enso-org/enso/pull/7861 Downloadable VSCode extension] | ||
* [https://github.com/enso-org/enso/pull/4015 Basic IGV Scala Support] | * [https://github.com/enso-org/enso/pull/4015 Basic IGV Scala Support] | ||
* Integration with VisualVM - [https://github.com/enso-org/enso/pull/4110 write logs in XML] & co. | * Integration with VisualVM - [https://github.com/enso-org/enso/pull/4110 write logs in XML] & co. | ||
| - | == Improving Language == | + | == Improving Language & Libraries == |
* Making it really immutable - like [https://github.com/enso-org/enso/pull/4023 Removing Unsafe.set_atom_field] | * Making it really immutable - like [https://github.com/enso-org/enso/pull/4023 Removing Unsafe.set_atom_field] | ||
* [https://github.com/enso-org/enso/pull/6151 Suspended atom fields are evaluated only once] | * [https://github.com/enso-org/enso/pull/6151 Suspended atom fields are evaluated only once] | ||
| - | + | * Designed and implemented '''runtime type system''': | |
| - | + | ** [https://github.com/enso-org/enso/issues/6682 Clearly report type errors on API boundary] | |
| - | + | ** [https://github.com/enso-org/enso/pull/7009 Automatically apply from conversion when runtime argument check fails] - making [[Enso]] a ''conversion oriented'' language | |
* [https://github.com/enso-org/enso/pull/6218 Consolidate Vector and Array methods] | * [https://github.com/enso-org/enso/pull/6218 Consolidate Vector and Array methods] | ||
| + | * Improving ([[Rust]]) parser: [https://github.com/enso-org/enso/pull/8415 Multi line chained operator syntax] | ||
| - | List of [https://github.com/enso-org/enso/issues?q=state%3Aclosed%20author%3Ajaroslavtulach%20closed%3A2023%20sort%3Acreated-asc 252 issues and requests] resolved in 2023. | + | List of [https://github.com/enso-org/enso/issues?q=state%3Aclosed%20author%3Ajaroslavtulach%20closed%3A2023%20sort%3Acreated-asc 252 issues and requests] resolved in 2023. Next year is [[Enso2024]]. Previous year was [[Enso2022]]. |
Current revision
Another year at Enso. I think I started to feel more confident about the code base than in Enso2022 and was able to start designing:
- propose architectural changes
- suggest language changes
- change the infrastructure to work better
Performance and Runtime
- Speed Standard.Base initialization in simple Hello World example up!
- Any.== slowed down by gigantic EqualsNode specializations
- Removing need for asynchronous thread to execute ResourceManager finalizers
- Improve inlining of <|
- Interop with Python and JavaScript and other Truffle languages
- Custom serde format optimized for lazy loading
- 400x faster with linear hashing
Tooling
- Basic VSCode support for Enso language and development
- Basic IGV Scala Support
- Integration with VisualVM - write logs in XML & co.
Improving Language & Libraries
- Making it really immutable - like Removing Unsafe.set_atom_field
- Suspended atom fields are evaluated only once
- Designed and implemented runtime type system:
- Clearly report type errors on API boundary
- Automatically apply from conversion when runtime argument check fails - making Enso a conversion oriented language
- Consolidate Vector and Array methods
- Improving (Rust) parser: Multi line chained operator syntax
List of 252 issues and requests resolved in 2023. Next year is Enso2024. Previous year was Enso2022.