[squeak-dev] The Inbox: Kernel-maga.1054.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jan 23 21:27:48 UTC 2017
A new version of Kernel was added to project The Inbox:
http://source.squeak.org/inbox/Kernel-maga.1054.mcz
==================== Summary ====================
Name: Kernel-maga.1054
Author: maga
Time: 23 January 2017, 1:22:40.269653 pm
UUID: 32d479b9-040c-4441-ad6c-528dc7845676
Ancestors: Kernel-eem.1053
Provide altTrue as an alternative to false. May be required for US government approved use of Squeak starting 2017.
=============== Diff against Kernel-eem.1053 ===============
Item was added:
+ False subclass: #AlternateTrue
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Kernel-Objects'!
+
+ !AlternateTrue commentStamp: 'maga 1/23/2017 12:40' prior: 0!
+ AlternateTrue defines the behavior of its single instance, altTrue -- the opposite of true. It can be used in place of false whenever facts are inconvenient.
+
+ 3 = 4 ifAltTrue: [Transcript show: 'Great!!'; cr]!
Item was added:
+ ----- Method: AlternateTrue class>>initialize (in category 'class initialization') -----
+ initialize
+ Smalltalk globals at: #altTrue ifAbsentPut: [self basicNew].
+ !
Item was added:
+ ----- Method: AlternateTrue>>ifAltTrue: (in category 'controlling') -----
+ ifAltTrue: alternativeBlock
+ "Answer the value of alternativeBlock."
+
+ ^alternativeBlock value!
Item was added:
+ ----- Method: AlternateTrue>>ifTrue: (in category 'controlling') -----
+ ifTrue: alternativeBlock
+ "Since the condition is altTrue, answer the value of the alternate-true block,
+ which is nil."
+
+ ^nil!
Item was added:
+ ----- Method: AlternateTrue>>ifTrue:ifAltTrue: (in category 'controlling') -----
+ ifTrue: trueBlock ifAltTrue: alternateTrueBlock
+ "Since the condition is altTrue, answer the value of alternateTrueBlock."
+
+ ^alternateTrueBlock value!
Item was added:
+ ----- Method: AlternateTrue>>printOn: (in category 'printing') -----
+ printOn: aStream
+ aStream nextPutAll: 'altTrue'!
Item was added:
+ ----- Method: Boolean>>ifAltTrue: (in category 'controlling') -----
+ ifAltTrue: alternativeBlock
+ "If the receiver is true (i.e., the condition is true), then the value is the
+ true alternative, which is nil. Otherwise answer the result of evaluating
+ the argument, alternativeBlock. Create an error notification if the
+ receiver is nonBoolean."
+
+ self subclassResponsibility!
Item was added:
+ ----- Method: Boolean>>ifTrue:ifAltTrue: (in category 'controlling') -----
+ ifTrue: trueBlock ifAltTrue: alternateTrueBlock
+ "If the receiver is true (i.e., the condition is true), then answer the value
+ of the argument trueBlock. If the receiver is altTrue, answer the
+ result of evaluating the argument alternateTrueBlock. If the receiver
+ is a nonBoolean then create an error notification."
+
+ self subclassResponsibility!
Item was added:
+ ----- Method: False>>ifAltTrue: (in category 'controlling') -----
+ ifAltTrue: alternativeBlock
+ "Answer the value of alternativeBlock."
+
+ ^alternativeBlock value!
Item was added:
+ ----- Method: False>>ifTrue:ifAltTrue: (in category 'controlling') -----
+ ifTrue: trueBlock ifAltTrue: alternateTrueBlock
+ "Answer the value of alternateTrueBlock."
+
+ ^alternateTrueBlock value!
Item was added:
+ ----- Method: True>>ifAltTrue: (in category 'controlling') -----
+ ifAltTrue: alternativeBlock
+ "Since the condition is true, the value is the true alternative, which is nil."
+
+ ^nil!
Item was added:
+ ----- Method: True>>ifTrue:ifAltTrue: (in category 'controlling') -----
+ ifTrue: trueBlock ifAltTrue: alternateTrueBlock
+ "Answer with the value of trueBlock."
+
+ ^trueBlock value!
More information about the Squeak-dev
mailing list
|