The Inbox: Kernel-maga.1054.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Kernel-maga.1054.mcz

commits-2
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!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Kernel-maga.1054.mcz

David T. Lewis
Ah, my world makes sense once more. Thank you ;-)

Dave

> 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!
>
>
>