Questions tagged [pharo]

Pharo is an open-source Smalltalk environment. It is a derivative of Squeak and is MIT licensed with some original Apple parts remaining under the Apache 2.0 license.

Pharo is a fork of Squeak, an implementation of the object-oriented, dynamically typed, reflective programming language Smalltalk.

Appearing in 2008, Pharo focuses on removing unessential code from Squeak and serves as the reference implementation of Seaside, a web application framework for developing web applications in Smalltalk. The name Pharo may be a reference to the famous Pharos lighthouse in ancient Alexandria.

Pharo 4.0 includes much improved tools to analyse and view objects and to construct browsers (Spotter, Playground, Glamour framework).

Squeak before version 4.0 shipped under the Squeak license, which was not an approved OSI open source licence, Pharo has a policy that enforces contributors to agree to publishing their code under the MIT License. Many packages that are integrated into the Squeak base distribution are optional in Pharo. Unlike Squeak, Pharo ships with TrueType fonts bundled already.

Useful links

913 questions
8
votes
3 answers

resources to study smalltalk and pharo?

I have downloaded the pharobyexample.org ebook, but it seems out of sync with the latest release of pharo, also I would like to know about resources which can help me learn smalltalk.
user3578017
8
votes
1 answer

How can I get all the methods in a Protocol?

How can I get a collection of all the (class) methods in a given protocol in smalltalk/squeak/pharo? I'm trying to collect the values returned by a group of methods. I don't want to have to store the methods in an instance or class variable. So I…
jdinunzio
  • 1,506
  • 1
  • 11
  • 26
8
votes
2 answers

Pharo project on Git

I am a begginer with Pharo, and I have learnt about Monticello and Metacello. As far as I understand, Pharo not being file-based means that one cannot use common source control tools such as Git directly. Yet I see some Pharo repositories on Github,…
Andrea
  • 20,253
  • 23
  • 114
  • 183
8
votes
2 answers

Difference between Literal and Dynamic arrays in Pharo 3

Reading the documentation of Pharo (Pharo By Example) the first difference is in the way that arrays are made. A literal will follow this syntax myArray := #(1 2 3) while a dynamic array with myArray := {1+2 . 4-2 . 3 } A literal array will take…
Kilon
  • 1,962
  • 3
  • 16
  • 23
8
votes
1 answer

What exactly is Athens?

While i have already played with Athens (see PharoBoids) and liked it, i still miss the exact point about what it is. I came up with these two diagrams (see below) by myself. Are they correct? And also there are the corresponding Canvas classes.…
MartinW
  • 4,966
  • 2
  • 24
  • 60
8
votes
5 answers

How Exactly Do You Build A GUI Application in Squeak

All the tools that i searched are 2005 or 2006 and so i dont even dare to try those. I understand that morphic is ok , but i am looking for something like Morphic Designer. http://www.youtube.com/watch?v=rmlgU5p4g3o If you look at this link you will…
Thushar G R
  • 1,017
  • 9
  • 24
8
votes
2 answers

can you deploy applications written in smalltalk/squeak/pharo like a Java app?

Recently I've been exploring the world of smalltalk dialects and am very impressed (from here on in understand that when I write 'smalltalk' I'm referencing any of the modern smalltalk dialects - squeak/pharo/etc). I like the small footprint of the…
snerd
  • 1,238
  • 1
  • 14
  • 28
8
votes
2 answers

Smalltalk initialization variables

In languages like Java and C++ we give parameters to constructors. How do you do this in Pharo Smalltalk? I want something like |aColor| aColor = Color new 'red'. Or is this bad practice and should I always do |aColor| aColor = Color new. aColor…
Jeremy Knees
  • 652
  • 1
  • 7
  • 21
8
votes
3 answers

Why do I need the shared sources file in smalltalk dialects like Pharo?

the usual installation descriptions tells me that I need to run Pharo at least three files: image file changes file source file (e.g. PharoV10.sources) I've run Pharo 2 without the sources file and i didn't see any problem. All sources seemed to…
7
votes
1 answer

How can you programatically add a class variable to a class in Pharo?

How can you programatically add a class variable to a class in Pharo? It should be in the class builder, that's where you can add instance variables to a class. But I don't see it.
nes1983
  • 15,209
  • 4
  • 44
  • 64
7
votes
3 answers

How can I find all objects that reference myObject?

I have an object myObject and I'm not sure who's holding references to it. (I want to know because I'm reverse engineering something.) I found the button "Objects pointing to this value" in the inspector, but it doesn't bring up anything, even if I…
nes1983
  • 15,209
  • 4
  • 44
  • 64
7
votes
4 answers

App building for a beginner in Smalltalk

I am a newbie to Smalltalk technology. My experience in programming is with C and C++. I would like to understand the design methodology of smalltalk. Could any one suggest some simple real-time apps developed in smalltalk which can help a beginner…
Sourav
  • 71
  • 1
7
votes
5 answers

How does Smalltalk image handle IO?

I just started to learn Smalltalk, went through its syntax, but hasn't done any real coding with it. While reading some introductory articles and some SO questions like: What gives Smalltalk the ability to do image persistence, and why can't…
laike9m
  • 18,344
  • 20
  • 107
  • 140
7
votes
4 answers

Python development environments like Smalltalk

I like programming in the Python language to solve daily problems in system administration contexts, and I am happy with that. I am learning Pharo Smalltalk and am fascinated by the different approach of this language in object programming. I like…
maxim
  • 583
  • 2
  • 5
  • 13
7
votes
2 answers

Pharo differences with Smalltalk

I am trying to extend Pharo with promises/futures. I came across this website http://onsmalltalk.com/smalltalk-concurrency-playing-with-futures. It implements futures in Smalltalk. However, when I copy this part of the code onto Pharo, I get some…
Gakuo
  • 845
  • 6
  • 26