Swizzle Banner

Designed by Ethan Uppal and hosted by GitHub pages. View on GitHub

extend Sequence {
  func prefix(length: Int) -> PrefixSequence<E> {
    return PrefixSequence<E>(self, length);
  }
}

var array: Buffer<Int>;
array = ...;
print(array.reversed().prefix(5));
print(&array.address());

Some code in Swizzle

Build Status Swift Version license:MIT

What is it?

Swizzle is a programming language that is all new, yet all fun. Swizzle has a syntax that is similar to other popular programming languages. It is simple to write code and simpler to run it.

Though Swizzle is still in development, I would say it is slightly functional.

Here is a (small) list of Swizzle's functionality.

For more, visit the wiki.

Tutorials:

  1. Hello World
  2. Comments
  3. Variables
  4. Functions
  5. Structures

Similar to many langauges, Swizzle requires semicolons to terminate statements. Even though this may be annoying, it actually helps make the error messages better so you can write cleaner and safer code. See this pull request if you do not want to use semicolons.

The Goal

Swizzle attempts to fill in a niche for graphics programming. There are not many simple, powerful and fast compiled langauges for this purpose. Swizzle hopes to succeed in all those categories.

What is included?

Swizzle comes with an hand-written lexer/parser, compiler and a virtual machine. Swizzle uses a modified version of BytecodeVM compiler and vm.

Beyond Swizzle