[clean-list] where to look for module-functions --- Re: term reading and writing

HP Wei hp at rentec.com
Thu May 1 16:49:08 MEST 2008


Thanks, Thomas, for your hints. 

And that brings me to another question.
In general, where can I look in order to find what modules
and/or functions are available in clean ?
[ by browsing through all *.dcl files ?? ]
  
Thanks
hp


On Thu, 1 May 2008, Thomas van Noort wrote:

> Hi,
> 
> The Generics library, provided in the Clean distribution, contains two modules
> which define exactly the functions you require.
> 
> HP Wei wrote:
> > Newbie questions--
> > 
> > Suppose there is a data type,
> > 
> > : : Person = { name :: String,
> >               id :: (Int, String),
> >               flag :: Bool }
> > 
> > Suppose a file whose name is fname.txt has the following content:
> > { name = "a_name",
> >   id = (123, "an_id"),
> >   flag = True }
> > 
> > -----------------------------------
> > Q1: how do I 'read in' a Person from fname.txt ?
> >    [ i.e.
> >      If person is of type Person,
> >      person = _read_ "fname.txt"
> > 
> >    is there a built-in fx that does the above _read_ ?
> >    Or shall I need to write a parse-fx to do this ?
> 
> Import the module GenParse from the Generics library and use the function
> parseFile,
> 
> parseFile : : File -> Maybe a | gParse{|*|} a
> 
> which requires you to derive an instance of gParse for Person,
> 
> derive gParse Person
> 
> > 
> > Q2: if person = {name ="xyz",
> >                  id = (456, "id"),
> >                  flag = False}
> > 
> >     how do I _print_ this 'person' to a text file
> >     fname1.txt ?
> 
> Import the module GenPrint from the Generics library and use the function
> printToString,
> 
> printToString : : a -> String | gPrint{|*|} a
> 
> which requires you to derive an instance of gPrint for Person,
> 
> derive gPrint Person
> 
> The function returns a String but you can easily define a function yourself
> which prints to a file,
> 
> printToFile : : a File -> File | gPrint{|*|} a
> 
> > 
> > *** for those who knows Erlang, Q1 and Q2 are term 
> >     reading and writing.
> > 
> > THanks
> > HP
> > 
> > 
> > _______________________________________________
> > clean-list mailing list
> > clean-list at science.ru.nl
> > http://mailman.science.ru.nl/mailman/listinfo/clean-list
> 
> Regards,
> Thomas
> 
> 
> 


More information about the clean-list mailing list