Richard Durr
Richard Durr

Reputation: 3241

What Syntax for file-based Smalltalks are there?

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?

Upvotes: 10

Views: 1317

Answers (7)

aleReimondo
aleReimondo

Reputation: 171

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.

Upvotes: 1

Dale Henrichs
Dale Henrichs

Reputation: 1293

I should also mention the Cypress package format which is currently shared by 6 different Smalltalk dialects:

  • Amber (Cypress)
  • Cuis (Cypress)
  • GemStone (FileTree)
  • Pharo (FileTree)
  • Squeak (FileTree)
  • VW (STIG)

The Cypress package format should be relatively easy to port to additional dialects....

Upvotes: 2

Dale Henrichs
Dale Henrichs

Reputation: 1293

GemStone/S filein sytax is described in the Topaz Maual section 1.13

Upvotes: 2

smarr
smarr

Reputation: 875

In addition to the mentioned syntaxes there are the following, I am aware of:

Upvotes: 3

igouy
igouy

Reputation: 2692

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

Upvotes: 3

samdphillips
samdphillips

Reputation: 131

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.

Upvotes: 9

Frank Shearar
Frank Shearar

Reputation: 17132

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.! !

Upvotes: 7

Related Questions