Skip to content

[v3] Implement new Concept Exercise: basics #439

Description

@samWson

This issue describes how to implement the basics concept exercise for the Pharo-Smalltalk track.

Getting started

Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read up on the following documents:

Please also watch the following video:

Goal

The goal of this exercise is to teach the simplest concepts of using Pharo: sending messages to objects, and writing new methods for objects.

Learning objectives

  • Know what an object is
  • Know how to send messages to objects
  • Know the different message types that can be sent
  • Know how to define new methods
  • Know how to define local variables

Out of scope

  • Classes
  • Instance variables
  • Precedence order of message sending

Concepts

  • object: know what an object is; know that objects can send messages to other objects to trigger behavior.
  • message-passing: know how to send a message to an object to trigger behavior; know who is the receiver and the sender of a message.
  • message-types: know the different message types (unary, binary, and keyword); know how to pass arguments to messages.
  • methods: know how to define new methods; know that methods are an objects behavior.
  • variables: know how to declare variables; know how to use variables.

Prerequisites

There are no prerequisites.

Resources to refer to

Hints

Refer to the following chapters in Pharo by Example:

  • Chapter 4.3: Message sends
  • Chapter 4.4: Message syntax

After

Refer to the following chapters in Pharo by Example:

  • Chapter 4.3: Message sends
  • Chapter 4.4: Message syntax

Representer

Currently the Pharo-Smalltalk representer is not written but no special cases should be needed for this exercise.

Analyzer

No analyzer should be required for this exercise.

Implementing

To implement this exercise, please follow these instructions.

Help

If you have any questions while implementing the exercise, please post the questions as comments in this issue.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions