mlao-pdx

Python string.printable.

Sort a list of strings.

  • list: A list of strings, where any non-string will be converted into a string.
  • function: An inline function that allows sorting to happen on a derivation of the list item. Defaults to the item itself when "" is passed as its value.
  • collationSequence: A string with the characters in desired sorting order. Defaults to Python's string.printable when "" passed as its value.
Lambda
·
Updated

Quantity turns common inputs into a distribution that indicates how many of something.

It does not record, track, or manage the unit of measure of the quantity. This is expected to be managed by the name of the quantity.

For example: LaborHours, ServerCount, etc.

The estimator is expected to align the unit of measure of the quantity with the unit of measure of the price.

Assertions that do have their impact reflected into the estimate. Their chance can be any percentage from 0% through 100%.

String
·
Updated

Assertions that do not (yet) warrant their impact be woven into the estimate, but are important to document. These tend to be assertions with wide ranging impacts and should be named as statements of truth. Their chance is commonly 100%.

Lambda
·
Updated
Dist
·
Updated

Always asserts to false.

Adds items that require the use the given item.

  • Prerequisites allow control of whether the component is truly desired.
  • Components is a list of items, where a single component is a list of and item and quantity.

Adds required components to the given item.

  • Prerequisites allow control of whether the components are truly required.
  • Components is a list of components, where a single component is a list of price and quantity.

Adds items that desire to use the given item.

  • Prerequisites allow control of whether the component is truly desired.
  • Components is a list of items, where a single component is a list of and item and quantity.
Dist
·
Updated

Always asserts to true.

Lambda
·
Updated

Price turns common inputs into a distribution that indicates the monetary value of something.

It does not record, track, or manage the currency of the quantity. This is expected to be managed by the name of the price, or by the locale.

For example: HourlyRate, CostPerGbPerMonth, etc.

The estimator is expected to align the unit of measure of the price with the unit of measure of the quantity.

Assertions that are meant to manage scope optionality. While their chance can be any percentage from 0% through 100%, they commonly start out as true, or at 100%.

They are toggled to false during what-if analysis, where the estimate is adjusted to meet outside realities.

Assertion allows embedding of propositions in the estimate that have a certain likelihood of being true or false.

Aliases assumption1, risk, and scope` have been provided for semantic purposes.

Adds desired components to the given item.

  • Prerequisites allow control of whether the components are truly desired.
  • Components is a list of components, where a single component is a list of price and quantity.
Lambda
·
Updated

Item collects components that make up a composite estimate if the prerequisites are met.

Lambda
·
Updated

Label returns the string passed, with its name tag set to that string.

Resolve the four sets of assertions into a single True or False Bernoulli distribution.

  • every requires that each passed assertion MUST be true
  • none requires that each passed assertion MUST be false
  • some requires that any of the passed assertions could be true
  • someNot requires that any of the passed assertions could be false

Check if a list is a unnested list of Numbers.

Example

import 'hub:mlao-pdx/lib-common' as c

{
  yes: c.isListOf([1n,2%,3,4T],'Number'),
  yes: c.isListOf(['a', '3'],'String'),
  no: c.isListOfNumbers([1n,2%,'3',4T],'Number'),