I know of GNU Smalltalk's Syntax that puts the method body surounded by square-brackets after the selector like so:
add: anObject [ self tally add: anObject. ]
Are there other file based approaches?
I know of GNU Smalltalk's Syntax that puts the method body surounded by square-brackets after the selector like so:
add: anObject [ self tally add: anObject. ]
Are there other file based approaches?
There is the chunk file format which is what GNU Smalltalk (GST) used to use, and which most other Smalltalks support as File In/Out format. The contents of the Squeak sources and changes files are in this format.
Additionally there is the Smalltalk Interchange Format (SIF) which is specified by the ANSI Smalltalk standard, which is similar to the chunk format but incorporates some additional metadata and structure. I know that there is a reader for SIF in GST, but I'm not sure if VisualWorks or Squeak have readers for this format.
There's the changeset (or fileOut
) format (off a random changeset on my machine):
'From Squeak4.1alpha of 3 April 2010 [latest update: #9883] on 5 April 2010 at 11:41:27 am'!
!Browser methodsFor: 'initialize-release' stamp: 'fbs 4/5/2010 11:38'!
classListFrame: bottomFraction
^self
classListFrame: bottomFraction
fromTop: 0
fromLeft: 0.25
width: 0.25.! !
In addition to the mentioned syntaxes there are the following, I am aware of:
Coral: http://rmod.lille.inria.fr/coral/
A syntax extension for scripting with Smalltalk (Pharo)
SOM: http://github.com/smarr/SOM/
A minimal file-based Smalltalk
Pepsi: http://piumarta.com/pepsi/pepsi.html
Another file-based Smalltalk dialect, but with prototypes instead of classes.
The Resilient programming language differs from Smalltalk in the following ways ... We introduce a full syntax for classes to allow programmers to use standard tools for program manipulation and source control management.
p5 Design, Implementation, and Evaluation of the Resilient Smalltalk Embedded Platform pdf
GemStone/S filein sytax is described in the Topaz Maual section 1.13
I should also mention the Cypress package format which is currently shared by 6 different Smalltalk dialects:
The Cypress package format should be relatively easy to port to additional dialects....
The read of sources is part of the fileIn
procedure, that is used to communicate systems. The format for fileIn
can change while reading, because the fileIn
stream can contain new classes and methods, that when evaluated in the reader, teach the system e.g. on how to read the following data.
The fileIn
is a method designed to sync (objects=data&behavior of) systems.
More information can be found in http://alereimondo.no-ip.org/U8/277
and use cases are frequent using S8 (see http://u8.smalltalking.net ) in systems development for web and mobile.
© 2022 - 2024 — McMap. All rights reserved.