1
0
Fork
You've already forked pn
0
language
2026年01月05日 16:54:19 +00:00
dev grammar 2026年01月05日 16:54:19 +00:00
lua subdirectories 2026年01月04日 22:05:43 +00:00
pn subdirectories 2026年01月04日 22:05:43 +00:00
vm subdirectories 2026年01月04日 22:05:43 +00:00
README.md subdirectories 2026年01月04日 22:05:43 +00:00

pn

pneumonia (programming language)

  • /dev - development files (grammar, etc)

  • /lua - lua implementation of pn's bytecode compiler

  • /pn - self-hosting pn bytecode compiler

  • /vm - ANSI C99 implementation of pn's vm

vec2(x, y) := '{
	mut x := x
	mut y := y
	mag() := math.sqrt(x * x + y * y)
	:+:(v) := vec2(x + v.x, y + v.y)
	:-:(v) := vec2(x - v.x, y - v.y)
}
else-flag := 'false'
if(cond) := |body|
	cond? {
		else-flag = 'false'
		body()
	}: else-flag = 'true'
else := |body|
	else-flag? body(): ''
loop(f) := f()? loop(f): ''
mut foo := vec2(0, 0)
mut i := 5
loop {
	if (i % 2 == 0) {
		foo += vec2(i, i)
	} else {
		foo -= vec2(i, i)
	}
	i -= 1
	-> i > 0
}