[clean-list] Dynamic typing for communication with non-cleanprograms

Bas Lijnse b.lijnse at cs.ru.nl
Wed Nov 30 16:14:11 MET 2011


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:* clean-list-bounces at science.ru.nl
> [clean-list-bounces at science.ru.nl] namens Bas Lijnse [b.lijnse at cs.ru.nl]
> *Verzonden:* maandag 21 november 2011 15:02
> *Aan:* clean-list at science.ru.nl
> *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, zuurb078 at planet.nl 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: clean-list-bounces at science.ru.nl namens Groenouwe, C.
>> Verzonden: ma 21-11-2011 13:39
>> Aan: pieter at cs.ru.nl
>> CC: clean-list at science.ru.nl
>> 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
>> clean-list at science.ru.nl
>> http://mailman.science.ru.nl/mailman/listinfo/clean-list
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/clean-list/attachments/20111130/6c88e7e1/attachment-0001.html>


More information about the clean-list mailing list