Grant Proposal: Ć-to-Raku translator

Category: Grants

Comments (7)


Can you note what license the work for this grant would be made available to the community under?

Also curious if you have any stats on usage (number of projects or user count, downloads, etc.)


All work would be in cito under GPL3. I don't have stats other than what GitHub provides (how many stars cito got etc).


Hi Piotr,

> Write in Ć, then translate your code automatically to C, C++, C#, Java, JavaScript, Python, Swift, OpenCL C and (soon if this proposal is accepted) Raku.

It sounds like you and Ingy döt Net might be kindred souls. :)

(Ć sounds like C'dent. See http://acmeism.org/projects/)

----

I looked for a "discussion on the benefits of the project to the [Perl/Raku] Community" in your proposal and it looks like it's this:

> This will help grow the base of Raku modules.

I applaud your thinking for Ć, and would applaud there being a long-term high quality sustainable Ć to Raku converter.

But I do not find the idea of our community *funding* work to write it at all compelling. This is true even if I imagine a relatively huge number of modules due to Ć.

Some of my rationale is:

* It sounds like Ć already generates C libs. Rakudo can already use many C libs. In the (unlikely?) event that there are some Ć generated C libs that NativeCall can't already handle, I'd still urge the grant committee to retain funds for someone (timo?) one day making required improvements to NativeCall.

* It sounds like Ć already generates Python modules. Rakudo can already use many Python modules. In the (unlikely?) event that there are some Ć generated Python modules that Inline::Python can't already handle, I'd still urge the grant committee to retain funds for someone (niner? moritz?) one day making required improvements to Inline::Python.

* And so on, for other languages. Raku has approached the acmeist philosophy from the other side -- being able to smoothly import foreign code and use it as if it were Raku code. While I buy the Perl/Raku philosophy of TIMTOWTDI, I want to see what funds we have go into Raku's long term strategic vision that will have enormous impact, not into what I think would be from Raku's perspective a tactical short term move that merely give us another, say, ten thousand autogenerated modules if Ć is successful.

* As far as I can tell based on browsing its repo, there aren't yet (m)any Ć modules. It seems like the project is a good *idea*, just like C'dent is/was, but is in its relative infancy. While I think I would probably still be against funding this proposal if there were already a thousand valuable high quality Ć modules, as far as I can tell it hasn't really gotten to the stage there's anything like that.

* A Ć-to-Raku converter would result in automatically generated code. While you may have come up with a much better approach to multi language code generation than the norm, it will still not be the same as hand written Raku code.

* I don't get the impression that Raku is the programming language you primarily focus on. (Instead it seems it must surely be Ć and/or the PLs it already converts to. If I'm mistaken about that, please forgive my ignorance in writing this bullet point.) Given our community has limited funds *and* limited core devs, we generally need to connect Raku funds to Raku core devs.

In sum, I think your project sounds great and I applaud your efforts but feel we need to focus our relatively small fund on projects that deliver much more compelling and strategic value and on devs whose primary focus is Raku.


How large is the Cito user base? Where can I find the modules?


Please ignore this comment. I've spent over half an hour trying and failing to find out what the comment formatting options are, and/or how to preview or delete a comment. No luck. At the very least, how to separate paragraphs? Maybe a pair of blank lines?: Did that work? Perhaps html tags? A paragraph tag?

Did that work? Maybe a br?:
Or a horizontal rule?:


Did that work? While I'm testing, maybe a couple bullet points (li tags in a ul) between paragraph tags work?:
  • foo
  • bar

Did it work?


Hi Piotr,

> Write in Ć, then translate your code automatically to C, C++, C#, Java, JavaScript, Python, Swift, OpenCL C and (soon if this proposal is accepted) Raku.

It sounds like you and Ingy döt Net might be kindred souls. :)

That is, Ć sounds like C'dent. See http://acmeism.org/projects/


The grant proposal guidelines recommend you include a "discussion on the benefits of the project to the [Perl/Raku] Community". Afaict it's this:

> This will help grow the base of Raku modules.

I applaud your thinking for Ć, and would applaud there being a long-term high quality sustainable Ć to Raku converter.

But I do not find the idea of our community funding work to write it at all compelling. (Perhaps you don't find the idea of writing it compelling unless you're funded. That would be unfortunate but understandable.)

Some of my rationale is:

  • It sounds like Ć already generates C libs. Rakudo can already use many C libs. In the (unlikely?) event that there are some Ć generated C libs that NativeCall can't already handle, I'd still urge the grant committee to retain funds for someone (timo?) one day making required improvements to NativeCall.
  • It sounds like Ć already generates Python modules. Rakudo can already use many Python modules. In the (unlikely?) event that there are some Ć generated Python modules that Inline::Python can't already handle, I'd still urge the grant committee to retain funds for someone (niner? moritz?) one day making required improvements to Inline::Python.
  • And so on, for other languages. Raku is able to smoothly import foreign code and use it as if it were Raku code. While I buy the Perl/Raku philosophy of TIMTOWTDI, I want to see what funds we have go into Raku's long term strategic approach, not into what I think would be from Raku's perspective a tactical short term move that merely give us another, say, ten thousand autogenerated modules presuming Ć is that successful.
  • As far as I can tell based on browsing its repo, there aren't yet (m)any Ć modules. It seems like the project is a good idea, just like C'dent is/was, but is in its relative infancy. While I think I would probably still be against funding this proposal if there were already a thousand valuable high quality Ć modules, as far as I can tell it hasn't really gotten to the stage there's anything like that.
  • A Ć-to-Raku converter would result in automatically generated code. While you may have come up with a much better approach to multi language code generation than the norm, it will still not be the same as hand written Raku code.
  • I don't get the impression that Raku is the programming language you primarily focus on. (Instead it seems it must surely be Ć and/or the PLs it already converts to. If I'm mistaken about that, please forgive my ignorance in writing this bullet point.) Given our community has limited funds and limited core devs, we generally need to connect Raku funds to Raku core devs.

In sum, I think your project sounds great and I applaud your efforts but feel we need to focus our relatively small fund on projects that deliver much more compelling and strategic value and on devs whose primary focus is Raku.


raiph:
I truly appreciate your insightful comments!
Thank you for reminding me of C'Dent. I did look at it years ago and it didn't seem capable of anything except "print hello world". Ć is much more capable than that. I will surely contact Ingy.
I wasn't aware of Inline::Python.
Thank you very much, also for formatting your comment. :)

moritzlenz:
As raiph said, cito is in its infancy. There is no central repository of the modules.


Sign in to add comment