Dear Bas,

That sounds good... Didn't (and couldn't) know that Ok, I'm going to try both 
suggested options then, see which one works best for me.

Thanks again,

Chide


________________________________
Van: [email protected] [[email protected]] namens 
Bas Lijnse [[email protected]]
Verzonden: woensdag 30 november 2011 16:14
Aan: [email protected]
Onderwerp: Re: [clean-list] Dynamic typing for communication with 
non-cleanprograms

Dear Chide,

the JSON serialization works fine with ADTs. It simply represents them as JSON 
arrays that contain a string as first element that encodes the contstructor.
The only limitations the library has are serialization of functions (inside 
data structures) and inherently lazy structures. Serialization is done strict, 
so serialization of infinite lists isn't the best idea :)
Serialization of functions is possible through some trickery with dynamics, but 
that is kinda scary and crashes your program if you deserialize after 
recompilation :)

Best,
Bas


On 30-11-11 16:04, Groenouwe, C. wrote:
Dear Bas and Erik,

Thanks for your good tips, I'll keep them in mind. However, I
don't know to what extent it applies to my current situation. My
first post was perhaps a bit misleading in that I have defined some
types which beautifully fit in algebraic data types. I.e. I'd rather
express the problem in the Clean type than in an OO structure (btw, the
other language I use is not java, it was just an hypothetical example).
I guess JSON is not expressive enough to deal with ADTs, or is it?

________________________________
Van: [email protected]<mailto:[email protected]> 
[[email protected]<mailto:[email protected]>] 
namens Bas Lijnse [[email protected]<mailto:[email protected]>]
Verzonden: maandag 21 november 2011 15:02
Aan: [email protected]<mailto:[email protected]>
Onderwerp: Re: [clean-list] Dynamic typing for communication with 
non-cleanprograms

The JSON libraries that Erik mentions are available from:
https://svn.cs.ru.nl/repos/clean-platform/trunk/src/libraries/OS-Independent/Text/

I always use this when I want to do simple data exchange between Clean and 
another language (I may be biased as author/maintainer of the library though :) 
)

Best,
Bas

On 21-11-11 14:52, [email protected]<mailto:[email protected]> wrote:

And dump all the hard work on Java? Dynamics are a proprietary Clean format and 
likely more complex/liberal than you need. Maybe JSON is easier to use: 
probably available in your JAVA implementation already and under the hood JSON 
converters are already available in Clean iTasks.


-----Oorspronkelijk bericht-----
Van: [email protected]<mailto:[email protected]> 
namens Groenouwe, C.
Verzonden: ma 21-11-2011 13:39
Aan: [email protected]<mailto:[email protected]>
CC: [email protected]<mailto:[email protected]>
Onderwerp: [clean-list] Dynamic typing for communication with non-cleanprograms

Dear Pieter (and others),

Then another question:

If you want to send information from one programming language (e.g. Java) to 
Clean, a typical way to go would be the following. First define an intermediate 
representation (for example in XML, or your own format). Then write a generator 
on the sender's side (in this case in Java), which converts a Java value or 
object into a file in the intermediate representation. Finally, write a parser 
on the receiver's side (Clean) which parses file holding the intermediate 
representation into a Clean value (with a Clean type). This is a labourious 
process during which you have the feeling you are are doing a lot of 
unnecessary work. As if you are repackaging the same sandwich three times in a 
row, first in a Java structure, then in the intermediate structure, and then 
again in a Clean structure... Waste of time (and the environment...) ;-)

However, I had an idea: is it possible to use Clean's dynamic types for this 
purpose? Instead of generating some arbitrary intermediate type on the sender's 
side, immediately generate a value that can be read by Clean's dynamic type 
system. This would cut your work in half: you don't have to write a parser on 
Clean's side any more.

I don't have any experience using Clean's dynamic typing yet, therefore I 
decided to first ask whether it is a fruitful approach before exploring it. 
Thus, is this possible and is it a good idea? Of course, I'm also open to other 
suggestions.

Thanks in advance,

Chide







_______________________________________________
clean-list mailing list
[email protected]<mailto:[email protected]>
http://mailman.science.ru.nl/mailman/listinfo/clean-list



_______________________________________________
clean-list mailing list
[email protected]
http://mailman.science.ru.nl/mailman/listinfo/clean-list

Reply via email to