What Syntax for file-based Smalltalks are there?
Asked Answered
P

7

10

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?

Pharos answered 1/11, 2010 at 16:22 Comment(0)
O
9

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.

Outlander answered 2/11, 2010 at 21:33 Comment(0)
E
7

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.! !
Exceeding answered 2/11, 2010 at 16:36 Comment(0)
R
3

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

Radioactivity answered 1/11, 2010 at 16:22 Comment(0)
A
3

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

Appoint answered 6/11, 2010 at 17:53 Comment(1)
Resilient Smalltalk uses apparently the same syntax that SOM uses (both coming from Århus). See hpi.uni-potsdam.de/hirschfeld/projects/som for details on SOM.Radioactivity
F
2

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

Flagstone answered 21/7, 2012 at 0:39 Comment(0)
F
2

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

Flagstone answered 21/7, 2012 at 22:18 Comment(0)
B
1

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.

Baudoin answered 30/6, 2016 at 14:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.