The Qu Programming Language
Home  |  Download  |  Modules  |  Documentation  |  Repository  |  Tutorial  |  Mailing List

Changes

1.21.05

  • Added the standard Lock module.
  • Added Iconv.width.
  • Added String.flatten and Buffer.flatten.
  • Added module List.
  • Removed Kata/Lists in favor of List.
  • Added module Gd.
  • Improved and made XML Expat a standard module (Xml/XmlParse).
  • Added Dict.find and Dict.__plus.
  • Enhanced 'use'.
  • Added __std keyword to force use module in /opt/qu/lib.
  • Use directory is no longer supported.
  • Enhanced Pointer.new.
  • Added the __extern keyword.
  • Added Container.istrue and isfalse.
  • Made Pointer and Record non-final.
  • Enhanced Pointer.
  • Got rid of _Array_, _String_, etc. so use Array, String, etc.
  • Renamed _int_, _float_, etc. to Cint, Cfloat, etc.
  • Added the universe statement.
  • Enhanced the Qu module.
  • Added the FILE module.
  • Rewrote the Curses module in Qu.
  • Added the Gtk module.
  • Added GC critical memory.
  • Fixed the experimental "with" statement.
  • Updated Mysql.c to support version >= 4.
  • Fixed some Kata bugs.

1.21.04

  • Fixed XxxIs macros in Array.h, Dict.h, Set.h and Queue.h (ObjectIsa should have been ObjectInstOf).
  • Added support for SQLite 3 from Bruno Luca.
  • Added basic support for Irv's GTK module.
  • Fixed x.foo () to work when x.foo is a Class.
  • Fixed bug in Db.Handle.sql.
  • Fixed struct to enable late declaration of item type.
  • Fixed bug in Container.union.
  • Fixed bug in Time.make.
  • Enhanced String.__as.
  • Added Set.copy, Dict.copy.
  • Enhanced Set/Dict/Array.delete methods.
  • Fixed calling Struct when the Struct is an attribute.
  • Major cleaning and prefix all public C functions.
  • Now C modules init function names must be qu_XXX_init.
  • Now the Class class does not define any attribute. All moved to Object.
  • Allowed non-final static attributes overridden by instance or class methods.
  • Renamed all xxx_free C functions to xxx__destroy.
  • Changed the field 'free' in struct qu_class_s to 'dtor'.
  • Added the field 'fnew' in struct qu_class_s to optimize object creation.
  • Optimized CALLXXX instructions in interp to use 'fnew'.
  • Enhanced eval with option 'f' to accept a file path.
  • Added the HTOPEN, HTCLOSE and HTENTITY instructions. They're very fast.
  • Fixed Os.signal.
  • Fixed Emit special switch cases. Should have processed by Reduce first.
  • Added the JMPTRUEX and JMPFALSEX instructions.
  • Fixed Rational as Integer (div should have been idiv).
  • Fixed qu_rational_tol and family.
  • Added the Zlib standard module.
  • Added Record.__in and Record.__len.
  • Added the Gdbm standard module.
  • Added the Syslog standard module.
  • Added the Iconv standard module.
  • Fixed qu_stream_read/recv to throw EPIPE when applicable.

1.21.03

  • Added the -E command line option.
  • Added Sys.__daemon__ to check whether Qu was run as a daemon (the -S option).
  • Now Array, Dict, Set and Queue may be subclassed.
  • Fixed Kata installer.

1.21.02

  • Fixed the installer that did not copied some files.

1.21.01

  • Removed all __store and __load methods in builtin classes.
  • Implemented weak references for better module loading.
  • Fixed Qu -P option.
  • Now __verbose__ prints to system stdout as it should be.

1.21

  • Better error reporting.
  • Now File.temp returns an Array instead of File.
  • Renamed module HtmlSyntax to html.
  • Now pragma html must not be followed by with.
  • Added html.tag to register tag handlers.
  • Now all HTML attributes are uppercased.
  • Moved Kata/Cache to standard module Cache.
  • Fixed bug in StringDup.
  • Added more debugging stuffs in Gc.
  • Added use xxx for yyy to (temporarily?) solve __package documentation problem.
  • Optimized Tokenizer to use static objects for resident modules.
  • Added experimental Utf8 module.

1.20.03 Beta

  • Added the with-in syntax.
  • Implemented __call.
  • Allow "as" ":" "=" "->" as alias of "in" within for x in y.
  • Now assert is a keyword.
  • Now __quit__ is called for both EExit and EEAssert.
  • Now eval changes EAssert to EProgram and EExit to EQuit.
  • Now termination signal is EQuit instead of EExit. Only __exit__ generates EExit.
  • Now module __init is automatically called, just like __destroy.
  • Now verbose (-o) prints module message init and exit messages.
  • Fixed field name mday to day of Time.Tm.
  • Rewritten the Store module.
  • Added Stream.readv and Stream.writev.
  • Removed modules: Flow, Task, Context, Lock, Counter, Log, Pattern.
  • Added the -S option to run as daemon (forks).
  • Now throw can take expressions.
  • Moved Utf8 back into core.
  • Changed the SQL argument of all Db module handle methods.
  • Moved back the Valid module to C.
  • Added (_ a b c) syntax to mean a _ b _ c.
  • Added (. a b c) syntax to mean print (a b c).
  • Added (\ a b c) syntax to mean print (a b c) HTML escaped.
  • Added builtin function __errmsg__.
  • Added HTML syntax into Qu directly.
  • Fixed bug in PC_PARAM.
  • Added PC_PRINT.
  • Now a statement with a single literal prints.
  • Fixed method__eq: should only be the same if it is the same object.
  • Added experimental __interface methods.
  • Added the --- tag and __args decorators.
  • Now the Db module is included in the standard distribution.
  • Included the Kata framework.

1.20.02 Beta

  • Fixed links in /doc/tutorial/structure and added a few things.
  • Added a few things in doc/tutorial/validator.
  • Added C and Python to Pretty.
  • Trashed String.item and String.slice. We can use the [,] operator.
  • Enhanced String.parseform a bit.
  • Enhanced Int/Long/etc. new to accept Buffer
  • Added the standard Log module.
  • Fixed bug in Queue.
  • Fixed bug in RecordNew. Items were not initialized.
  • Fixed bug in Uri and changed Uri.split to return an URI record.
  • Added syntax catch a, b, c -> var.
  • Enhanced File.istype and File.isdir.
  • Enhanced Time.value.
  • Removed the Job module.
  • Fixed bug in Set.__clear.
  • Fixed bug in ClassSetSuper.
  • Added some Web modules.
  • Added Dict.add.
  • Added Buffer.head and Buffer.tail.
  • Fixed the Socket and Ssl module.
  • Fixed bug in InterpLock.
  • WARNING: now no autodetect deadlocks -> faster thread.
  • Cond does not need a Mutex.
  • Added HttpServer.

1.20.01 Beta

  • Added the String.__rem method.
  • Added the String.title and Buffer.title methods.
  • Enhanced use statement syntax to say foo.bar.baz.
  • Added Sub.change.
  • Added some tutorials.
  • Fixed integer incremental in enum.
  • Fixed printing of Ast line number.
  • Fixed __unsafe.
  • Fixed String.indent and Buffer.indent.
  • Added methods: Sub.argc, Sub.isclosure.
  • Added methods: Frame.__string, Frame.__print, Frame.__true.
  • Fixed calling class method via reference -> interp.c (CALL).
  • Added methods: Var.isprivate, Var.isreadonly.
  • Fixed _class_check_attr that missed checking for abstract attributes not overrided by real subclass.
  • Enhances NumberScan.
  • Added Big and Rational literal syntax.
  • Now Big exponent is D or d.
  • Fixed ensure for class properties.
  • Added the standard Pretty module.
  • Added methods: Dict.collect, Tokenizer.listkey, Tokenizer, listop.
  • Added methods: String.item, String.slice.
  • Enhanced switch case statements .
  • Changed case ? to mean a boolean test.
  • Added methods: String.startswith, String.endswith.
  • Added the -C option: more compile-time checks.
  • Added compile-time check: setting read-only/constant property.
  • Disallowed the use of mixin classes as validators.
  • Allowed the use of variables as validators.
  • Added the Sys.sysdelay function.
  • Fixed access of private class constants.
  • Implemented module finalization __destroy.
  • Enhanced enum, now built by Reduce.
  • Enhanced use try Foo or Missing.Foo.
  • First step into simplifying the whole symbol access affair.
  • Added the standard Extern module.
  • Allowed comment in between backtick strings. No limit know.
  • Changed all Sys validators signature to return Boolean.
  • Enhanced super to work with class methods.
  • Now __auto and __mixin are exclusive.
  • Now __auto and __abstract are exclusive.
  • All documentations now use the stylesheet file: doc/doc.css.
  • Added a number of tutorials.
  • Removed all experimental operators.
  • Added File.agecmp.
  • Rewritten all manuals.

Older versions are not shown here.

 

Copyright © 2006 by Marc K.
Generated by Doc.qm Thu, 15 Jun 2006 02:13:48 GMT