Typeable, StaticPtr, and Closures in distributed Haskell

15 views
Skip to first unread message

Simon Peyton Jones

unread,
Oct 13, 2014, 8:49:05 AM10/13/14
to distribut...@googlegroups.com, Pedro Magalhães (dreixel@gmail.com), Stephanie Weirich, Dimitrios Vytiniotis, Richard Eisenberg, Mathieu Boespflug

Friends

 

At ICFP and subsequently we had lots of good conversations about support for distribution in Haskell.

 

I have just done a re-org of our wiki pages about these issues.  We now have:

·         https://ghc.haskell.org/trac/ghc/wiki/DistributedHaskell, a kind of root page for this stuff.

·         https://ghc.haskell.org/trac/ghc/wiki/Typeable, for work on Typeable.   Stephanie and Richard are big here.

·         https://ghc.haskell.org/trac/ghc/wiki/StaticPointers, for work on support for StaticPtr.  This is mostly just the middle chunk of my blog post

·         https://ghc.haskell.org/trac/ghc/wiki/DistributedClosures, for work on building Closure on top of StaticPtr and Typeable.  Mathier Boespflug wrote this, and I have not yet grokked it all, though I like the general approach.

 

I don’t think I have removed any material, though I have moved it around a bit.

 

Let’s use this as our basis for discussion.

 

Simon

Boespflug, Mathieu

unread,
Oct 13, 2014, 9:30:45 AM10/13/14
to Simon Peyton Jones, distribut...@googlegroups.com, Pedro Magalhães (dreixel@gmail.com), Stephanie Weirich, Dimitrios Vytiniotis, Richard Eisenberg
Hi Simon,

thanks for the wiki pages reorg. This adds some clarity and will help
us all find various points about the design space faster. I'm afraid
some of my more recent stuff was lost in the shuffle, in particular
with regards to the Dict trick (watch out for the spoonerism on that
one...), which I think we'll need to generalize. I'll try to get that
back online tonight, with a bit more of on the rationale side.

Also, one remark. I think it would be useful to distinguish
Serializable-the-class-of-types-that-can-be-encoded-and-identified-on-the-other-end,
from Serializable-the-class-of-types-that-can-be-encoded. In CH today,
we have:

{{{
class Binary a where
encode :: a -> ByteString
decode :: ByteString -> a

class (Binary a, Typeable a) => Serializable a
instance (Binary a, Typeable a) => Serializable a
}}}
(the true definition of `Binary` is slightly different, but you get the idea.)

Best,
--
Mathieu Boespflug
Founder at http://tweag.io.

Phil Trinder

unread,
Oct 17, 2014, 5:41:33 AM10/17/14
to Boespflug, Mathieu, Simon Peyton Jones, distribut...@googlegroups.com, Pedro Magalhães (dreixel@gmail.com), Stephanie Weirich, Dimitrios Vytiniotis, Richard Eisenberg
Like the wiki reorganisation Simon.

A couple of placeholder remarks about HdpH requirements.

1. HpdH needs polymorphic closures, and in our operating environment we're likely to trust the network and hence send them unsafely, i.e. without type representations.

2. HpdH routinely computes with closures on a node and hence we need efficient ways of
* closuring and unclosuring (polymorphic) thunks, and
* representing polymorphic closures

Patrick will shortly send a technical analysis of the current proposal from an HdpH perspective.

Phil

________________________________________
From: distribut...@googlegroups.com [distribut...@googlegroups.com] on behalf of Boespflug, Mathieu [m...@tweag.io]
Sent: Monday, October 13, 2014 2:30 PM
To: Simon Peyton Jones
Cc: distribut...@googlegroups.com; Pedro Magalhães (dre...@gmail.com); Stephanie Weirich; Dimitrios Vytiniotis; Richard Eisenberg
Subject: Re: Typeable, StaticPtr, and Closures in distributed Haskell

Hi Simon,

--
You received this message because you are subscribed to the Google Groups "Distributed Haskell" group.
To unsubscribe from this group and stop receiving emails from it, send an email to distributed-has...@googlegroups.com.
To post to this group, send an email to distribut...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/distributed-haskell/CAJ0eudqgyYLKFSySAerveKqwhkTuR6Vo%2BBVG1X%2B2UFeY94LQTw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages