Copper
Copper is a programming language that I use as a replacement to C. The main differences are:
- Type inheritance for any type
- Genericity
- Multiple return values
- Out-of-order definitions
- Simple import system, no headers
- Not everything in the global namespace
- Deferred statements
- Ruby-style blocks for iterators
- Ruby-style syntax
- Fast compilation
- Minimalism
Minimalism is the most important feature, the language is intended to be simple so that someone with limited brain power such as me could fully understand it. The syntax is simple, almost everything is explicit and most constructs are common.
Example
A simple example beyond the pointless "hello world".
class Point
attr x: Int
attr y: Int
def init(x: Int, y: Int)
self.x = x
self.y = y
end
def translate(dx: Int, dy: Int)
self.x += dx
self.y += dy
end
end
func main: Int
var pt: Point!
pt.init(3, 5)
pt.translate(1, 0)
println("x = \a, y = \a", pt.x, pt.y)
return 0
end
import "std"
More Information
- A quick overview of the language
- Documentation
- More examples
- Browse standard library source code
- Browse compiler source code
License
Copper is released under the BSD license.