Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ddda158d5 |
2 changed files with 6 additions and 6 deletions
|
|
@ -7,10 +7,10 @@ apfl
|
|||
|
||||
An attempt at creating a programming language
|
||||
|
||||
!!VERY MUCH NOT READY FOR USE!!
|
||||
!!VERY MUCH WORK IN PROGRESS!!
|
||||
-------------------------------
|
||||
|
||||
We have what looks like a working tokenizer and parser and you can evaluate most expressions that don't call or define a function (so nothing really useful is possible yet).
|
||||
While most things work, performance and memory usage is sh\*t, the standard library is not really fleshed out, documentation (other than this readme) is missing, and the syntax will likely change. So, maybe don't use it for your next startup :P
|
||||
|
||||
Building and running
|
||||
--------------------
|
||||
|
|
|
|||
|
|
@ -10,16 +10,16 @@ V* := { a1::b1 a2::b2 ->
|
|||
(- (* a1 a2) (* b1 b2))::(+ (* a1 b2) (* b1 a2))
|
||||
}
|
||||
|
||||
Vsqared := { x -> V* x x }
|
||||
Vsquared := { x -> V* x x }
|
||||
|
||||
Vsqared-abs := { a::b ->
|
||||
Vsquared-abs := { a::b ->
|
||||
+ (* a a) (* b b)
|
||||
}
|
||||
|
||||
mandel := {
|
||||
0 _ _ -> true
|
||||
_ _ _?(has Vsqared-abs > 4) -> false
|
||||
n c z -> mandel (-- n) c (V+ (Vsqared z) c)
|
||||
_ _ _?(has Vsquared-abs > 4) -> false
|
||||
n c z -> mandel (-- n) c (V+ (Vsquared z) c)
|
||||
}
|
||||
|
||||
mindim := if (< width height) {width} {height}
|
||||
|
|
|
|||
Loading…
Reference in a new issue