Skip to content
This repository has been archived by the owner on Nov 18, 2023. It is now read-only.

Span data #50

Open
2 of 3 tasks
ryo33 opened this issue Dec 27, 2022 · 10 comments
Open
2 of 3 tasks

Span data #50

ryo33 opened this issue Dec 27, 2022 · 10 comments
Labels

Comments

@ryo33
Copy link
Member

ryo33 commented Dec 27, 2022

The current parser emits AST with span data of 0..0. parol have a way to get span for syntax elements.

  • Define SpanStorage trait
  • Use parol with a version that supports span and enable it for generation.
  • Make MinimalistSyntaxSpanStorage able to return span data for any NodeId.
@jsinger67
Copy link
Contributor

@ryo33
I would like to jump in here.

But currently I got build errors on my WSL Ubuntu:

--- stderr
  thread 'main' panicked at '`"pkg-config" "--libs" "--cflags" "alsa"` did not exit successfully: exit status: 1
  error: could not find system library 'alsa' required by the 'alsa-sys' crate

  --- stderr
  Package alsa was not found in the pkg-config search path.
  Perhaps you should add the directory containing `alsa.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'alsa' found
  ', /home/joerg/.cargo/registry/src/github.com-1ecc6299db9ec823/alsa-sys-0.3.1/build.rs:13:18
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

Do you know what library I need to install or how I have to configure the PKG_CONFIG_PATH environment variable?
Unfortunately Linux is not my default development platform therefore I might need some help to set it up correctly.

@ryo33
Copy link
Member Author

ryo33 commented Dec 31, 2022

@jsinger67 Thanks! sudo apt-get install libasound2-dev libudev-dev should fix it.
Cf. https://github.com/bevyengine/bevy/blob/main/docs/linux_dependencies.md

@jsinger67
Copy link
Contributor

Yeah, this and switching to nightly toolchain helped. Thanks! 👍

@ryo33 ryo33 mentioned this issue Jan 5, 2023
@ryo33
Copy link
Member Author

ryo33 commented Jan 5, 2023

@jsinger67 I've assigned you to avoid conflict. Please let me know when you quit.
I'd also like to add that there is no need for us to hurry, because this language has no working binary yet, even deskc command.

@jsinger67
Copy link
Contributor

It's ok to assign it to me.
I'll contact you when I have a working version, or of course when I have any questions. 😊

@ryo33
Copy link
Member Author

ryo33 commented Jan 15, 2023

@jsinger67 Thank you for #43. I've merged it and unassigned you from this issue. If you'd like to do the rest of the work, please let me know anytime so I can re-assign.

@jsinger67
Copy link
Contributor

Hi @ryo33
how is the status? Do you need further help?
I can jump in if necessary 😊

@ryo33
Copy link
Member Author

ryo33 commented May 4, 2023

@jsinger67 Thanks for your regards. Still your help will be possibly needed for me mainly to follow the parol way, but the time I do could be months or years later for the following reason. I'm currently working on re-designing the language for defining it formally and making it have, in addition to algebraic effects and elimination of nominal things, similar capabilities as theoretical dependently typed language, and it means that the current implementation would be mostly discarded except the parser (because the syntax would not be drastically changed.) Also in the prototyping of it, I'm going to (preferably) use parol and my requirements of span information are still there. Although that, I don't plan to implement preservation of span information at early stage of this project because I'm trying to overcome my perfectionism at software development, which distresses me for many years.

@jsinger67
Copy link
Contributor

@ryo33 Thank you for your update.
I do well know such situations when you're struggling with the design details of a software project and you never really get the feeling that everything has settled yet.
I've mostly learned that such a state of perfectionism is hard to achieve. I've been trying to get the software running step by step and stage by stage. It's more satisfying to have something party working and then getting it formed in the direction of the perfect design goal.
Usually you need to make compromises, but then you need to remember to break up goals into smaller ones and again solve them step by step.
I hope you find a good balance.
You can contact me anytime.

@ryo33
Copy link
Member Author

ryo33 commented May 11, 2023

@jsinger67 I appreciate your message, and thank you for taking the time to share your thoughts with me.
It has actually helped me realize that the first step I've set for restarting my project may still be ambitious. I've decided to narrow down the definition of the language and implement it in a more manageable, step-by-step approach. I must say, Parol has been a source of inspiration for me to make my software simple, grounded in theory, yet user-friendly.
Once again, thank you for your advice.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants