Stefan--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/fidKeC2AsFoJ.
To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
The language is still in the proof-of-concept stage and does not have any library yet. If it does, I will either use the GPL with linking exception or LGPL for the library.
Stefan
Not sure with one is easier though, rewrite the language, or write the IDE plugin from scratch :P
Stefan
> --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/javaposse/-/mFajcyn_eg8J.
import java:guava.ImmutableList;
If you do something like this instead:
import imop:code.google.com/guava.ImmutableList;
It means that the ImmutableList is actually hosted at google, and therefore no instances of that will be created in your computer. You can only use them remotely. Note that Meso does not download source code over the network. It only acquires an abstract definition of the imported resource for type checking.
Having said that, I think not all applications are equally concerned about security. Public services such as maps, weather services, flight schedules... can all benefit from a cleaner way to represent their APIs where the security is a lesser concern.
I don't really get the zen of GPG/IMOP/Meso.
You compare it to REST -yet it seems to be an RPC mechanism though
and through.
If I may be so bold (and I probably misunderstood) you seem to make
the classical error of so-called "low REST" viz. programming the web
via RPC, not resources.
I feels more like SOAP, but with "lazy" retrieval of types (rather
than up front in some wsdl etc) and json instead of xml -and meso
brings to mind F# type providers
Beyond that, what does it do (that SOAP doesn't)?
Does the client push code to the server? (eg PUT+ EVAL in place of PUT
+ GET)
Does one create remote persistent objects?
It seems odd to me to expose the protocol in a user friendly way (a la
REST over SOAP) and then bury it again in a compiler.
I await embarrassment at having missed the point :-)
Pete F
>>In contrast, if I tell you that I have an abstract interface named
"imop:foo.com/IService", the name is associated with a globally unique
definition<<
Is this global, rather than "types per service" angle the key then?
So from you example "imop:twitter.com/public.Timeline" -the big
winner wouldn't necessarily be twitter directly -but rather would-be-
twitter.com's ability to not only implement imop:twitter.com/
public.Timeline but to declare their implementation formally (rather
than just say "we implement a twitter like api, no really" somewhere
on their site)
Does it follow that you *must* then do the dynamic binding, rather
than the latter being a good thing of itself?
In your example
>>
// pseudo code
ref = imop:bar.com/MyObject;
if ( ref instanceof imop:foo.com/IService )
assign_ref_to_obj();
else
throw_runtime_exception();
<<
does
instanceof imop:foo.com/IService
imply a round trip to the remote node (!!) -or are you already
sitting on a cache of type information (as you would be having
consumed some wsdl)
I *thought* that this was what Reinier Zwitserloot's was asking above,
but that question may have been about caching code (which is certainly
how you answered it)
Can't say I would want to pitch this stuff to Gilad Bracha ;-)
Pete F
Is this global, rather than "types per service" angle the key then?
Does it follow that you *must* then do the dynamic binding, rather
than the latter being a good thing of itself?
does
instanceof imop:foo.com/IService
imply a round trip to the remote node (!!) -or are you already
sitting on a cache of type information (as you would be having
consumed some wsdl)
Can't say I would want to pitch this stuff to Gilad Bracha ;-)