Zen
A cross-platform functional programming language

Todo List

Class autoptr< T >
Merge autoptr with scopedptr

Class buffer::iterator
Check if the iteratorbase template can be used here.

Class CallClosure
Accept qtype as ctor parameter, and eliminate getOutType() pure virtual function from InitClosure

Member Compiler::Impl::importHeader (zbl::ParseContext &pctx, const z::stringlist &idList, const Ast::ImportStatement::Type &type)
Remove import type

Member Continuation::_idx
Eliminate continuation index

Class ContinuationImplItem

Figure out how to merge implementation items and blocks

Redesign to replace idx with full name created by the factory itself, and eliminate getUniqueName()

Member CppGen::_hdrList
Remove _hdrList.

Member CppGen::_srcList
Remove _srcList.

Member dictbase< derT, K, V >::at (const K &key)
Find out why _list.value() returns a const value.

Class DoWhileStatement
Merge DoWhileStatement with WhileStatement

Class ForeachStatement
Merge ForeachStatement with ForStatement

Class FunctionBlock
Merge with RoutineBlock

Class FunctionCallExpr
Check if FunctionCallExpr can be merged with InvokerCallExpr.

Member FunctionDef::getGrammarName () const
: HACK

Member FunctionDef::visit (TypeSpec::Visitor &visitor) const
: HACK

Class FunctionImplExpr
Merge FunctionImplExpr and FunctionDefImplExpr by replacing FunctionImplItem with ImplItem.

Class GrammarToken
Rename to LexerToken

Class GrammarTokenList
Rename to LexerTokenList

Class holder< V >
Remove holder type

Member ImplItem::getFunctionImplItem () const =0
This is a dirty hack to convert self to derived class. Find a clean design solution

Member ImportStatement::getName () const
delete getName() function

Member key::getHash () const
Show type name in error string

Class MethodTypeSpec
Merge with FunctionDef below

Class Optimizer
Optimization not implemented yet.

Class Project
Explain GenConfigList

Class SelectStatement
Merge SelectStatement and SwitchStatement

Class SpliceExpr
Splice expressions needs to be completed and tested.

Member stringlist::append (const stringlist &v)
why is this needed?

Class StructDef
Subtypes is an experimental feature, to use struct's, union's and states to simulate base classes. WIP.

Member Token::text
Eliminate need for token text

Member TypeSpecRefWriter::TypeSpecRefWriter (const Ast::TypeSpec &ptype, const z::string &psep, const Format::T &format=Format::None, const bool &inExpr=false)

Remove TypeSpecRefWriter::sep member variable

Remove TypeSpecRefWriter::_inExpr

Member VariableDef::Closure
: remove this, replace with Local
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines