[moto-devel] Feature and Bug List

David Hakim <dhakim-Gkm/TONP9n1Wk0Htik3J/[email protected]> Fri, 24 Jan 2003 12:12:47 -0500
Newsgroups gmane.comp.lang.moto.devel
Message-ID <[email protected]>
Well, I just wanted to give you guys an update on how 0.18.0 is shaping  
up, here are my current notes for what's in the build so far :

Next Release (moto_0_18_0)

New Features
-------------------
- Fixed bug in getColumnType and added getColumnTypeByName in  
TabularData
- Added the comma operator (Stefano)
- Added inline declarations in for loops (Stefano)
- Significantly Upgraded Postgres SQL Driver (Shay)
- Added %Z parsing of timezones in date formats when linked against  
glibc (Shay)

Bugs Fixed
-------------------
- Fixed a bug in the -O operation in moto so #LINE and #FILE will not  
be written out to generated C files when its on (Stefano)
- Fixed a potential segfault in the Date constructor (Shay)

I think I'm going to wait for Stefano's work on inline array  
declarations and shoot for a release around the end of the month. In  
the meanwhile I'm going to try to take care of some of these known bugs  
(I've put a '*' next to the ones I hope to handle today and this  
weekend ... the rest are totally up for grabs :) ) :

Known Bugs
-------------------
* We are still not parsing certain cookies correctly :
### Failed to parse all cookies from  
'phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22 
%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7D; SSID="64198"' syntax  
error before  
'%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22user 
id%22%3Bs%3A1%3A%222%22%3B%7D; SSID="64198"'
- Looks like we can leak resources like database connections under  
certain types of Segfaults (most likely when the ThrowInterrupts option  
is enabled)
* Allocation failures are always reported on line 47 of exception.c. We  
should turn the emalloc function into a macro to get more information
- /usr/local/moto/bin/mmc: illegal option -- ?
- There may be a bug with ebedded switch statements that contain only a  
single case
- Certain memory leaks occur when exceptions get thrown from different  
places (especially in the interpreter)
* Vector insertAt may have a fencepost error
* The verifier is not catching unknown types in motov_cast  properly
- Globals used prior to their declaration can cause bus errors in the  
interpreter.
- There is a known bug that causes apache not to start on Mac OS X and  
potentially other unix distributions when php 4 is also installed
- PGSQL stores types in a global variable causing a memory leak
- There are likely issues regarding promotion and freeing of NULL ...  
one thing is for sure and that’s the delete keyword will fail under  
certain circumstances
* There is a bug in line number reporting somewhere ... again ... argh.  
Verifier errors far down the page in init.incl in the Iolio application  
can reproduce
- Calling the following macro foo(*) will cause an infinite loop in  
motopp
foo(bar)
    $maka($bar)
maka(bar)
    $($bar)
- Stack traces are not shown when exceptions get thrown inside of  
functions
- Parsing of ints in hex format doesn’t work (always returns 0)
- Conversion from long to float on sparc probably doesn’t work

And here is the full list of todos on my feature list for upcoming  
release. Please post your additions to this list!

Language Features
-------------------
- Add $lock and $unlock or Lock objects
- Add support for {} style array instantiation
- Add support for higher order functions in moto

Extensions / Functions
-------------------
- Add codex.net objects for smtp, imap, pop, and nntp
- Add an extension for ACLs and User/Group management
- Add a generalized reporting extension
- Add extension for loading SQL statements from a file
- Add String motoVersion() to show version of moto used
- Add mcrypt or some other cryptography extension lib
- Add cURL lib
- Add Array(? or String? or print>stdout?) motoInfo() - shows full  
information of moto environment
- Add graphics support
- Add stdio extension to moto
- Add streams support to moto
- Improve the Date class
- Add Date and binary datatypes as well as implicit conversion to  
TabularData functions

Back End Enhancements
-------------------
- Ramp the performance of the libcodex TNFA implementation ... perhaps  
by using libtre directly
- Give extension authors the ability to overload at least some  
operators ... first []
- Add stack traces to exceptions when thrown in moto functions
- Make better / more standardized regex support
- Re-add/vamp garbage collector for moto
- Add introspection so that objects can know their class
- Add support for inheritance / interfaces
- Come up with a better way of handling lvalues in motov/c/i
- Improve the performance of the interpreter
- Re-factor MotoEnv
- Make all the lexers and parsers re-entrant
- Add support for building moto CGIs

Platform Support Enhancements
-------------------
- Add apache 2.0 support
- Add rpm creation functionality to build scripts
- Add other package creation functionality to build scripts
- Make configure / make scripts suck less

Misc
-------------------
- Make documentation downloadable
- Add versioning of functions in docs.