by Assured Information Security, Inc.
Sub-Turing Complete language with focus on security.

Crema is a LLVM front-end that aims to specifically execute in sub-Turing Complete space. Designed to be simple to learn, and practical for the majority of programming tasks needed, Crema can restrict the computational complexity of the program to the minimum needed to improve security.

def int binarySearch(int values[], int searchTarget){
    int upperBound = list_length(values) - 1    # Upper index of seach region
    int lowerBound = 0                       # Lower index of seach region
    int delta = list_length(values)     # Distance between upperBound and lowerBound
    int middleValueIndex = 0    # Mid-point index between upper and lower bounds
    int middleValue = 0         # Value at the mid-point index
    int foundIndex = -1         # The index of the target number after finding

    foreach(values as value){
        # Check middle value to see if it matches target number
        middleValueIndex = ((upperBound + lowerBound) / 2)
        middleValue = values[middleValueIndex]
        if(middleValue == searchTarget){
            foundIndex = middleValueIndex
            break
        }

        #Re-adjust the lower and upper bounds for next itteration
        if(middleValue >= searchTarget){
            upperBound = middleValueIndex - 1
        }else{
            lowerBound = middleValueIndex + 1
        }
        delta = upperBound - lowerBound
    }
    return foundIndex
}
Information updated 08/28/15
View Comments