[#4858] Build fails on OSX Tiger 10.4 — noreply@...

Bugs item #1883, was opened at 2005-05-06 14:55

21 messages 2005/05/06
[#4862] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Yukihiro Matsumoto <matz@...> 2005/05/07

Hi,

[#4865] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Ryan Davis <ryand-ruby@...> 2005/05/07

[#4868] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — nobu.nokada@... 2005/05/07

Hi,

[#5053] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Shugo Maeda <shugo@...> 2005/05/19

Hi,

[#5056] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Mark Hubbart <discordantus@...> 2005/05/19

On 5/19/05, Shugo Maeda <shugo@ruby-lang.org> wrote:

[#4874] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...>

Hello all,

31 messages 2005/05/10
[#4879] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Pit Capitain <pit@...> 2005/05/11

Ilias Lazaridis schrieb:

[#4883] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

Pit Capitain wrote:

[#4884] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ryan Davis <ryand-ruby@...> 2005/05/12

[#4888] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

Ryan Davis wrote:

[#4889] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — ES <ruby-ml@...> 2005/05/12

[#4890] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

ES wrote:

[#4891] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Alexander Kellett <ruby-lists@...> 2005/05/12

On May 12, 2005, at 3:13 PM, Ilias Lazaridis wrote:

[#4911] Pointless argc check in Array#select — noreply@...

Patches item #1900, was opened at 2005-05-12 09:33

11 messages 2005/05/12

[#4919] - Hierarchical/Modular Directory Structure — Ilias Lazaridis <ilias@...>

The source-code structure should be simplified, lowering barriers for

20 messages 2005/05/12

Liskov Substitution Principle (was: Pathname)

From: Mathieu Bouchard <matju@...>
Date: 2005-05-24 03:18:29 UTC
List: ruby-core #5081
Something weird happened to my last message while trying to send it, so 
I'm sending it again, just in case. (and changing the topic too)

---------- Forwarded message ----------
Date: Mon, 23 May 2005 22:28:14 -0400 (EDT)
From: Mathieu Bouchard <matju@artengine.ca>
To: ruby-core@ruby-lang.org
Subject: Re: [ ruby-Patches-1939 ] Pathname, totally revamped


On Tue, 24 May 2005, Sam Roberts wrote:
> Sometimes called Liskov substitution principle.
>> never override any method in a subclass, because hey, people might not
>> expect different behavior.
> You derive to override implementation, not behaviour.

To be precise, what's normally called a "subtype" may have its apparent 
behaviour be different from its "supertype" in a few ways. Let me try to 
explain this in my own words.

The Liskov requirements (from my memory) are that IF the arguments and state 
for the execution of a method are valid (preconditions), THEN the message 
should have the expected effects and return values (postconditions). This is a 
logical implication, like this:

   Precond(method,pre_state,args) -> Postcond(method,post_state,return)

So you can do this in a subtype (relative to what it is in the supertype):

1. make the preconds looser
2. make the postconds stricter
3. make the postconds looser but only in the cases where the preconds are being 
used in a looser way.

The point is that in a subtype, satisfying the Pre->Post implies satisfying the 
Pre->Post of the supertype. The above three cases are the three ways that 
semantics can be extended without violating expectations.

So, in short, Liskov's substitution principle can be written:

   (SubPre -> SubPost) -> (SuperPre -> SuperPost)

again as a logical implication.

Does that sound accurate?

,-o--------o--------o--------o-. ,---. irc.freenode.net #dataflow |
| The Diagram is the Program tm| | ,-o-------------o--------------o-.
`-o------------o-------------o-' | | Mathieu Bouchard (Montr饌l QC) |
   | t駘駱hone:+1.514.383.3801`---' `-o-- http://artengine.ca/matju -'

In This Thread

Prev Next