Enso2023
From APIDesign
(Difference between revisions)
(→Improving Language & Libraries) |
(→Improving Language & Libraries) |
||
| Line 36: | Line 36: | ||
| - | 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.