0.1.1061
potion was created in 2009 by why the lucky stiff, but was never formally released.
We, perl11, took over maintenance recently, because potion was choosen as vm
for a new perl called p2.
See http://perl11.org/potion/ for an overview of this new exciting little language.
Binary packages
For linux we provide 32 and 64bit packages, including a -devel package.
For darwin only a intel 64bit package, 32bit is broken.
For windows only a 32bit zip, without devel.
win64 is not yet supported.
Limitations
potion is highly unstable, not production ready and misses some features
like an ffi, debugger, external compilers, database or ui libraries and native threading.
The parser is not yet GC -safe (so avoid memory hogging eval),
and the build system (parallel make), GC and jit are still a bit unstable.
New features
i.e. previously not documented
- Mixins, a syntax for blending methods into classes.
- MOP, changing metaclasses, the behavior of classes.
- Coroutines, a technique for inprocess threading.
- Continuations, for saving and resuming the stack,
here
andyield
. - Exceptions for graceful error handling.
readline
module and repl if called without file or script.
This is really new, since 2013:
- Asynchronous non-blocking IO in the
aio
module via libuv. So like node, but potion is a bit faster then node. - Buffered stream FILE* IO in the
buffile
module. - Optional and default signature arguments.
argv
-e
for cmdline scripts and various-D?
debug output methods- more examples and documentation
- fixed various jit-x86 limitations on max number of stack variables, eg. max 15 on amd64
- fixed GC errors when running out of memory
Plans for 0.2
- ffi (extern sub definition and extern block)
- debugger and more introspection
- gc-safe parser (eval)
Thanks to all developers and testers! Have fun