Crema is a programming language created in 2014 by Jacob Torrey and Jared Wright.
#1363on PLDB | 10Years Old |
git clone https://github.com/ainfosec/crema
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
}
as bool break char def double else eq extern false foreach ge gt if int le lt neq return sdef string struct true uint void