Py: A Hybrid Programming Language
The Py Programming Language
Py is a modest structured programming language I'm writing.
It's a mixture of
If you are familiar with any of the above languages, you'll
find Py easy to learn.
Py is written in
a language which I highly recommend. The development of
Py grew from my wish list of items for Euphoria.
Py offers the features expected of any modern programming language:
- Automatic garbage collection
Py is also interactive - you can enter code at the command line,
with automatic syntax coloring and indenting.
If you use Euphoria, you might be interested to know that Py has:
- Variables automatically created on assignment
- No need to declare types
- No differentiation between function and procedure
- Sequence comparison uses =, not equal().
- for / in / do loop structures
- Forward references
- Pass by reference
- January 26. Fixed binder (was mangling code), added
compiled versions and instructions on how to interface
Py to Win32Lib.
- January 24. Added the ability to bind programs into a
- December 1. Fixed precedence bug, thanks to Tommy Carlier.
- November 28. Fixed bug, local variables with same name
as module variables now scoped correctly.
- November 18. Routines can now accept variable numbers
of arguments. Several bug fixes, added documentation in HTML
- November 9. lots of fixes; added string library and new demo.
- November 6. Added pass by reference, fixed parsing
bug in fractional numbers.
- November 3. Bugfixes, documentation fixes suggested
by Jiri and Falkon. Also added more validation tests to
prevent the code from crashing.
- November 3. Fixed handling of underscore, error
- November 1. Fixed routine calls from indexed variables,
dictionaries now use hybrid (find/binary search) lists,
del works dot notation, variables are set to undefined,
added 'var' declarations, new version of Ox.
- October 31. Lots of bugfixes: indexes, division by zero,
better diagnostics, line continuation char, backslashes,
'this' variable, Win32Lib support, hex numbers.
- October 27. Fixed creating of dictionaries, 'in' operator,
print, printf and puts (more like C versions), // style comments,
traceback on error. Slicing and indexing is now generalized to
anything that returns a sequence, not just variables.
- October 26. Added routine_id, OOP support.
- October 25. Lots of bugfixes. Namespace works again,
dot notation for association lists, and I've added a spiff
new syntax-coloring editor. Variables are checked to see if
they are initialized before use, and there are more error
checks on math operations.
- October 23. Added namespace changes (mostly untested),
bug fixes for parsing numbers. Source version for 2.2b
- October 20. Irv Mullins reported a handful of bugs
that I've been able to track down. Kenneth Rhodes also
found a problem with loading files under Linux that's been
corrected. Updates have been posted.
- October 19. I've added support for dictionaries
(associative lists) via Jiri Babor's code. There are also
three versions of Py available for download: one source code,
and two executable forms.
Keep in mind that Py is beta quality software, and undergoing daily
development and bug testing. But it's complete enough be useful, and
you can do some cool stuff with it.
You have five download options: