rev 288 - trunk
SVN User <[email protected]>
| Newsgroups | gmane.comp.lang.prothon.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: mark Date: 2004-04-05 14:55:12 -0400 (Mon, 05 Apr 2004) New Revision: 288 Modified: trunk/STATUS.txt Log: status chgs Modified: trunk/STATUS.txt =================================================================== --- trunk/STATUS.txt 2004-04-05 14:54:41 UTC (rev 287) +++ trunk/STATUS.txt 2004-04-05 18:55:12 UTC (rev 288) @@ -2,13 +2,12 @@ ----------------------- TO-DO (highest priority first) ------------------------ --- add list comprehension +--- a < b < c ---- switch mro method to C3 +--- add thread object so prothon code can create threads --- catch exceptions during module loading ---- credit Ruby - --- help() in interactive console() --- -d -m -l cmd-line options missing @@ -19,24 +18,23 @@ --- plug memory leaks -- add del_unlocks ---- a < b < c +--- switch mro method to C3 ---- add thread object so prothon code can create threads +--- test += on modifiable type, i.e. __iadd__ type calls --- check for OverflowError in math routines ---- reduce array of act params passed to function to only odd entries +--- credit Ruby ---- improve torture with list and dict tortures, random walk against new end - ---- test += on modifiable type, i.e. __iadd__ type calls - --- Traceback objects (stack trace of an exception), exceptions should show function names --- Does simple 1+2 expr evaluation create objects? If so, need shortcuts to speed it up +--- reduce array of act params passed to function to only odd entries + --- thread monitor function +--- improve torture with list and dict tortures, random walk against new end ---------------- Ideas to consider for inclusion ------------------------------ @@ -129,79 +127,8 @@ ---------- missing functions ------------ - return . at end of __init__ - - int float string tuple list dict files net - - Not this release: bool complex - - -- all types -- - Object handles these - is object identity (are objects identical, not values) - is not negated object identity - __str__ - __bool__ - __hash__ - __covers__ - __cmp__ - < strictly less than - <= less than or equal - > strictly greater than - >= greater than or equal - == equal - != not equal ( "<>" is also allowed) + s.sort!([cmpFct]) sort the items of s in place - -- numeric -- - - abs(x) absolute value of x - int(x) x converted to integer - long(x) x converted to long integer - float(x) x converted to floating point - -x x negated - +x x unchanged - x + y sum of x and y - x - y difference of x and y - x * y product of x and y - x / y quotient of x and y - x % y remainder of x / y - divmod(x, y) the tuple (x/y, x%y) - x ** y x to the power y [same as: pow(x,y)] - - ------- sequence ------ - -x in s 1 if an item of s is equal to x, else 0 -x not in s 0 if an item of s is equal to x, else 1 -s + t the concatenation of s and t -s * n, n*s n copies of s concatenated -s[i] i'th item of s, origin 0 (1) -s[i:j] slice of s from i (included) to j (excluded) (1), (2) -len(s) length of s -min(s) smallest item of s -max(s) largest item of (s) -s.count(x) return number of i's for which s[i] == x -s.index(x) return smallest i such that s[i] == x (1) - -------- mutable sequences ------ - -s[i] =x item i of s is replaced by x -s[i:j] = t slice of s from i to j is replaced by t -del s[i:j] same as s[i:j] = [] -s.append!(x) same as s[len(s) : len(s)] = [x] -s.extend!(x) same as s[len(s):len(s)]= x (5) -s.insert!(i, x) same as s[i:i] = [x] if i >= 0 -s.remove!(x) same as del s[s.index(x)] (1) -s.pop!([i]) same as x = s[i]; del s[i]; return x (4) -s.reverse!() reverse the items of s in place (3) -s.sort!([cmpFct]) sort the items of s in place - - --------- dictionaries ------- - -len(d) the number of items in d -d[k] the item of d with key k (1) -d[k] = x set d[k] to x -del d[k] remove d[k] from d (1) d.clear!() remove all items from d d.copy() a shallow copy of d d.has_key(k) 1 if d has key k, else 0 @@ -210,33 +137,10 @@ d1.update!(d2) for k, v in d2.items(): d1[k] = v (3) d.values() a copy of d's list of values (2) d.get(k,defaultval) the item of d with key k - -------- strings -------- - - % operator (sprintf) +% operator (sprintf) --------- file ------- - f.close() close file f. - f.fileno() get fileno (fd) for f. - f.flush() flush file's internal buffer. - f.isatty() 1 if file is connected to a tty-like dev, else 0 - f.read([size]) read at most size bytes from file and return - as a string object. If size omitted, read to EOF. - f.readline() read one entire line from file - f.readlines() read until EOF with readline() and return list - f.seek(offset, whence=0) set file's position, like "stdio's fseek()". - whence == 0 then use absolute indexing - whence == 1 then offset relative to current pos - whence == 2 then offset relative to file end - f.tell() return file's current position - f.write(str) Write string to file. - f.writelines(list) Write list of strings to file. -EOFError -IOError - - -------------- built-in functions ----------------