Questions tagged [squeak]

Squeak is a modern, open-source implementation of the Smalltalk language, with a history of being very easy to port across platforms. See https://squeak.org/.

Squeak started in 1996 as a project of Alan Kay and friends at Apple. They wanted an open source Smalltalk with a view to building Smalltalk's replacement.

Among its features:

  • The Virtual Machine is written in (a subset of) Smalltalk.
  • Runs bit-identically across all its platforms.
  • Very easy to port: it runs on Linux, Macs (both old and new), Windows, iPhones, iPads, and even bare metal.
412 questions
5
votes
1 answer

VT100 screen scraping interface for Smalltalk

Hello (also posted on the VWNC list), We are looking at options for interfacing with a legacy Unix system. One option we'd like to explore would be to screen scrape a VT100 terminal session. Is there anything out there for Smalltalk VT100 terminal…
Bob Nemec
  • 366
  • 1
  • 3
  • 10
5
votes
8 answers

Why does Squeak use Colors to identify Mouse Buttons?

This is really annoying when you try to follow the documentation Squeak by Example. Instead of calling the mouse buttons left, right, and middle, like in any other documentation, they give them colors. It's even suggested to label the mouse to help…
stesch
  • 7,202
  • 6
  • 47
  • 62
5
votes
2 answers

A Smalltalk implementation with the perfect feature set

I prefer interfacing with programming languages through a standard bash terminal. While Squeak and Pharo are well documented, they don't seem to have a CLI, just a VM GUI. GNU Smalltalk and Slate have a normal CLI but no installers for Linux, Mac,…
mcandre
  • 22,868
  • 20
  • 88
  • 147
5
votes
0 answers

How to read from stdin and write to stdout of WindowsProcess in Pharo/Squeak?

I found a way how to run a command in Windows 10 asynchronously and now I am trying to communicate with it via its stdin, stdout. I did it from Python - I ran python.exe process, sent it a string like "print(1+9)" and got a result - "10". So, now I…
RandomB
  • 3,367
  • 19
  • 30
5
votes
3 answers

Smalltalk Return Precedence

I'd like a little clarification on the precedence of the return statement, which appears to go against the general precedence rules. For example the expression ^ 2 + 3. returns 5(which is what I want) but shouldn't it return just 2 since Unary…
Jatajuuf
  • 301
  • 3
  • 11
5
votes
1 answer

How to rescale subMorph when the container does?

I am exploring Squeak, release 5.2 in MacOS. I am drawing lines (PolygonMorph) inside a RectangleMorph 'r'. When I translate 'r' the lines translate but when I rescale 'r' the lines do not rescale. Run the snipped below. Then with the Halo…
Nicola Mingotti
  • 860
  • 6
  • 15
5
votes
2 answers

How to uniquely identify a transcript window in Pharo/Squeak?

I'm new to smalltalk and like every other programming languages I've learnt, I tried to do a simple "hello world" program. I've learnt that in Pharo/Squeak what you do is to open a transcript window, typed following code into the workspace window…
oscarkuo
  • 10,431
  • 6
  • 49
  • 62
5
votes
1 answer

How does the implementation of #doesNotUnderstand in the Object class result in opening a debugger in Squeak smalltalk?

I know that the implementation signals a MessageNotUnderstood exception, but how does that end up opening a debugger?
rationalrevolt
  • 663
  • 1
  • 6
  • 13
5
votes
1 answer

Raising a customized error/exception

I'm playing around with Pharo, and would like to raise a customized error/exception/something, but I've got no idea how. I've browsed the relevant (I think) chapters of "Pharo by Example" and "Deep into Pharo"; but couldn't make heads or tails about…
Baard Kopperud
  • 577
  • 1
  • 5
  • 12
5
votes
4 answers

Microframeworks for Squeak/Pharo web service

Lots of languages have microframeworks for writing very tiny websites or web services, such as Flask for Python, or Sinatra for Ruby. On Squeak, there doesn't seem to be any equivalent; Iliad, Seaside, and AIDA are all very heavy for just having a…
Benjamin Pollack
  • 27,594
  • 16
  • 81
  • 105
5
votes
2 answers

Less known Smalltalk binary messages and their meaning?

Writing a bit of documentation for beginners and I've come against a problem. Knowing what binary messages do, doesn't mean you know what they're called! Some obvious ones, and their respective classes: - "minus" TraitComposition Collection…
Niki
  • 95
  • 4
5
votes
2 answers

smalltalk Button event handling

I am new with Squeak Smalltalk. How I can catch a button click event and execute some code when the button is clicked. I tried this code but it doesn't work! I created a new Button Class: SimpleButtonMorph subclass:…
Ahmadkt
  • 91
  • 6
5
votes
1 answer

What is the syntax for the Squeak FFI in the new Squeak (5.0)

I am trying to use the Squeak Foreign Function Interface. All information I was able to find does not seem to apply to the new Squeak 5.0 because when I try e.g.: add: a to: b " ( int ) add (int a, int b) ; " < cdecl: int 'add' ( int a, int…
ben
  • 452
  • 3
  • 10
5
votes
1 answer

Monticello extension method categorization rules

I am curious what the rules are for categorizing Monticello extension methods. I notice (in the Pharo image) some are in all lowercase like *package-name while others are in normal case like *Package-Name. Also I am curious about sub categorization…
5
votes
3 answers

how to stream a collection backwards without copies?

I would like to know how to stream a collection backwards without copies in Pharo/Squeak. For example, to stream #(1 2 3) so stream next returns 3, then 2, then 1. I know I could just use collection reversed readStream, but reversed copies.
juan
  • 59
  • 1