Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Enso Date across the Java polyglot boundary #4296

Closed
wdanilo opened this issue Feb 5, 2023 · 0 comments
Closed

Support for Enso Date across the Java polyglot boundary #4296

wdanilo opened this issue Feb 5, 2023 · 0 comments
Assignees
Labels
-compiler -libs Libraries: New libraries to be implemented p-low Low priority x-new-feature Type: new feature request

Comments

@wdanilo
Copy link
Member

wdanilo commented Feb 5, 2023

This task is automatically imported from the old Task Issue Board and it was originally created by James Dunkerley.
Original issue is here.


Currently, when a Standard.Base.Data.Date is passed over the polyglot boundary the resulting object is a com.oracle.truffle.polyglot.PolyglotMap<String, Object>.

It should be represented as the underlying java.time.LocalDate object.

This should work in both directions so that a LocalDate would be automatically converted to an Enso Date.

Comments:

Do we have a test somewhere? Or is there a place where such test should be placed? (jaroslavtulach - Mar 31, 2022)


Should probably be part of `test/Tests/src/Data/Time/Date_Spec.enso` (James Dunkerley - Mar 31, 2022)
The `Data_Spec.enso` looks like an Enso script to run. However your report talks about "polyglot boundary" and "com.oracle.truffle.polyglot.PolyglotMap" - I don't expect `Data_Spec.enso` to cross the "polyglot boundary". I would expect a test that uses Java: `Context.create().eval("enso", ....)` - or where else do you observe the problems with `PolyglotMap`? (jaroslavtulach - Mar 31, 2022)
Agree it doesn't belong in this specific file. The specific issue is using the Date within a Java function brought in via `polyglot import`. Lets disucss when you are ready to pick this ticket up. (James Dunkerley - Mar 31, 2022)
I have the failing test: https://github.com//pull/3374 (jaroslavtulach - Apr 1, 2022)
The PR has been updated with a fix. It is probably not production quality yet, but it does seem to work. Please try your use-case to see if it works. (jaroslavtulach - Apr 1, 2022)
**Jaroslav Tulach** reports a new **STANDUP** for the last Friday (2022-04-01):

Progress: building develop branch, running tests, debugging interop, creating a test & bugfix for LocalDate: #3374, setting my IDE up, introducing on discord, talking with Sylwia & Pawel, reading handbook It should be finished by 2022-04-08.

Next Day: Review enso-spec-1.0/design.md, schedule more chats (Enso Bot - Apr 4, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-04):

Progress: philippic against ASCII only language https://github.com/enso-org/design/pull/23#discussion_r841363032 + critic of name mangling, learned to submit standup, enhancing test of #3374, setting up Mac workstation It should be finished by 2022-04-08.

Next Day: Meetings at Charles University - Petr Tůma group (performance), Štěpán Šindelář (Python) - some (dirty) implementation of #3374
kudos to @hubert Plociniczak: Explaining me his intentions with #3363 and how it relates to #3374
kudos to @jdunkerley: Pointing out missing "opposite" test-case for LocalDate: #3374
kudos to @kustosz: Technical review of #3374 (Enso Bot - Apr 5, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-05):

Progress: Review of #3363 - performance, architecture, native image; trying to connect Date atom with engine + lunch with Štěpán (FastR lead) discussing LocalDate interop in Enso & other languages; encouraging Petr Tůma to continue in talks with Wojciech regarding benchmarks; sharing a thought about A13Y; compiling flatc 1.12.0 on Mac; Talking with James, getting a pre-built IDE running It should be finished by 2022-04-08.

Next Day: we should implement Truffle language TCK one day; connect IDE and my own engine - learn to debug that; expose polyglot (Enso Bot - Apr 6, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-06):

Progress: Vicious circle between LocalDate and Enso Date atom: #3363; Proper test/Tests/src/Semantic/Java_Interop_Spec.enso; investigating IDE & protocol; rustup, cargo, wasm; meeting with Edward about types It should be finished by 2022-04-08.

Next Day: build, run, debug IDE, play with protocol, discuss vicious circle with Marcin (Enso Bot - Apr 7, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-07):

Progress: Discussion with Marcin about host/guest Java & LocalDate & Native Image; Building IDE & Bugfix for ./run script: #3386; Lunch with GraalVM engineer to find out what's new (advances in ByteCodeInterpreters); Talking with Edward and Marcin + Writing 1st draft of "Engine Roadmap" It should be finished by 2022-04-08.

Next Day: Review of Engine Roadmap; polish #3374; get the IDE built & run (finally?) (Enso Bot - Apr 8, 2022)


**Jaroslav Tulach** reports a new **🔴 DELAY** for yesterday (2022-04-08):

Summary: There is 7 days delay in implementation of the Support for Enso Date across the Java polyglot boundary (#181740971) task.
It will cause 7 days delay for the delivery of this weekly plan.

it's a warm-up task - e.g. not urgent to be delivered

Delay Cause: Continuously working on something else

Possible solutions: Speeding the delivery up is possible, but only at expense of other tasks that seem to be more urgent (Enso Bot - Apr 9, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-08):

Progress: Reworking LocalDate; Building the IDE on Linux & Mac - #3387; Fixing broken laptop and rescuing data; Broken camera; Mettings: "Engine Roadmap", "Backend performance". Prototype of Self Sampler for LS: #3389 It should be finished by 2022-04-15.

Next Day: Get LocalDate finally ready for final review. Coordinate with Dmitry using the Self Sampler. (Enso Bot - Apr 9, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for today (2022-04-09):

Progress: Proper fix for LocalDate - requested new review.Reworking LocalDate; Building the IDE on Linux & Mac - #3387; Fixing broken laptop and rescuing data; Broken camera; Mettings: "Engine Roadmap", "Backend performance". Prototype of Self Sampler for LS: #3389 It should be finished by 2022-04-15.

Next Day: Get LocalDate finally ready for final review. Coordinate with Dmitry using the Self Sampler. (Enso Bot - Apr 9, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-11):

Progress: Problems "building" IDE. It builds, but it is just slow and CPU hungry on Lenovo T450. Avoid painting when scene unchanged. Running analysis, reports. Discussing engine roadmap: https://docs.google.com/document/d/16B5DT7fkToJdUZVHNE6YhKy_TFYAEsRXym-mRPH2L_c/edit#heading=h.lhw4ozq3vuyd It should be finished by 2022-04-15.

Next Day: Visit to MFF UK. Parsing. Engine future. Merge the LocalDate PR, finally. (Enso Bot - Apr 12, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-12):

Progress: Polishing #3387 - merged; discussing Rust & lexer & parser; reading handbook; planning meetings; agile vs. waterfall It should be finished by 2022-04-15.

Next Day: Schedule epic, stories & co. into pivotal. Merge the LocalDate PR, finally #2. Debug the LS protocol. (Enso Bot - Apr 13, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-13):

Progress: Reading the handbook, entering stories to pivotal, benchmarking LocalDate - got review. Performance discussions. It should be finished by 2022-04-15.

Next Day: Got review for the LocalDate PR, need to address it. Debug the LS protocol #2. (Enso Bot - Apr 14, 2022)


**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-14):

Progress: Second approval for the LocalDate PR. planning Drop-Downs with Edward and Marcin It should be finished by 2022-04-15.

Next Day: Integrate the LocalDate PR. Debug the LS protocol #3. Planning drop-downs. (Enso Bot - Apr 15, 2022)


https://github.com//pull/3374 has just been integrated. (jaroslavtulach - Apr 15, 2022)
**Jaroslav Tulach** reports a new **STANDUP** for yesterday (2022-04-15):

Progress: LocalDate PR integrated. Debugging sbt, project manager, ls protocol. Filling stories for static drop-downs. It should be finished by 2022-04-15.

Next Day: Next day I will be working on the ##181883942 task. Debug the LS protocol #4. (Enso Bot - Apr 16, 2022)


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-compiler -libs Libraries: New libraries to be implemented p-low Low priority x-new-feature Type: new feature request
Projects
None yet
Development

No branches or pull requests

2 participants