[Vm-dev] Differentiate ProcessList and LinkedList - incomplete

Eliot Miranda eliot.miranda at gmail.com
Sun Jan 10 17:24:01 UTC 2016


Hi Ben,

    I'm not against this in principle.  But I wonder why anyone would muck about with LinkedList without checking in its subclasses in the first place.  And if the result is merely a hung image then that's an opportunity for learning.  Remember that the VM depends on Array as well as LinkedList.

Anyway if you want to make this change go for it; just make sure that ProcessList supports the full collection protocol and inherits from Collection.

_,,,^..^,,,_ (phone)

> On Jan 9, 2016, at 1:40 AM, Ben Coman <btc at openinworld.com> wrote:
> 
> 
> LinkedList is a generic concept but historically has been intimately
> coupled to Process scheduling.  While trying to make LinkedList API
> more generic, Pharo inadvertently introduced some problems with
> Processes, so we decided to copy LinkedList to ProcessList so this can
> remain specialised for Process scheduling, allowing LinkedList the
> opportunity to be more generic.
> 
> Here is some history at fogbugz.pharo.com:
> Background...
>  Case 5602 "LinkedList at: index putLink: aLink"
>  Case 10273 "Cleaning Linked List API"
> Changes...
>  Case 15868 "Differentiate ProcessList and LinkedList"
>  Case 15871 "enable ProcessList"
>  Case 17277 "newSpecialObjectsArray should return a process list
> instead of a linked list at item 41"
> 
> Semaphore rather intimately manipulates the process list, but it seems
> to have been missed as it still inherits from LinkedList.  Should it
> subclass ProcessList instead?
> 
> I guess FreeTypeCacheLinkedList and Stack can remain where they are.
> 
> 
> So also a question for the Squeak, Cuis & Newspeak communities...
> There are various references to LinkedList in the VM [1].  Currently
> only in comments but there are hints down the track there could be
> more direct use.  So I am wondering how these groups would feel about
> aligning with Pharo on this change, so the comments in the VM can be
> updated accordingly?
> 
> cheers -ben
> 
> [1] https://git.io/vuQQk


More information about the Vm-dev mailing list