Marcel Taeumel uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-mt.85.mcz
==================== Summary ====================
Name: Help-Squeak-Project-mt.85
Author: mt
Time: 16 November 2021, 1:20:48.461235 pm
UUID: 292cad51-6fac-9445-ab21-a2d8cfaa731e
Ancestors: Help-Squeak-Project-eem.84
Minor clarification around TruffleSqueak and RSqueak/VM.
=============== Diff against Help-Squeak-Project-eem.84 ===============
Item was changed:
----- Method: SqueakHelp class>>introduction (in category 'pages') -----
introduction
"This method was automatically generated. Edit it using:"
"SqueakHelp edit: #introduction"
<generated>
^(HelpTopic
title: 'Welcome'
contents:
'Welcome to Squeak
Visit http://www.squeak.org for the lastest information.
Squeak is an open-source Smalltalk programming system available for all major platforms. It features the Morphic framework, which promotes low effort graphical, interactive application development and maintenance. Many projects have been successfully created with Squeak in a wide range of domains such as education, multimedia, gaming, research, and commerce. Squeak is fast, flexible and free.
It''s Smalltalk!!!!
Everything is an object. Objects collaborate by sending messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.
Morphic UI Framework
All graphical objects are tangible and interactively changeable. This promotes short feedback loops and low-effort application development. Morphic thus leverages the live programming experience of traditional Smalltalk environments from a mainly text-focused domain to a graphical one.
Powerful Tooling
The dynamic Squeak environment provides a variety of tools for browsing, writing, executing, and versioning Smalltalk code. Multiple debugging sessions can be served concurrently. Thanks to Morphic, tool customization can be achieved with reasonable effort.
Fast Virtual Machine
+ The standard VM for Squeak, Cog Spur, has the most advanced object representation yet devised for Smalltalk. Spur has direct pointers, a compact object header, and efficiently implements become (Smalltalk''s object mutation primitive) via lazy forwarding. Spur provides pinning, and a segmented heap, releasing memory back to the OS after global garbage collection. Cog Spur''s JIT combines context-to-stack mapping, aggressive in-line message caching, a register based calling convention, and Spur''s object representation to provide the fastest production Smalltalk VM. Cog Spur is developed in Smalltalk, in a uniquely productive VM development environment. There are other important Squeak VMs. Examples include SqueakJS, which runs in web browsers, and research VMs such as TruffleSqueak (based on GraalVM and a method JIT using partial evaluation) and RSqueak/VM (based on PyPy''s meta-tracing JIT).
- The standard VM for Squeak, Cog Spur, has the most advanced object representation yet devised for Smalltalk. Spur has direct pointers, a compact object header, and efficiently implements become (Smalltalk''s object mutation primitive) via lazy forwarding. Spur provides pinning, and a segmented heap, releasing memory back to the OS after global garbage collection. Cog Spur''s JIT combines context-to-stack mapping, aggressive in-line message caching, a register based calling convention, and Spur''s object representation to provide the fastest production Smalltalk VM. Cog Spur is developed in Smalltalk, in a uniquely productive VM development environment. There are other important Squeak VMs, SqueakJS that runs in web browsers, and the research meta-tracing JIT TruffleSqueak, exploring the Truffle/Graal framework.
Web Development
With frameworks like Seaside and AIDA, Squeak can be a web server. It provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably, and maintainably.
Multi-Platform Support
Squeak supports Windows, Linux (X86, X64 and ARM), and macOS and is preinstalled on C.H.I.P., Raspberry Pi, and OLPC XO.!!
+ ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 28 1 8 2 351 24 13 23 43 28 111 26 28 10 19 8 56 13 11 7 48 10 11 6 21 15 22 7 5 4 18 3 163 22 121)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,f5,Rhttps://github.com/OpenSmalltalk/opensmalltalk-vm#readme;,f5,…velopment/#virtual-machines;,,Rhttps://squeak.js.org;,,Rhttps://github.com/…,!!' readStream nextChunkText)
- ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 28 1 8 2 351 24 13 23 43 28 111 26 40 8 62 13 42 15 22 7 5 4 18 3 163 22 121)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,f5,Rhttps://github.com/OpenSmalltalk/opensmalltalk-vm#readme;,f5,…
/hpi-swa/trufflesqueak/;,,i,,Rhttp://www.seaside.st/;,,Rhttp://www.aidaweb.si/;,,Rcode://WebClient;,,i,!!' readStream nextChunkText)
key: #introduction;
shouldStyle: false;
yourself!
Eliot Miranda uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-eem.84.mcz
==================== Summary ====================
Name: Help-Squeak-Project-eem.84
Author: eem
Time: 11 November 2021, 12:30:53.524533 pm
UUID: dd7d0bcb-d4f7-47f4-b39c-5e55adb4d241
Ancestors: Help-Squeak-Project-eem.83
Get the postscript to reopen the help browser witj the balloon image.
=============== Diff against Help-Squeak-Project-eem.83 ===============
Item was changed:
(PackageInfo named: 'Help-Squeak-Project') postscript: 'Project current isMorphic ifTrue:
(excessive size, no diff calculated)
Eliot Miranda uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-eem.83.mcz
==================== Summary ====================
Name: Help-Squeak-Project-eem.83
Author: eem
Time: 11 November 2021, 11:51:55.261858 am
UUID: 0908315b-b98a-48ad-a9cb-3d226e36688b
Ancestors: Help-Squeak-Project-eem.82
Add some URLs to the VM shout outs and have the package postscript reopen the heklp browser if it is open and unedited.
=============== Diff against Help-Squeak-Project-eem.82 ===============
Item was changed:
----- Method: SqueakHelp class>>introduction (in category 'pages') -----
introduction
"This method was automatically generated. Edit it using:"
"SqueakHelp edit: #introduction"
<generated>
^(HelpTopic
title: 'Welcome'
contents:
'Welcome to Squeak
Visit http://www.squeak.org for the lastest information.
Squeak is an open-source Smalltalk programming system available for all major platforms. It features the Morphic framework, which promotes low effort graphical, interactive application development and maintenance. Many projects have been successfully created with Squeak in a wide range of domains such as education, multimedia, gaming, research, and commerce. Squeak is fast, flexible and free.
It''s Smalltalk!!!!
Everything is an object. Objects collaborate by sending messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.
Morphic UI Framework
All graphical objects are tangible and interactively changeable. This promotes short feedback loops and low-effort application development. Morphic thus leverages the live programming experience of traditional Smalltalk environments from a mainly text-focused domain to a graphical one.
Powerful Tooling
The dynamic Squeak environment provides a variety of tools for browsing, writing, executing, and versioning Smalltalk code. Multiple debugging sessions can be served concurrently. Thanks to Morphic, tool customization can be achieved with reasonable effort.
Fast Virtual Machine
+ The standard VM for Squeak, Cog Spur, has the most advanced object representation yet devised for Smalltalk. Spur has direct pointers, a compact object header, and efficiently implements become (Smalltalk''s object mutation primitive) via lazy forwarding. Spur provides pinning, and a segmented heap, releasing memory back to the OS after global garbage collection. Cog Spur''s JIT combines context-to-stack mapping, aggressive in-line message caching, a register based calling convention, and Spur''s object representation to provide the fastest production Smalltalk VM. Cog Spur is developed in Smalltalk, in a uniquely productive VM development environment. There are other important Squeak VMs, SqueakJS that runs in web browsers, and the research meta-tracing JIT TruffleSqueak, exploring the Truffle/Graal framework.
- The standard VM for Squeak, Cog Spur, has the most advanced object representation yet devised for Smalltalk. Spur has direct pointers, a compact object header, and efficiently implements become (Smalltalk''s object mutation primitive) via lazy forwarding. Spur provides pinning, and a segmented heap, releasing memory back to the OS after global garbage collection. Cog Spur''s JIT combines aggressive in-line message caching, a register based calling convention, and Spur''s object representation to provide the fastest production Smalltalk VM. Cog Spur is developed in Smalltalk, in a uniquely productive VM development environment. There are other important Squeak VMs, SqueakJS that runs in web browsers, and a research meta-tracing JIT exploring the Truffle/Graal framework.
Web Development
With frameworks like Seaside and AIDA, Squeak can be a web server. It provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably, and maintainably.
Multi-Platform Support
Squeak supports Windows, Linux (X86, X64 and ARM), and macOS and is preinstalled on C.H.I.P., Raspberry Pi, and OLPC XO.!!
+ ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 28 1 8 2 351 24 13 23 43 28 111 26 40 8 62 13 42 15 22 7 5 4 18 3 163 22 121)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,f5,Rhttps://github.com/OpenSmalltalk/opensmalltalk-vm#readme;,f5,…
/hpi-swa/trufflesqueak/;,,i,,Rhttp://www.seaside.st/;,,Rhttp://www.aidaweb.si/;,,Rcode://WebClient;,,i,!!' readStream nextChunkText)
- ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 28 1 8 2 741 15 22 7 5 4 18 3 163 22 121)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,f5,Rhttps://github.com/OpenSmalltalk/opensmalltalk-vm#readme;,f5,…,!!' readStream nextChunkText)
key: #introduction;
shouldStyle: false;
yourself!
Item was changed:
+ (PackageInfo named: 'Help-Squeak-Project') postscript: 'Project current isMorphic ifTrue:
- (PackageInfo named: 'Help-Squeak-Project') postscript: '| aForm aSecondForm |
(excessive size, no diff calculated)
Eliot Miranda uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-eem.82.mcz
==================== Summary ====================
Name: Help-Squeak-Project-eem.82
Author: eem
Time: 11 November 2021, 9:15:07.258458 am
UUID: 90f3a49e-3c6a-43f1-a885-d4491bb7160b
Ancestors: Help-Squeak-Project-eem.81
Include a proper shout out to the Cog Spur VM in the Welcome workspace's introduction. Mention SqueakJS and the Truffle/Grall VMs too.
=============== Diff against Help-Squeak-Project-eem.81 ===============
Item was changed:
----- Method: SqueakHelp class>>introduction (in category 'pages') -----
introduction
"This method was automatically generated. Edit it using:"
"SqueakHelp edit: #introduction"
+ <generated>
^(HelpTopic
title: 'Welcome'
contents:
'Welcome to Squeak
Visit http://www.squeak.org for the lastest information.
Squeak is an open-source Smalltalk programming system available for all major platforms. It features the Morphic framework, which promotes low effort graphical, interactive application development and maintenance. Many projects have been successfully created with Squeak in a wide range of domains such as education, multimedia, gaming, research, and commerce. Squeak is fast, flexible and free.
It''s Smalltalk!!!!
Everything is an object. Objects collaborate by sending messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.
Morphic UI Framework
All graphical objects are tangible and interactively changeable. This promotes short feedback loops and low-effort application development. Morphic thus leverages the live programming experience of traditional Smalltalk environments from a mainly text-focused domain to a graphical one.
Powerful Tooling
The dynamic Squeak environment provides a variety of tools for browsing, writing, executing, and versioning Smalltalk code. Multiple debugging sessions can be served concurrently. Thanks to Morphic, tool customization can be achieved with reasonable effort.
Fast Virtual Machine
+ The standard VM for Squeak, Cog Spur, has the most advanced object representation yet devised for Smalltalk. Spur has direct pointers, a compact object header, and efficiently implements become (Smalltalk''s object mutation primitive) via lazy forwarding. Spur provides pinning, and a segmented heap, releasing memory back to the OS after global garbage collection. Cog Spur''s JIT combines aggressive in-line message caching, a register based calling convention, and Spur''s object representation to provide the fastest production Smalltalk VM. Cog Spur is developed in Smalltalk, in a uniquely productive VM development environment. There are other important Squeak VMs, SqueakJS that runs in web browsers, and a research meta-tracing JIT exploring the Truffle/Graal framework.
- There are several fast Squeak VMs that also support other languages of the Smalltalk family. Meta-tracing, just-in-time compilation, stack-to-register mapping, and aggressive in-line message caching yield efficiency in executing Smalltalk code.
Web Development
With frameworks like Seaside and AIDA, Squeak can be a web server. It provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably, and maintainably.
Multi-Platform Support
Squeak supports Windows, Linux (X86, X64 and ARM), and macOS and is preinstalled on C.H.I.P., Raspberry Pi, and OLPC XO.!!
+ ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 28 1 8 2 741 15 22 7 5 4 18 3 163 22 121)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,f5,Rhttps://github.com/OpenSmalltalk/opensmalltalk-vm#readme;,f5,…,!!' readStream nextChunkText)
- ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 247 15 22 7 5 4 18 3 163 22 121)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,i,,Rhttp://www.seaside.st/;,,Rhttp://www.aidaweb.si/;,,Rcode://WebClient;,,i,!!' readStream nextChunkText)
key: #introduction;
shouldStyle: false;
yourself!
Eliot Miranda uploaded a new version of HelpSystem-Core to project The Trunk:
http://source.squeak.org/trunk/HelpSystem-Core-eem.135.mcz
==================== Summary ====================
Name: HelpSystem-Core-eem.135
Author: eem
Time: 11 November 2021, 9:12:59.000828 am
UUID: c45f0a57-e4bf-4af4-93ce-1c171b2f8fb2
Ancestors: HelpSystem-Core-mt.134
Fix an MNU when accessing Release Notes in trunk Welcome.
=============== Diff against HelpSystem-Core-mt.134 ===============
Item was changed:
----- Method: DirectoryBasedHelpTopic>>key (in category 'accessing') -----
key
+ ^ self directoryEntry ifNil: [title] ifNotNil: [:dirEntry| dirEntry fullName]!
- ^ self directoryEntry fullName!
Eliot Miranda uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-eem.1788.mcz
==================== Summary ====================
Name: Morphic-eem.1788
Author: eem
Time: 11 November 2021, 8:30:51.470436 am
UUID: e753f115-212a-4e40-92e4-311bc7d73095
Ancestors: Morphic-pre.1787
Fix the Find Workspace... facility when there are no workspaces to be found. Show empty workspaces more gracefully.
=============== Diff against Morphic-pre.1787 ===============
Item was changed:
----- Method: TheWorldMainDockingBar>>workspacesMenuFor: (in category 'submenu - windows') -----
workspacesMenuFor: anUpdatingMenuMorph
| allWorkspaces |
allWorkspaces := Set new.
Project current topMorphicProject withChildrenDo:
[:project|
project world submorphs do:
[:m|
(m model isKindOf: Workspace) ifTrue:
[allWorkspaces add:
{ m model.
m.
project.
m model contents ifEmpty:
[(m model dependents detect: [:d| d isTextView] ifNone: nil) textMorph contents] }]]].
+ allWorkspaces isEmpty ifTrue:
+ [^anUpdatingMenuMorph addItem:
+ [:item | item
+ contents: 'no workspaces found']].
"Sort workspaces with non-empty ones first..."
(allWorkspaces sorted:
[:t1 :t2|
t1 last isEmpty == t2 last isEmpty
ifTrue: [t1 second label <= t2 second label]
ifFalse: [t1 last notEmpty]]) do:
[:tuple|
anUpdatingMenuMorph addItem:
[:item | item
+ contents: tuple second label, ': ', ((tuple last asString contractTo: 128) ifEmpty: ['(empty)']);
- contents: tuple second label, ': ', (tuple last asString contractTo: 128);
target: self;
selector: #selectWorkspace:window:inProject:contents:;
arguments: tuple]]!