Archive for the Naiad Category

initial Context modularization

Posted in Context, Naiad, Spoon with tags on 20 June 2011 by Craig Latta

At last! I’ve wanted to see this list ever since I started Smalltalking. Here are the initial modules in Context, including the classes and methods they contain, numbered for reference.

How would you sort these classes by dependency?

Posted in Naiad, Spoon on 20 June 2011 by Craig Latta

Here are the last 168 classes remaining in Spoon. I’m sorting them into a graph of dependent modules for the next release. How would you do it? Suggestions welcome.

ArrayedCollection
Collection
SequenceableCollection
Array
ByteArray
Interval
LinkedList
OrderedCollection
SharedQueue
SortedCollection

Association
Link
LookupKey
ReadOnlyVariableBinding
WeakKeyAssociation

Character
String
Symbol

Dictionary
IdentityDictionary
IdentitySet
Set
WeakArray
WeakIdentityKeyDictionary
WeakKeyDictionary
WeakRegistry
WeakSet

Behavior
Class
ClassBuilder
ClassDescription
Metaclass

Magnitude
Time

BlockContext
CompiledMethod
ContextPart
InstructionStream
Message
MethodContext
MethodDictionary

Float
Integer
LargeNegativeInteger
LargePositiveInteger
Number
Random
SmallInteger

Boolean
False
Object
True
UndefinedObject

Delay
Process
ProcessorScheduler
Semaphore

HTTPServer
HTTPAction
ExceptionMarker
OtherMarker
RemoteMethod
ClassID
MethodID
Module
ModuleDescription
Version
AuthorEdition
BehavioralEdition
Checkpoint
ClassEdition
CommentEdition
CommentedEdition
Edit
EditHistory
Edition
MetaclassEdition
MethodEdition
ProtoclassEdition
TaggedEdition
TagsEdition

Apache
GPL
GPL3
License
MIT
Squeak

BehavioralLiteralMarker
ClassLiteralMarker
ClassVariableLiteralMarker
GlobalLiteralMarker
IdentityLiteralMarker
MetaSuperSendLiteralMarker
MethodLiteralTransmissionMarker
PublishedVariableLiteralMarker
SharedVariableLiteralMarker
UndeclaredLiteralMarker

Manifest
NegativeManifest
PositiveManifest

DescribeModule
BrowseAvailableModules
EmitFavoritesIcon
InstallRemoteModule
ListInstalledModules
ModuleAction
Quit
RemoteModuleAction
RemoveModule
RunRemoteModule
Snapshot
Welcome

UUID
UUIDGenerator

CounterpartRequest
IncomingMessageExchange
MessageExchange
MessagingServer
MessagingSession
Other
OutgoingMessageExchange
RemoteMessageAnswer

Wormhole
WormholeServer

Scanner

Halt
BlockCannotReturn
Error
Exception
ExceptionAboutToReturn
Notification
ZeroDivide
ConnectionRefused
EncodingMismatch
ExternalResourceError
FailedReadingAttempt
InvalidPositioningAttempt
StreamingError
Timeout

MethodReference
Interpreter
ObjectMemory

PositionableStream
Stream
WritableStream

Correspondent
Server
SocketAddress
SocketAddressResolver
ExternalSemaphoreTable
Client
IncomingClient
IncomingHTTPClient
OutgoingClient
SocketTransport
Transport
ExternalStream
NetStream
SocketStream
TCPStream
ExternalResource
Peer
ClientTCPSocket
IncomingClientTCPSocket
OutgoingClientTCPSocket
ServerTCPSocket
Socket
TCPSocket

Windows and Linux apps created, initial modularization in progress

Posted in Naiad, Spoon on 14 June 2011 by Craig Latta

I’ve created Windows and Linux apps to go along with the Mac app I made for starting Spoon. Now I’m sorting all the classes and methods of the minimal object memory into modules. Next I’ll test installing a module from one memory to another via Spoon’s webpage interface. Then I’ll adapt the remote browsing support to Squeak 4.2. Then, a release!

Happy first Equinox!

Posted in Naiad, Spoon on 22 March 2011 by Craig Latta

Happy spring or autumn!

Making a deadline for myself pushed me to spend more time on Spoon, hooray! A couple of host-OS issues took more time than I thought they would, boo!

In the previous Spoon release, the (headless) minimal object memory includes a tiny web server that, when visited with a host-OS web browser, welcomes you to Spoon and offers a few suggestions for getting started (e.g., how to load modules). This release augments that with minimal virtual filesystem support (it turned out to be WebDAV), so that you can use “your favorite text editor” to interact with the system (eliminating what is for me the most annoying reason why people don’t try Smalltalk). I did this last, and it took longer than I thought it would to pull this off on Microsoft Windows (and yet, I’m not surprised :).

In the meantime, please do comment on http://netjam.org/spoon/naiad if you haven’t already. Thanks!

new Naiad memory visualization data

Posted in Naiad on 27 January 2011 by Craig Latta

minimal Naiad memory visualization, 2011-01-27

I’ve finished another manual pass through the minimal Naiad subject memory, and have generated another set of graph data for the Walrus 3D visualizer. There are 8,628 objects and 28,449 connections, in a memory that is 281,604 bytes in size. Try exploring around the space; please let me know if you find anything odd. :)  You can watch a sample exploration session, too:

Naiad says hello

Posted in Naiad with tags on 26 January 2011 by Craig Latta

Phew. I have Naiad (Spoon’s change management system) running in a small headless memory which is using another small headless memory as its edit history. I call the first one the “subject” memory, and the second one the “history” memory. I’m browsing the subject memory from a kitchen-sink memory that has Naiad support. I can install class and method editions into the subject memory from the browsing memory, and the subject memory keeps track of edits in the history memory, all without referring to class names. Naiad finally works! Yay!

Eventually, the headless subject memory will be the basis of a new distribution of Squeak… one where there is no bloat, everything is organized sanely, and everything is documented. :)

We can port the Naiad support to other memories (other versions of Squeak, and other Smalltalks). So, for example, one will be able to browse a Pharo memory from a VisualWorks memory and vice-versa.

Right now I’m doing another manual removal pass through the headless subject memory, using visualization data from the simulator as my guide.

This is fun!