about directly supporting an
>> >>>>>>>> extensib
>> >>>>>>> Given that it'd have a couple of
>> words for those counts it'd
>> >> >>
>> >>>>>>>> (like Ed said), and I'm trying
to fully understand why it's hard.
>> >>>>>>>>
>> >>
| Without any unlifted kind, we need
|- ArrayArray#
|- a set of new/read/write primops for every element type,
| either built-in or made from unsafeCoerce#
|
| With the unlifted kind, we would need
|- ArrayArray#
|- one set of new/read/write primops
|
| With levity
On 08/09/2015 13:10, Simon Peyton Jones wrote:
| Without any unlifted kind, we need
|- ArrayArray#
|- a set of new/read/write primops for every element type,
| either built-in or made from unsafeCoerce#
|
| With the unlifted kind, we would need
|- ArrayArray#
|- one set
From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Ryan Newton
Sent: 31 August 2015 23:11
To: Edward Kmett; Johan Tibell
Cc: Simon Marlow; Manuel M T Chakravarty; Chao-Hong Chen; ghc-devs; Ryan Scott;
Ryan Yates
Subject: Re: ArrayArrays
Dear Edward, Ryan Yates, and other interested
; *To:* Simon Peyton Jones
> *Cc:* Ryan Newton; Johan Tibell; Simon Marlow; Manuel M T Chakravarty;
> Chao-Hong Chen; ghc-devs; Ryan Scott; Ryan Yates
> *Subject:* Re: ArrayArrays
>
>
>
> I had a brief discussion with Richard during the Haskell Symposium about
> how we m
On Mon, Sep 7, 2015 at 4:16 PM, Edward Kmett wrote:
> Notably, it'd be interesting to explore the ability to allow parametricity
> over the portion of # that is just a gcptr.
Which is also a necessary part of Ed Yang's unlifted types proposal.
This portion of # becomes the
nks
>
>
>
> Simon
>
>
>
> *From:* ghc-devs [mailto:ghc-devs-boun...@haskell.org] *On Behalf Of *Ryan
> Newton
> *Sent:* 31 August 2015 23:11
> *To:* Edward Kmett; Johan Tibell
> *Cc:* Simon Marlow; Manuel M T Chakravarty; Chao-Hong Chen; ghc-devs;
> Ryan Scott; R
Newton
> *Sent:* 31 August 2015 23:11
> *To:* Edward Kmett; Johan Tibell
> *Cc:* Simon Marlow; Manuel M T Chakravarty; Chao-Hong Chen; ghc-devs;
> Ryan Scott; Ryan Yates
> *Subject:* Re: ArrayArrays
>
>
>
> Dear Edward, Ryan Yates, and other interested parties --
>
>
&
ailto:ghc-devs-boun...@haskell.org] *On Behalf Of *Ryan
>> Newton
>> *Sent:* 31 August 2015 23:11
>> *To:* Edward Kmett; Johan Tibell
>> *Cc:* Simon Marlow; Manuel M T Chakravarty; Chao-Hong Chen; ghc-devs;
>> Ryan Scott; Ryan Yates
>> *Subject:* Re: ArrayA
d
>>> design? And, I earnestly hope, also describes the menagerie of currently
>>> available array types and primops so that users can have some chance of
>>> picking the right one?!
>>>
>>>
>>>
>>> Thanks
>>>
>>>
>
nbounded
>>>>> >> >>>>>> length) with extra payload.
>>>>> >> >>>>>>
>>>>> >> >>>>>> I can see how we can do without structs if we have arrays,
>>>>> >> >>>&
t;>>>> the heap.
> >>>>>> >> >>>>>>>>>
> >>>>>> >> >>>>>>>>>
> >>>>>> >> >>>>>>>>&g
To: Simon Peyton Jones
Cc: Manuel M T Chakravarty; Simon Marlow; ghc-devs
Subject: Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant.
It
points directly to other unlifted ArrayArray#'s or
ByteArray#'s.
While those live
Chakravarty; Simon Marlow; ghc-devs
Subject: Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It points directly
to other unlifted ArrayArray#'s or ByteArray#'s.
While those live in #, they are garbage collected objects, so this all lives on
the heap.
They were added to make
On 27/08/2015 19:36, Edward Kmett wrote:
On Thu, Aug 27, 2015 at 1:24 PM, Edward Z. Yang ezy...@mit.edu
mailto:ezy...@mit.edu wrote:
It seems to me that we should take a page from OCaml's playbook
and add support for native mutable fields in objects, because
this is essentially what
...@gmail.com]
Sent: 27 August 2015 16:54
To: Simon Peyton Jones
Cc: Manuel M T Chakravarty; Simon Marlow; ghc-devs
Subject: Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It
points directly to other unlifted ArrayArray#'s or ByteArray#'s.
While those
, please do make it into a wiki page on the GHC Trac, and
maybe
make a ticket for it.
Thanks
Simon
From: Edward Kmett [mailto:ekm...@gmail.com]
Sent: 27 August 2015 16:54
To: Simon Peyton Jones
Cc: Manuel M T Chakravarty; Simon Marlow; ghc-devs
Subject: Re: ArrayArrays
2015 16:54
*To:* Simon Peyton Jones
*Cc:* Manuel M T Chakravarty; Simon Marlow; ghc-devs
*Subject:* Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It points
directly to other unlifted ArrayArray#'s or ByteArray#'s.
While those live in #, they are garbage
Chakravarty
*Cc:* Simon Marlow; ghc-devs
*Subject:* Re: ArrayArrays
When (ab)using them for this purpose, SmallArrayArray's would be
very handy as well.
Consider right now if I have something like an order-maintenance
structure I have:
data Upper s = Upper {-# UNPACK
Simon
From: Edward Kmett [mailto:ekm...@gmail.com]
Sent: 27 August 2015 16:54
To: Simon Peyton Jones
Cc: Manuel M T Chakravarty; Simon Marlow; ghc-devs
Subject: Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It points
directly to other unlifted
Simon
*From:* Edward Kmett [mailto:ekm...@gmail.com]
*Sent:* 27 August 2015 16:54
*To:* Simon Peyton Jones
*Cc:* Manuel M T Chakravarty; Simon Marlow; ghc-devs
*Subject:* Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It points
directly to other unlifted
-devs
*Subject:* Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It points
directly to other unlifted ArrayArray#'s or ByteArray#'s.
While those live in #, they are garbage collected objects, so this all
lives on the heap.
They were added to make some
*To:* Simon Peyton Jones
*Cc:* Manuel M T Chakravarty; Simon Marlow; ghc-devs
*Subject:* Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It points
directly to other unlifted ArrayArray#'s or ByteArray#'s.
While those live in #, they are garbage collected
Kmett [mailto:ekm...@gmail.com]
*Sent:* 27 August 2015 16:54
*To:* Simon Peyton Jones
*Cc:* Manuel M T Chakravarty; Simon Marlow; ghc-devs
*Subject:* Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It points
directly to other unlifted ArrayArray#'s or ByteArray
it into a wiki page on the GHC Trac, and maybe make
a ticket for it.
Thanks
Simon
*From:* Edward Kmett [mailto:ekm...@gmail.com]
*Sent:* 27 August 2015 16:54
*To:* Simon Peyton Jones
*Cc:* Manuel M T Chakravarty; Simon Marlow; ghc-devs
*Subject:* Re: ArrayArrays
An ArrayArray# is just
From: Edward Kmett [mailto:ekm...@gmail.com]
Sent: 27 August 2015 16:54
To: Simon Peyton Jones
Cc: Manuel M T Chakravarty; Simon Marlow; ghc-devs
Subject: Re: ArrayArrays
An ArrayArray# is just an Array# with a modified invariant. It
points directly to other unlifted ArrayArray#'s
] On Behalf Of Edward Kmett
Sent: 21 August 2015 05:25
To: Manuel M T Chakravarty
Cc: Simon Marlow; ghc-devs
Subject: Re: ArrayArrays
When (ab)using them for this purpose, SmallArrayArray's would be very handy as
well.
Consider right now if I have something like an order-maintenance structure I
It seems to me that we should take a page from OCaml's playbook
and add support for native mutable fields in objects, because
this is essentially what a mix of words and pointers is.
The big question, as always, is what the syntax should be.
Edward
Excerpts from Ryan Yates's message of
05:25
*To:* Manuel M T Chakravarty
*Cc:* Simon Marlow; ghc-devs
*Subject:* Re: ArrayArrays
When (ab)using them for this purpose, SmallArrayArray's would be very
handy as well.
Consider right now if I have something like an order-maintenance structure
I have:
data Upper s = Upper
On Thu, Aug 27, 2015 at 1:24 PM, Edward Z. Yang ezy...@mit.edu wrote:
It seems to me that we should take a page from OCaml's playbook
and add support for native mutable fields in objects, because
this is essentially what a mix of words and pointers is.
That actually doesn't work as well as
Hi Edward,
I've been working on removing indirection in STM and I added a heap
object like SmallArray, but with a mix of words and pointers (as well
as a header with metadata for STM). It appears to work well now, but
it is missing the type information. All the pointers have the same
type which
On Fri, Aug 21, 2015 at 9:49 AM, Ryan Yates fryguy...@gmail.com wrote:
Hi Edward,
I've been working on removing indirection in STM and I added a heap
object like SmallArray, but with a mix of words and pointers (as well
as a header with metadata for STM). It appears to work well now, but
That’s an interesting idea.
Manuel
Edward Kmett ekm...@gmail.com:
Would it be possible to add unsafe primops to add Array# and SmallArray#
entries to an ArrayArray#? The fact that the ArrayArray# entries are all
directly unlifted avoiding a level of indirection for the containing
When (ab)using them for this purpose, SmallArrayArray's would be very handy
as well.
Consider right now if I have something like an order-maintenance structure
I have:
data Upper s = Upper {-# UNPACK #-} !(MutableByteArray s) {-# UNPACK #-}
!(MutVar s (Upper s)) {-# UNPACK #-} !(MutVar s (Upper
36 matches
Mail list logo