Measures Concepts
GitHub icon

Crema

Crema - Programming language

< >

Crema is a programming language created in 2014 by Jacob Torrey and Jared Wright.

Source code:
git clone https://github.com/ainfosec/crema
#1204on PLDB 10Years Old

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.


Example from the web:
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 }
Crema Keywords
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

View source

- Build the next great programming language Search Add Language Features Creators Resources About Blog Acknowledgements Queries Stats Sponsor Day 605 feedback@pldb.io Logout