Skip to content

An imperative, object-oriented, static and type-infered programming language.

Notifications You must be signed in to change notification settings

jomtek/LazenLang

Repository files navigation

The Lazen Programming Language

Lazen is an imperative, object-oriented programming language, which supports type-inference. It is meant to be "100% handmade" : it uses no lexing/parsing/compilation library.

Click here to access Lazen documentation

Code examples

Hello world

class Program
{
	static func Main(args: [String])
	{
		println("Hello, world!")
		0
	}
}

Bubblesort algorithm

static func BubbleSort<T>(list: List<T>) -> List<T>
{
	var n = list.Len()
	for i in range(0, n-1)
	{
		for j in range(0, n-i-1)
		{
			if list[j] > list[j + 1]
    				swap(list, j, j+1)
		}
	}
	list
}

Project evolution

  • Lexing
  • Parsing
  • Typechecking
  • IR code generation
    • Optimisation
  • ASM or bytecode generation

About

An imperative, object-oriented, static and type-infered programming language.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages