From c52e132dcc7680f12869ca4021d8e06b64d1bd2c Mon Sep 17 00:00:00 2001 From: sergeych Date: Mon, 1 Dec 2025 19:14:43 +0100 Subject: [PATCH] more readme --- README.md | 27 ++--- .../src/main/resources/icons/lyng_file.svg | 71 +++++++++++-- .../src/main/resources/icons/lyngicon.png | Bin 0 -> 26020 bytes .../src/main/resources/icons/lyngicon.svg | 94 ++++++++++++++++++ .../jsMain/resources/icons/lyng-mark-256.png | Bin 5796 -> 0 bytes 5 files changed, 162 insertions(+), 30 deletions(-) create mode 100644 lyng-idea/src/main/resources/icons/lyngicon.png create mode 100644 lyng-idea/src/main/resources/icons/lyngicon.svg delete mode 100644 site/src/jsMain/resources/icons/lyng-mark-256.png diff --git a/README.md b/README.md index d1802ea..fbf78ba 100644 --- a/README.md +++ b/README.md @@ -136,21 +136,8 @@ Designed to add scripting to kotlin multiplatform application in easy and effici # Language Roadmap -```mermaid -flowchart - v0([the idea]) - v1([v1: make it happen]) - v2([v1.5: testmake it fasted and rich featured]) - v3([v2: ideal script language]) - v0 --code MVP--> v1 - v1 --refine and extend--> v2 - v2 -- optimize --> v3 - -``` - -## v1.0.0 "Make it happen" - done! - -Planned autumn 2025. Complete dynamic language with sufficient standard library: +We are now at **v1.0**: basic optimization performed, battery included: standard library is 90% here, initial +support in HTML, popular editors, and IDEA; tools to syntax highlight and format code are ready. It was released closed to schedule. Ready features: @@ -176,23 +163,23 @@ Ready features: - [x] regular exceptions + extended `when` - [x] multiple inheritance for user classes -## plan: v1.0 - v1.5 Stability, integration, optimizations +## plan: towards v1.5 Enhancing - [x] site with integrated interpreter to give a try - [x] kotlin part public API good docs, integration focused - [ ] type specifications -- [x] Texmate Bundle +- [x] Textmate Bundle - [x] IDEA plugin - [ ] source docs and maybe lyng.md to a standard - [ ] metadata first class access from lyng - [x] aggressive optimizations -- [ ] JVM bytecode optimizations +- [ ] compile to JVM bytecode optimization ## After 1.5 "Ideal scripting" - Estimated summer 2026 +Estimated summer 2026 -- [ ] notebook - style workbooks with graphs, formulae, etc. +- propose your feature! ## Authors diff --git a/lyng-idea/src/main/resources/icons/lyng_file.svg b/lyng-idea/src/main/resources/icons/lyng_file.svg index 128e976..e34e18d 100644 --- a/lyng-idea/src/main/resources/icons/lyng_file.svg +++ b/lyng-idea/src/main/resources/icons/lyng_file.svg @@ -1,4 +1,4 @@ - + - - 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⁣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 Vk-o|Zf`3>6^tA6H$~Em?{tsDs6+!?2 literal 0 HcmV?d00001 diff --git a/lyng-idea/src/main/resources/icons/lyngicon.svg b/lyng-idea/src/main/resources/icons/lyngicon.svg new file mode 100644 index 0000000..6428f53 --- /dev/null +++ b/lyng-idea/src/main/resources/icons/lyngicon.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + λ + y + + diff --git a/site/src/jsMain/resources/icons/lyng-mark-256.png b/site/src/jsMain/resources/icons/lyng-mark-256.png deleted file mode 100644 index fcab14b4a384b1bf148cf098a466a143a3f7219f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5796 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 TM+lDp?GR)1P4y~uoMZk6W$MDS