Hi all,
I've got the next toy for you :-) It's couple of months when I was doing something with Marvin (the Self dialect for Squeak). But there's one part of this project that was never published and that may be interesting for you - the prototype of the Self-like outliner. It's stand-alone code so it's not dependent on the rest of this project. You can download it here: http://squeaksource.com/Marvin/Marvin-Outliner-pk.1.mcz and it looks like this: http://www.comtalk.net/Squeak/uploads/95/outliner.PNG You can create some outliners using this code o := MarvinOutliner for: MarvinOtlObjectAbstractModel new. o flyTo: 100@100. Then you can create slots, create sections of slots, open evaluator, move slots from one outliner to another, create new object from slots and so on. But connectors are not working well now and if I remember it well, the code needs some cleanup. In fact Marvin is not absolutely dead project (the public repository doesn't contain the latest version) but SmaCC doesn't have some features that I need for working with source code and clone families so I need to write new compiler and I don't have enough time for it now. Enjoy! -- Pavel |
Hi Pavel,
is there anything special needed (.image release, other package(s), etc). /Klaus 25 August 2006 9:33:04 am VM: Win32 - a SmalltalkImage Image: Squeak3.9alpha [latest update: #7051] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir ...\kWitzel\My Documents\Squeak3.9 Trusted Dir ...\kWitzel\My Documents\Squeak3.9\kWitzel Untrusted Dir ...\My Squeak\kWitzel MarvinOtlEditor(Object)>>doesNotUnderstand: #scrollbarWidth Receiver: a MarvinOtlEditor(3637) Arguments and temporary variables: aMessage: scrollbarWidth Receiver's instance variables: bounds: 0@0 corner: 320@120 owner: nil submorphs: an Array(a MarvinOtlEditorResizingMorph(1979) a ScrollBar(2316) a Tr...etc... fullBounds: nil color: Color white extension: a MorphExtension (3809) [other: (borderStyle -> a SimpleBorder) (vS...etc... borderWidth: 2 borderColor: Color black model: nil slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(2316) scroller: a TransformMorph(21) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false hScrollBar: a ScrollBar(1084) textMorph: nil getTextSelector: nil setTextSelector: nil getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: nil hasEditingConflicts: false resizingMorph: a MarvinOtlEditorResizingMorph(1979) resizeAction: nil resizerOffset: 0@0 MarvinOtlEditor>>initialize Receiver: a MarvinOtlEditor(3637) Arguments and temporary variables: Receiver's instance variables: bounds: 0@0 corner: 320@120 owner: nil submorphs: an Array(a MarvinOtlEditorResizingMorph(1979) a ScrollBar(2316) a Tr...etc... fullBounds: nil color: Color white extension: a MorphExtension (3809) [other: (borderStyle -> a SimpleBorder) (vS...etc... borderWidth: 2 borderColor: Color black model: nil slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(2316) scroller: a TransformMorph(21) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false hScrollBar: a ScrollBar(1084) textMorph: nil getTextSelector: nil setTextSelector: nil getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: nil hasEditingConflicts: false resizingMorph: a MarvinOtlEditorResizingMorph(1979) resizeAction: nil resizerOffset: 0@0 MarvinOtlEditor class(Behavior)>>new Receiver: MarvinOtlEditor Arguments and temporary variables: Receiver's instance variables: superclass: PluggableTextMorph methodDict: a MethodDictionary(#drawOn:->a CompiledMethod (125) #initialize->a ...etc... format: 194 instanceVariables: #('resizingMorph' 'resizeAction' 'resizerOffset') organization: ('as yet unclassified' drawOn: initialize initializeFor:) ('acces...etc... subclasses: nil name: #MarvinOtlEditor classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Marvin-Outliner' traitComposition: nil localSelectors: nil prototype: nil MarvinOtlEditor class(MorphicModel class)>>new Receiver: MarvinOtlEditor Arguments and temporary variables: Receiver's instance variables: superclass: PluggableTextMorph methodDict: a MethodDictionary(#drawOn:->a CompiledMethod (125) #initialize->a ...etc... format: 194 instanceVariables: #('resizingMorph' 'resizeAction' 'resizerOffset') organization: ('as yet unclassified' drawOn: initialize initializeFor:) ('acces...etc... subclasses: nil name: #MarvinOtlEditor classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Marvin-Outliner' traitComposition: nil localSelectors: nil prototype: nil --- The full stack --- MarvinOtlEditor(Object)>>doesNotUnderstand: #scrollbarWidth MarvinOtlEditor>>initialize MarvinOtlEditor class(Behavior)>>new MarvinOtlEditor class(MorphicModel class)>>new - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MarvinOtlEditor class(PluggableTextMorph class)>>on:text:accept:readSelection:menu: MarvinOtlEditor class>>on: MarvinOtlEvaluator>>initialize MarvinOtlEvaluator class(MarvinOtlComponent class)>>for: ...etc... On Fri, 25 Aug 2006 00:30:57 +0200, Pavel Krivanek wrote: > Hi all, > > I've got the next toy for you :-) > > It's couple of months when I was doing something with Marvin (the Self > dialect for Squeak). But there's one part of this project that was > never published and that may be interesting for you - the prototype of > the Self-like outliner. It's stand-alone code so it's not dependent on > the rest of this project. > > You can download it here: > http://squeaksource.com/Marvin/Marvin-Outliner-pk.1.mcz > and it looks like this: > http://www.comtalk.net/Squeak/uploads/95/outliner.PNG > > You can create some outliners using this code > > o := MarvinOutliner for: MarvinOtlObjectAbstractModel new. > o flyTo: 100@100. > > Then you can create slots, create sections of slots, open evaluator, > move slots from one outliner to another, create new object from slots > and so on. But connectors are not working well now and if I remember > it well, the code needs some cleanup. > > In fact Marvin is not absolutely dead project (the public repository > doesn't contain the latest version) but SmaCC doesn't have some > features that I need for working with source code and clone families > so I need to write new compiler and I don't have enough time for it > now. > > Enjoy! > -- Pavel > > |
I have tested it on Squeak 3.8 without problems.
-- Pavel On 8/25/06, Klaus D. Witzel <[hidden email]> wrote: > Hi Pavel, > > is there anything special needed (.image release, other package(s), etc). > > /Klaus > > 25 August 2006 9:33:04 am > > VM: Win32 - a SmalltalkImage > Image: Squeak3.9alpha [latest update: #7051] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > Working Dir ...\kWitzel\My Documents\Squeak3.9 > Trusted Dir ...\kWitzel\My Documents\Squeak3.9\kWitzel > Untrusted Dir ...\My Squeak\kWitzel > > MarvinOtlEditor(Object)>>doesNotUnderstand: #scrollbarWidth > Receiver: a MarvinOtlEditor(3637) > Arguments and temporary variables: > aMessage: scrollbarWidth > Receiver's instance variables: > bounds: 0@0 corner: 320@120 > owner: nil > submorphs: an Array(a MarvinOtlEditorResizingMorph(1979) a > ScrollBar(2316) a Tr...etc... > fullBounds: nil > color: Color white > extension: a MorphExtension (3809) [other: (borderStyle -> a > SimpleBorder) (vS...etc... > borderWidth: 2 > borderColor: Color black > model: nil > slotName: nil > open: false > pinSpecs: nil > scrollBar: a ScrollBar(2316) > scroller: a TransformMorph(21) > retractableScrollBar: false > scrollBarOnLeft: true > getMenuSelector: nil > getMenuTitleSelector: nil > scrollBarHidden: nil > hasFocus: false > hScrollBar: a ScrollBar(1084) > textMorph: nil > getTextSelector: nil > setTextSelector: nil > getSelectionSelector: nil > hasUnacceptedEdits: false > askBeforeDiscardingEdits: true > selectionInterval: nil > hasEditingConflicts: false > resizingMorph: a MarvinOtlEditorResizingMorph(1979) > resizeAction: nil > resizerOffset: 0@0 > > MarvinOtlEditor>>initialize > Receiver: a MarvinOtlEditor(3637) > Arguments and temporary variables: > > Receiver's instance variables: > bounds: 0@0 corner: 320@120 > owner: nil > submorphs: an Array(a MarvinOtlEditorResizingMorph(1979) a > ScrollBar(2316) a Tr...etc... > fullBounds: nil > color: Color white > extension: a MorphExtension (3809) [other: (borderStyle -> a > SimpleBorder) (vS...etc... > borderWidth: 2 > borderColor: Color black > model: nil > slotName: nil > open: false > pinSpecs: nil > scrollBar: a ScrollBar(2316) > scroller: a TransformMorph(21) > retractableScrollBar: false > scrollBarOnLeft: true > getMenuSelector: nil > getMenuTitleSelector: nil > scrollBarHidden: nil > hasFocus: false > hScrollBar: a ScrollBar(1084) > textMorph: nil > getTextSelector: nil > setTextSelector: nil > getSelectionSelector: nil > hasUnacceptedEdits: false > askBeforeDiscardingEdits: true > selectionInterval: nil > hasEditingConflicts: false > resizingMorph: a MarvinOtlEditorResizingMorph(1979) > resizeAction: nil > resizerOffset: 0@0 > > MarvinOtlEditor class(Behavior)>>new > Receiver: MarvinOtlEditor > Arguments and temporary variables: > > Receiver's instance variables: > superclass: PluggableTextMorph > methodDict: a MethodDictionary(#drawOn:->a CompiledMethod (125) > #initialize->a ...etc... > format: 194 > instanceVariables: #('resizingMorph' 'resizeAction' 'resizerOffset') > organization: ('as yet unclassified' drawOn: initialize initializeFor:) > ('acces...etc... > subclasses: nil > name: #MarvinOtlEditor > classPool: nil > sharedPools: nil > environment: a SystemDictionary(lots of globals) > category: #'Marvin-Outliner' > traitComposition: nil > localSelectors: nil > prototype: nil > > MarvinOtlEditor class(MorphicModel class)>>new > Receiver: MarvinOtlEditor > Arguments and temporary variables: > > Receiver's instance variables: > superclass: PluggableTextMorph > methodDict: a MethodDictionary(#drawOn:->a CompiledMethod (125) > #initialize->a ...etc... > format: 194 > instanceVariables: #('resizingMorph' 'resizeAction' 'resizerOffset') > organization: ('as yet unclassified' drawOn: initialize initializeFor:) > ('acces...etc... > subclasses: nil > name: #MarvinOtlEditor > classPool: nil > sharedPools: nil > environment: a SystemDictionary(lots of globals) > category: #'Marvin-Outliner' > traitComposition: nil > localSelectors: nil > prototype: nil > > > --- The full stack --- > MarvinOtlEditor(Object)>>doesNotUnderstand: #scrollbarWidth > MarvinOtlEditor>>initialize > MarvinOtlEditor class(Behavior)>>new > MarvinOtlEditor class(MorphicModel class)>>new > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > MarvinOtlEditor class(PluggableTextMorph > class)>>on:text:accept:readSelection:menu: > MarvinOtlEditor class>>on: > MarvinOtlEvaluator>>initialize > MarvinOtlEvaluator class(MarvinOtlComponent class)>>for: > ...etc... > > On Fri, 25 Aug 2006 00:30:57 +0200, Pavel Krivanek wrote: > > > Hi all, > > > > I've got the next toy for you :-) > > > > It's couple of months when I was doing something with Marvin (the Self > > dialect for Squeak). But there's one part of this project that was > > never published and that may be interesting for you - the prototype of > > the Self-like outliner. It's stand-alone code so it's not dependent on > > the rest of this project. > > > > You can download it here: > > http://squeaksource.com/Marvin/Marvin-Outliner-pk.1.mcz > > and it looks like this: > > http://www.comtalk.net/Squeak/uploads/95/outliner.PNG > > > > You can create some outliners using this code > > > > o := MarvinOutliner for: MarvinOtlObjectAbstractModel new. > > o flyTo: 100@100. > > > > Then you can create slots, create sections of slots, open evaluator, > > move slots from one outliner to another, create new object from slots > > and so on. But connectors are not working well now and if I remember > > it well, the code needs some cleanup. > > > > In fact Marvin is not absolutely dead project (the public repository > > doesn't contain the latest version) but SmaCC doesn't have some > > features that I need for working with source code and clone families > > so I need to write new compiler and I don't have enough time for it > > now. > > > > Enjoy! > > -- Pavel > > > > > > > > |
On Fri, 25 Aug 2006 09:46:39 +0200, Pavel Krivanek wrote:
> I have tested it on Squeak 3.8 Yes indeed, it starts in Squeak 3.8 :) > without problems. A typical developer understatement ;-) > Pavel, I have a working compiler for slot objects in Squeak (even a runtime), works "without problems". It does recursive descent parsing, so the developer has control and can debug (versus: it works in theory but YACC and friends' support for error reporting is terrible). I am about to adapt my system to make use of the #closures messages category of CompiledMethod (Squeak 3.9). What are your intentions with Marvin: a - support Smalltalk syntax only b - support implicit-self sends c - support message cascading with ; (I do so) and, besides explicit redirection, d - support just one superclass (parent*) slot e - support multiple parent* slots /Klaus |
On 8/25/06, Klaus D. Witzel <[hidden email]> wrote:
> On Fri, 25 Aug 2006 09:46:39 +0200, Pavel Krivanek wrote: > > > I have tested it on Squeak 3.8 > > Yes indeed, it starts in Squeak 3.8 :) > > > without problems. > > A typical developer understatement ;-) > > > > > Pavel, I have a working compiler for slot objects in Squeak (even a > runtime), works "without problems". It does recursive descent parsing, so > the developer has control and can debug (versus: it works in theory but > YACC and friends' support for error reporting is terrible). > > I am about to adapt my system to make use of the #closures messages > category of CompiledMethod (Squeak 3.9). I was creating the outliner with the possible support of various prototype enhancements for Squeak so feel free to use it. > What are your intentions with Marvin: > > a - support Smalltalk syntax only > b - support implicit-self sends > c - support message cascading with ; (I do so) > > and, besides explicit redirection, > > d - support just one superclass (parent*) slot > e - support multiple parent* slots > This issues are already resolved and implemented. Marvin uses its own syntax (intersection of Self and Squeak syntax) and compiler that translates it directly to Squeak bytecodes. And it has little VM modifications that enables to store slot definitions and values directly in one object and enhances it with delegation support. -- Pavel |
On Fri, 25 Aug 2006 12:42:09 +0200, Pavel Krivanek wrote:
> On 8/25/06, Klaus wrote: ... >> What are your intentions with Marvin: ... > This issues are already resolved and implemented. Ahh, its @ - http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-September/094329.html /Klaus > -- Pavel |
In reply to this post by Pavel Krivanek
Hi Pavel,
got "421 Too many connections. Goodbye" from your ftp host. If you want, I can create an account for you on my server for you to have an ftp mirror. It is running Linux 2.4.27-2 under VMware, my provider is in Germany. You'd need ssh. /Klaus |
Hi Kalus,
Ok, I will check it. Mirror will be great! Thank you... -- Pavel On 8/25/06, Klaus D. Witzel <[hidden email]> wrote: > Hi Pavel, > > got "421 Too many connections. Goodbye" from your ftp host. > > If you want, I can create an account for you on my server for you to have > an ftp mirror. It is running Linux 2.4.27-2 under VMware, my provider is > in Germany. You'd need ssh. > > /Klaus > > > > > > |
Free forum by Nabble | Edit this page |