Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Crema

< >

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

#1351on PLDB 10Years Old
Download source code:
git clone https://github.com/ainfosec/crema
HomepageSource Code

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

- Build the next great programming language Add About Search Keywords Livestreams Labs Resources Acknowledgements

Built with Scroll v144.0.0