Coccinelle archive on lore.kernel.org
 help / color / Atom feed
* [Cocci] Coccinelle for Go
@ 2019-07-17  7:34 Raghavan Raman
  2019-07-21 11:45 ` Markus Elfring
  2019-07-22  5:04 ` ron minnich
  0 siblings, 2 replies; 5+ messages in thread
From: Raghavan Raman @ 2019-07-17  7:34 UTC (permalink / raw)
  To: cocci

[-- Attachment #1.1: Type: text/plain, Size: 380 bytes --]

Hi,

I am part of the Programming Systems group
<https://www.uber.com/us/en/about/science/> at Uber. We are looking into
using Coccinelle for refactoring in Go <https://golang.org/>.

Does Coccinelle include support for Go?

If not:
  * Is there any plan to add support for the same?
  * What would it take to add this support? Any documentation regarding
this?

Thanks,
Raghavan

[-- Attachment #1.2: Type: text/html, Size: 571 bytes --]

<div dir="ltr">Hi,<div><br></div><div>I am part of the <a href="https://www.uber.com/us/en/about/science/">Programming Systems group</a> at Uber. We are looking into using Coccinelle for refactoring in <a href="https://golang.org/">Go</a>.</div><div><br></div><div>Does Coccinelle include support for Go? </div><div><br></div><div>If not:</div><div>  * Is there any plan to add support for the same?</div><div>  * What would it take to add this support? Any documentation regarding this?</div><div><br></div><div>Thanks,</div><div>Raghavan</div><div><br></div></div>

[-- Attachment #2: Type: text/plain, Size: 136 bytes --]

_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cocci] Coccinelle for Go
  2019-07-17  7:34 [Cocci] Coccinelle for Go Raghavan Raman
@ 2019-07-21 11:45 ` Markus Elfring
  2019-07-24 22:24   ` Raghavan Raman
  2019-07-22  5:04 ` ron minnich
  1 sibling, 1 reply; 5+ messages in thread
From: Markus Elfring @ 2019-07-21 11:45 UTC (permalink / raw)
  To: Raghavan Raman; +Cc: cocci

> We are looking into
 using Coccinelle for refactoring in Go

Thanks for your interest.


> Does Coccinelle include support for Go?

Not yet.


>  * Is there any plan to add support for the same?

Would you like to contribute significant development resources for
corresponding software extensions?


>  * What would it take to add this support?

Remarkable desire for collateral evolution.


> Any documentation regarding
 this?


Yes, of course.

Did you notice information sources like the following already?

* Paper “Computation tree logic with variables and witnesses”
  http://coccinelle.lip6.fr/papers/popl09.pdf
  https://doi.org/10.1145/1480881.1480897

* Manual for the semantic patch language
  https://github.com/coccinelle/coccinelle/blob/ed1eb8e06f800739d3992158d36945c0c4c6f0c7/docs/manual/cocci_syntax.tex#L50

* Clarification request: Support for more programming languages?
  https://systeme.lip6.fr/pipermail/cocci/2016-July/003445.html
  https://lore.kernel.org/cocci/76bf1017-d629-d44a-5493-0dcccbbfa65b@users.sourceforge.net/


How do you think about to improve related technologies?

Regards,
Markus
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cocci] Coccinelle for Go
  2019-07-17  7:34 [Cocci] Coccinelle for Go Raghavan Raman
  2019-07-21 11:45 ` Markus Elfring
@ 2019-07-22  5:04 ` ron minnich
  2019-07-22  6:00   ` Markus Elfring
  1 sibling, 1 reply; 5+ messages in thread
From: ron minnich @ 2019-07-22  5:04 UTC (permalink / raw)
  To: Raghavan Raman; +Cc: cocci

Given the existence of the go AST package, which is used in so many
ways to rewrite Go code (gofmt and go imports to name just two), I'm
not sure I see the
need for coccinelle. This is not in any way a criticism of coccinelle,
I use it all the time for C. But I also write tools that
use the Go AST package to rewrite Go, and have never felt the lack of
coccinelle for Go. I'm curious what you see as the use case.

ron

On Sat, Jul 20, 2019 at 2:55 AM Raghavan Raman <ragr@uber.com> wrote:
>
> Hi,
>
> I am part of the Programming Systems group at Uber. We are looking into using Coccinelle for refactoring in Go.
>
> Does Coccinelle include support for Go?
>
> If not:
>   * Is there any plan to add support for the same?
>   * What would it take to add this support? Any documentation regarding this?
>
> Thanks,
> Raghavan
>
> _______________________________________________
> Cocci mailing list
> Cocci@systeme.lip6.fr
> https://systeme.lip6.fr/mailman/listinfo/cocci
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cocci] Coccinelle for Go
  2019-07-22  5:04 ` ron minnich
@ 2019-07-22  6:00   ` Markus Elfring
  0 siblings, 0 replies; 5+ messages in thread
From: Markus Elfring @ 2019-07-22  6:00 UTC (permalink / raw)
  To: Ron Minnich; +Cc: cocci

> But I also write tools that
 use the Go AST package to rewrite Go,

Would you like to share any more experiences around related software?


> and have never felt the lack of
 coccinelle for Go.

I find this impression interesting.
How much did you get used to functionality which is supported by
the semantic patch language?


> I'm curious what you see as the use case.

Are you looking for wider support of a known programming interface?

Regards,
Markus
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cocci] Coccinelle for Go
  2019-07-21 11:45 ` Markus Elfring
@ 2019-07-24 22:24   ` Raghavan Raman
  0 siblings, 0 replies; 5+ messages in thread
From: Raghavan Raman @ 2019-07-24 22:24 UTC (permalink / raw)
  To: Markus Elfring; +Cc: cocci

[-- Attachment #1.1: Type: text/plain, Size: 2675 bytes --]

Hi Markus,

Thanks for the reply and the pointers. Those are very helpful.

We are trying to evaluate different approaches in this space and trying to
choose one that would work the best for us. If we decide to go down this
route, we will work with your team to figure out how we can contribute.

Best,
Raghavan



On Sun, Jul 21, 2019 at 4:45 AM Markus Elfring <Markus.Elfring@web.de>
wrote:

> > We are looking into
>  using Coccinelle for refactoring in Go
>
> Thanks for your interest.
>
>
> > Does Coccinelle include support for Go?
>
> Not yet.
>
>
> >  * Is there any plan to add support for the same?
>
> Would you like to contribute significant development resources for
> corresponding software extensions?
>
>
> >  * What would it take to add this support?
>
> Remarkable desire for collateral evolution.
>
>
> > Any documentation regarding
>  this?
>
>
> Yes, of course.
>
> Did you notice information sources like the following already?
>
> * Paper “Computation tree logic with variables and witnesses”
>
> https://urldefense.proofpoint.com/v2/url?u=http-3A__coccinelle.lip6.fr_papers_popl09.pdf&d=DwIFaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=TMoJUATrFJ-DanWKiyV4vg&m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&s=yQPALN3aGqQYDRq4eKwTN_P_UtFEwpIn-VevK9QGluc&e=
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__doi.org_10.1145_1480881.1480897&d=DwIFaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=TMoJUATrFJ-DanWKiyV4vg&m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&s=zQVXV_GZVkPhV3r_Co5kGFTAjO2VMkhu5NWVW78BkeI&e=
>
> * Manual for the semantic patch language
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_coccinelle_coccinelle_blob_ed1eb8e06f800739d3992158d36945c0c4c6f0c7_docs_manual_cocci-5Fsyntax.tex-23L50&d=DwIFaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=TMoJUATrFJ-DanWKiyV4vg&m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&s=fjSfzgpZ0VlHVBEX9BbF17Xj0Co6DpQUNoTyspB9lO0&e=
>
> * Clarification request: Support for more programming languages?
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__systeme.lip6.fr_pipermail_cocci_2016-2DJuly_003445.html&d=DwIFaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=TMoJUATrFJ-DanWKiyV4vg&m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&s=h-OnZQhuthCctxsfOfpC5LhuamwKTEfRoIfG09Dd7Go&e=
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_cocci_76bf1017-2Dd629-2Dd44a-2D5493-2D0dcccbbfa65b-40users.sourceforge.net_&d=DwIFaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=TMoJUATrFJ-DanWKiyV4vg&m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&s=w4Riw44aVfsTNqmkc_okL7dRKVK0kZHsHpYBIHRQi_0&e=
>
>
> How do you think about to improve related technologies?
>
> Regards,
> Markus
>

[-- Attachment #1.2: Type: text/html, Size: 5066 bytes --]

<div dir="ltr">Hi Markus,<div><br></div><div>Thanks for the reply and the pointers. Those are very helpful.</div><div><br></div><div><div>We are trying to evaluate different approaches in this space and trying to choose one that would work the best for us. If we decide to go down this route, we will work with your team to figure out how we can contribute.</div><div><br></div><div>Best,</div><div>Raghavan</div><div><br></div><br class="gmail-Apple-interchange-newline"></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 21, 2019 at 4:45 AM Markus Elfring &lt;<a href="mailto:Markus.Elfring@web.de">Markus.Elfring@web.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; We are looking into<br>
 using Coccinelle for refactoring in Go<br>
<br>
Thanks for your interest.<br>
<br>
<br>
&gt; Does Coccinelle include support for Go?<br>
<br>
Not yet.<br>
<br>
<br>
&gt;  * Is there any plan to add support for the same?<br>
<br>
Would you like to contribute significant development resources for<br>
corresponding software extensions?<br>
<br>
<br>
&gt;  * What would it take to add this support?<br>
<br>
Remarkable desire for collateral evolution.<br>
<br>
<br>
&gt; Any documentation regarding<br>
 this?<br>
<br>
<br>
Yes, of course.<br>
<br>
Did you notice information sources like the following already?<br>
<br>
* Paper “Computation tree logic with variables and witnesses”<br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__coccinelle.lip6.fr_papers_popl09.pdf&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=yQPALN3aGqQYDRq4eKwTN_P_UtFEwpIn-VevK9QGluc&amp;e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=http-3A__coccinelle.lip6.fr_papers_popl09.pdf&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=yQPALN3aGqQYDRq4eKwTN_P_UtFEwpIn-VevK9QGluc&amp;e=</a> <br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__doi.org_10.1145_1480881.1480897&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=zQVXV_GZVkPhV3r_Co5kGFTAjO2VMkhu5NWVW78BkeI&amp;e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__doi.org_10.1145_1480881.1480897&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=zQVXV_GZVkPhV3r_Co5kGFTAjO2VMkhu5NWVW78BkeI&amp;e=</a> <br>
<br>
* Manual for the semantic patch language<br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_coccinelle_coccinelle_blob_ed1eb8e06f800739d3992158d36945c0c4c6f0c7_docs_manual_cocci-5Fsyntax.tex-23L50&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=fjSfzgpZ0VlHVBEX9BbF17Xj0Co6DpQUNoTyspB9lO0&amp;e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_coccinelle_coccinelle_blob_ed1eb8e06f800739d3992158d36945c0c4c6f0c7_docs_manual_cocci-5Fsyntax.tex-23L50&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=fjSfzgpZ0VlHVBEX9BbF17Xj0Co6DpQUNoTyspB9lO0&amp;e=</a> <br>
<br>
* Clarification request: Support for more programming languages?<br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__systeme.lip6.fr_pipermail_cocci_2016-2DJuly_003445.html&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=h-OnZQhuthCctxsfOfpC5LhuamwKTEfRoIfG09Dd7Go&amp;e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__systeme.lip6.fr_pipermail_cocci_2016-2DJuly_003445.html&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=h-OnZQhuthCctxsfOfpC5LhuamwKTEfRoIfG09Dd7Go&amp;e=</a> <br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_cocci_76bf1017-2Dd629-2Dd44a-2D5493-2D0dcccbbfa65b-40users.sourceforge.net_&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=w4Riw44aVfsTNqmkc_okL7dRKVK0kZHsHpYBIHRQi_0&amp;e=" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_cocci_76bf1017-2Dd629-2Dd44a-2D5493-2D0dcccbbfa65b-40users.sourceforge.net_&amp;d=DwIFaQ&amp;c=r2dcLCtU9q6n0vrtnDw9vg&amp;r=TMoJUATrFJ-DanWKiyV4vg&amp;m=PHMByyX5UXMVrzhrHlaIacBrUqKn4XPs818jx0L9aYE&amp;s=w4Riw44aVfsTNqmkc_okL7dRKVK0kZHsHpYBIHRQi_0&amp;e=</a> <br>
<br>
<br>
How do you think about to improve related technologies?<br>
<br>
Regards,<br>
Markus<br>
</blockquote></div>

[-- Attachment #2: Type: text/plain, Size: 136 bytes --]

_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-17  7:34 [Cocci] Coccinelle for Go Raghavan Raman
2019-07-21 11:45 ` Markus Elfring
2019-07-24 22:24   ` Raghavan Raman
2019-07-22  5:04 ` ron minnich
2019-07-22  6:00   ` Markus Elfring

Coccinelle archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/cocci/0 cocci/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 cocci cocci/ https://lore.kernel.org/cocci \
		cocci@systeme.lip6.fr cocci@archiver.kernel.org
	public-inbox-index cocci


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/fr.lip6.systeme.cocci


AGPL code for this site: git clone https://public-inbox.org/ public-inbox