
Hi, I’m thinking about how to write a Tuple Space (TS) in Haskell. A tuple can have many fields of different types, in pseudo code something like T = (1, ”A string”, 3.4) i.e. an int, string and double. How can this (and the many variations) be done in Haskell? (In Java it would be a list of Object) Thanks Mike

Thanks for the quick reply! No, that wouldn’t work as that would tie a tuple to Int, Double,String for all tuples. (1,1,2,3,”string”, 4.5, “string”, 1) is also valid tuple In Java I would use List<Object> so any number of (non-primitives) can be used. Thanks Mike
On 5 Feb 2016, at 21:43, Imants Cekusins
wrote: T = (1, ”A string”, 3.4) i.e. an int, string and double.
would this suit:
data Object = Int' Int | Double' Double | String' String type T = [Object]
? _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners

HList.
Also in Java, you'd use HList (never use Object).
http://www.functionaljava.org/javadoc/4.0/fj/data/hlist/HList.html
On Sat, Feb 6, 2016 at 7:58 AM, Mike Houghton
Thanks for the quick reply!
No, that wouldn’t work as that would tie a tuple to Int, Double,String for all tuples.
(1,1,2,3,”string”, 4.5, “string”, 1) is also valid tuple
In Java I would use List<Object> so any number of (non-primitives) can be used.
Thanks
Mike
On 5 Feb 2016, at 21:43, Imants Cekusins
wrote: T = (1, ”A string”, 3.4) i.e. an int, string and double.
would this suit:
data Object = Int' Int | Double' Double | String' String type T = [Object]
? _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners

Nice, thanks.
On 5 Feb 2016, at 22:03, Tony Morris
wrote: HList.
Also in Java, you'd use HList (never use Object). http://www.functionaljava.org/javadoc/4.0/fj/data/hlist/HList.html http://www.functionaljava.org/javadoc/4.0/fj/data/hlist/HList.html
On Sat, Feb 6, 2016 at 7:58 AM, Mike Houghton
mailto:mike_k_houghton@yahoo.co.uk> wrote: Thanks for the quick reply! No, that wouldn’t work as that would tie a tuple to Int, Double,String for all tuples.
(1,1,2,3,”string”, 4.5, “string”, 1) is also valid tuple
In Java I would use List<Object> so any number of (non-primitives) can be used.
Thanks
Mike
On 5 Feb 2016, at 21:43, Imants Cekusins
mailto:imantc@gmail.com> wrote: T = (1, ”A string”, 3.4) i.e. an int, string and double.
would this suit:
data Object = Int' Int | Double' Double | String' String type T = [Object]
? _______________________________________________ Beginners mailing list Beginners@haskell.org mailto:Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org mailto:Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners

In Java List<T> ensures all entries are of type T - so only one type allowed. List<Object> allows anything but you lose type safety. HList allows anything and retains the types. (but you do get a lot of <<< >>>>>> in declarations :) and really its pushing Java into something it isn’t. )
On 5 Feb 2016, at 22:13, Imants Cekusins
wrote: in Java, you'd use HList (never use Object).
this is new to me. How is it different from List? _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
participants (3)
-
Imants Cekusins
-
Mike Houghton
-
Tony Morris