Common functionality for dynamic languages

Miquel Sabaté mikisabate at gmail.com
Wed Apr 16 20:08:01 UTC 2014


Hi Sven,

Thanks a lot for your time and efforts. I'll try all of this in kdev-ruby
as soon as possible and I'll let you know what changes I think that might
be needed for each component ;-)

Cheers,
Miquel


2014-04-16 21:36 GMT+02:00 Sven Brauch <svenbrauch at googlemail.com>:

> Hi!
>
> I recently spent some time on cleaning up and generalizing some of the
> tools
> kdevelop-python uses for type inference, and moved them to KDevPlatform.
> There's now the following things:
>
>  - The container types: They make it possible to track T for List<T> for a
> T
> which is not static. There's also a type for hashmap-like objects which can
> track P and Q in Map<P, Q>. I think this might be especially interesting
> for
> PHP and JS; Ruby already uses its own (extended) copy and will eventually
> port
> to the new base class.
> See language/duchain/types/containertypes.h in KDevPlatform.
>
>  - Some type utilities, which allow to conveniently merge multiple types
> into
> an unsure type.
> See language/duchain/types/typeutils.h in KDevPlatform.
>
>  - A base expression visitor for finding the type of an expression. This is
> another thing which is reimplemented from scratch for each dynamic language
> and looks almost the same, so I think it would be good to share a common
> base.
> Especially increased consistency across language plugins would be nice
> here.
> See language/duchain/builders/dynamiclanguageexpressionvisitor.h in
> KDevPlatform.
>
> I'm writing this email so interested parties can review the API; I'd be
> happy
> to modify it to make it useful for other languages.
>
> Greetings!
> Sven
> _______________________________________________
> KDevelop-devel mailing list
> KDevelop-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kdevelop-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20140416/862eb298/attachment.html>


More information about the KDevelop-devel mailing list