C++ roadmap

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Aug 12 19:27:17 UTC 2019


On 12/08/2019 19:38, John-Val Rose wrote:
>
> Hi Maurizio,
>
> I’m new to Panama and this list so I’ve only just caught the tail end 
> of this discussion.
>
> Thanks for all the fantastic work your team is doing and I’m really 
> excited about the potential of Panama long term.
>
> Pardon my ignorance but you mentioned that the “main focus being on C 
> support” so could you state where that initiative stands in terms of 
> maturity?
>
Hi John,

in terms of C support, Panama is quite mature. The only thing that 
doesn't yet work is support for macro-like functions. For them you can 
roll out your own API points by creating an 'extended' library that 
exposes the macro functions the way you want. There will be a better way 
to do this in the future.

Standard features such as enums, structs, typedefs etc. all work - and 
have done so for quite some time; I know that people have been able to 
extract moderately complex libraries, and we have put together a 
tutorial on how to get started on some common libraries:

https://hg.openjdk.java.net/panama/dev/raw-file/841483f2887f/doc/panama_foreign.html

I hope this helps.

Maurizio

> I’d like to start dabbling with Java, Panama and C as soon as support 
> is available and then hopefully become an active member of this list 
> and, ideally, a contributor.
>
> Graciously,
>
> John-Val Rose
>
> *From: *Maurizio Cimadamore <mailto:maurizio.cimadamore at oracle.com>
> *Sent: *Tuesday, 13 August 2019 02:53
> *To: *Samuel Audet <mailto:samuel.audet at gmail.com>; Luke Hutchison 
> <mailto:luke.hutch at gmail.com>; panama-dev at openjdk.java.net 
> <mailto:panama-dev at openjdk.java.net>
> *Subject: *Re: C++ roadmap
>
> Hi Samuel,
> I think your representation of the work that's going on in Panama is
> very distant from reality.  I understand you would like us to go faster
> -- everyone would (us included!) -- but we've consistently set clear
> short term expectations (e.g. with respect to the main focus being -
> initially - on C support).  Of course, anyone is free to wish the
> project had a different design center, and constructive comments are
> taken into account (as they have been), but endlessly grousing that
> we're not solving the problem you wish we did, or that we're not doing
> it fast enough, (or a combination of both) is not a constructive way to
> participate. And using language like "teasing" is wholly inappropriate
> in this forum.
>
> Over the last year we have shown that we can deliver on the plans we set
> out to do; in fact we ended up doing much more than that, since Panama
> now has the potential to rest on a more solid layered architecture,
> rather than being bundled in a single monolithic deliverable. This
> benefits both framework developers such as yourself, as well as end users.
>
> I realize you might have (very) different ideas on how this project
> should evolve, but I think further discussion on the topic is pointless,
> as the original (legitimate) question in this thread was answered. On a
> more general level, I think it's time for you to decide exactly what you
> want to get out from this 'collaboration' -  how many lines of code,
> tests or bug reports have you actually contributed to this project? In
> our books, that is what 'contributing' looks like.
>
> Maurizio
>
> On 12/08/2019 13:53, Samuel Audet wrote:
> > Could you at least define "soon", please? Panama been teasing with C++
> > support with nothing concrete for over 5 years now, and look, Swift
> > has actually started doing something about it, and not only that but
> > support for GPUs as well:
> > https://twitter.com/jeremyphoward/status/1154974115893149696
> > https://forums.fast.ai/t/lesson-13-2019-discussion-and-wiki/44414/167
> > 
> https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/F8DDQBxi7yE 
>
> >
> > 
> https://docs.google.com/document/d/12AeCyY7pjRrzuQFWK0QLpjjDHkNInUfvHCwtEgF4lEM 
>
> >
> >
> > If you cannot actually do something, at least let others do it, even
> > if you don't like their ideas!
> >
> > Samuel
> >
> > On 8/12/19 6:34 PM, Maurizio Cimadamore wrote:
> >>
> >> On 12/08/2019 01:26, Samuel Audet wrote:
> >>> Hi, Maurizio,
> >>>
> >>> I'm happy to hear that progress is happening, but would it be
> >>> possible to make more information about this public? Or if not,
> >>> could you explain why it needs to be kept secret?
> >>>
> >> Hi Samuel,
> >> there's no desire on our part to keep secrets (as I'm sure you've
> >> seen with other parts of this project as well); we've informally
> >> agreed on a way forward and then were all very busy with conferences
> >> and other deliverables, so we don't feel like we're comfortable
> >> enough with what we've discussed before doing some due diligence first.
> >>
> >> Since our plan is to put together some writeups which describe the
> >> approach, I think it would be better to wait for those to have a more
> >> focussed discussion, rather than having an abstract discussion over
> >> email.
> >>
> >> Maurizio
> >>
> >>
> >>> Samuel
> >>>
> >>> On 8/12/19 6:48 AM, Maurizio Cimadamore wrote:
> >>>> Hi Luke,
> >>>> C++ is not supported at the moment, we will make the download page
> >>>> clearer next time around.
> >>>>
> >>>> We are starting to experimenting a bit with the C++ support as we
> >>>> speak, so hopefully we will have some news to share on that front
> >>>> soon.
> >>>>
> >>>> Cheers
> >>>> Maurizio
> >>>>
> >>>> On 11/08/2019 13:52, Luke Hutchison wrote:
> >>>>> I tried the most recent Panama JDK 14 build with a C++ header
> >>>>> file, and got
> >>>>> the following error message (in the form of a RuntimeException):
> >>>>>
> >>>>> "Unknown type name 'namespace'"
> >>>>>
> >>>>> I couldn't find a switch in the jextract commandline tool for
> >>>>> enabling C++
> >>>>> support, so assume this means that C++ is not currently supported.
> >>>>> I don't
> >>>>> see any mention of the lack of C++ support on the Panama
> >>>>> "homepage" or
> >>>>> documentation, but I saw a claim somewhere online that Panama only
> >>>>> supports
> >>>>> C, and has no real immediate plans to support C++. However,
> >>>>> discussion in
> >>>>> the panama-dev archives seems to indicate that C++ support was 
> always
> >>>>> planned.
> >>>>>
> >>>>> Is there any experimental switch that will enable the use of C++
> >>>>> header
> >>>>> files right now in Panama? If not, what is the roadmap for C++?
>


More information about the panama-dev mailing list