Hihaheho / Desk

🔮 The application platform for your cyberpunk desk
https://desk-x.com
Other
110 stars 10 forks source link

Span data #50

Open ryo33 opened 1 year ago

ryo33 commented 1 year ago

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

jsinger67 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

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

ryo33 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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

ryo33 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

@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.