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

Unbitrotting/possible takeover? #12

Closed
2colours opened this issue Feb 2, 2023 · 6 comments
Closed

Unbitrotting/possible takeover? #12

2colours opened this issue Feb 2, 2023 · 6 comments

Comments

@2colours
Copy link

2colours commented Feb 2, 2023

Hello,

I came across this project while browsing former conference talks on Perl6/Raku and it really made me interested.

Unfortunately, as suspected, it's kind of in a sleeping state. I think it would be a huge loss of the whole Raku community to let these great projects be lost for good so let me ask: are contributions welcome, or alternatively, are you open to donate the project altogether? I'm willing to start with necessary maintenance work and I also have plans for using this tool so probably I could pick it up the hard way.

I hope we can revive it directly, without starting with a fork - however, if this issue doesn't have a resolution, even a fork might be better than losing all the value.

@LLFourn
Copy link
Contributor

LLFourn commented Feb 3, 2023

Hey @2colours,

I certainly would be willing to donate the whole repo. For what it's worth, I still think spit is a cool idea. There have been so many times since I stopped developing it that I have wanted to use it instead of other config tools out there. I had to use nix recently which everyone seems to talk highly of but I had so much trouble with it. They all still seem to to suck and I still think the right problem to solve is just maintainable shell scripts.

I think if you want to take it over you'd need to come up with your own vision of the project and language. From there the first practical issue will be that it uses some dark metaobject internals to re-use the raku type system to do method dispatching. It's probably broken.I just noticed that we have a PR to fix one of these issues: #11 there are probably heaps more! Hopefully it's possible to tell what I was trying to achieve but you will need to come up with your own judgements about whether what I was trying to achieve was the right thing in the first place.

Please let me know if you're able to get this working and compiling again. I don't think I'll have the time to develop it but it would be fun to use it to produce shell scripts for the odd system config tasks I have. Let me know how you'd like to organize taking it over. Maybe create a PR making it work again to see if you really want to get yourself deeply involved first?

Cheers,

LL

@LLFourn LLFourn mentioned this issue Feb 3, 2023
@2colours
Copy link
Author

@LLFourn Hi,

during the last week, most of my Raku-related activity revolved around a compiler fixup that I couldn't quite nail, since I'm kinda losing heart with it, I might give higher priority to this revival project among other things...

So far what I noticed is that the "inlining" test fails with a type check failure: SVal node received where Block node was expected (trynna quickly recall it by heart).

This is quite deep down in the AST so I thought a "necessary good" could be to improve the gist of all the nodes. So far, for example, a CompUnit only says the name of the type and some not-so-transparent number assigned to it. It would be good to get a gist that really contains the gists of included nodes as well. Hopefully that can give a better understanding of what is going on.

@LLFourn
Copy link
Contributor

LLFourn commented Feb 15, 2023

Hey @2colours I just tried to install and run spitsh for the first time in ages and it's actually working most of the time. It looks like the main fallout is that if statements are broken somehow.

I saw that error above as well. It means that something that expected a block but it got a string. That's a rakudo type check error not a spit one. I am almost certain that it's to do with inlining if statement nodes (see Composer.pm6 for where the statement must be throwing the error when it assigns to $default).

If you try and run the spec tests they mostly work except for the if.t too:

raku -Ilib bin/spit compile spec/base/if.t 

gets stuck in an infinite loop somewhere.

the while tests work!

raku -Ilib bin/spit compile spec/base/while.t 

They even run! (pipe them to sh).

iirc I did do some custom gisting of many nodes to show you what you usually want to see. I don't remember why CompUnit is so bare.

@2colours
Copy link
Author

Hi,

I just wanted to check in and say that I actually have not forgotten about it. Sometimes it's really just a little more somebody needs... I kind of reclaimed the Template6 library, the Atom highlighter plugin and did some work for an alternative "toolchain" (such a big word for it) for the raku.org site as well... got kinda hooked up in ppm (the new apm) refurbishment in the meantime. (Also switched workplaces and a lot of life going on out there.)

Sooo... I just wanted to say that I still don't see any blocker BUT it still couldn't make it to the top of the priority list. My chances of getting something working with it rather increased, if anything... but who knows, maybe this will be all I say even in half a year.

@2colours
Copy link
Author

Since I have been formally outcasted from the Raku community - much related to my personal concerns regarding the development and management of the language - it's unlikely I will ever return to these projects. Sorry for the disturbance created.

@2colours 2colours closed this as not planned Won't fix, can't repro, duplicate, stale May 23, 2024
@LLFourn
Copy link
Contributor

LLFourn commented May 30, 2024

No worries @2colours. Sorry to hear about your ousting. It's just the age we live in.

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

No branches or pull requests

2 participants