New:Overwriting of .toStr
New:New ParseTimeSwitch: >unsafeHotCode
New:Temporary VarLet with: Object.handle
New:Char.toUnicode, Str.fromUnicode
New:Combine also lines when '[' at the end
New:"Sys" to get system information
New:New: Str.columns, Str.table
New:Parsing Tree-Block with >>>> and <<<<
Changed:Deep-Functions removed, functionality integrated in Get,Pull,Set,Put
Changed:Shortcuts for _EACH: $$, €
Changed:List changed: from position --> .start, to position --> .end
Changed:´´ is shortcut for "Cmd.pipe", ´´? is shortcut for "Cmd.live"
Changed:Shortcut for Get & Set also with 0 arguments possible
Changed:Auto-Property improved, it's only set when a '=' follows



Changed:Error-Output improved
Changed:More and better tests
Bugfix:Prevent definition of already defined Vars/Consts



Changed:Start-Procedure changed, Main-Class is now org.jmo-lang.JMo
Changed:Enhanced quote/unquote with Unicode chars
Bugfix:Some fixes for CLI



New:Object.tryCatch, .tryBlock, .tryBlockCatch, the same for Try
New:Object.ifNil, .ifNotNil
New:New Functions for Str: .filter, .map, .sort, .reduce, .amount
New:Object.is, Object.isNot
New:Predefined Type for variable/const: Int i = 4
New:Floor-Division: /~, .floorDiv, .divFloor
New:Atomic: .breakAt, .breakIs, .breakIf
New:Auto-Pass after every function
New:Private functions: _private
New:VarArgs for Functions and Types (v...)
New:Else now with parameter as elseif/elif: ".else(Bool b)"
New:Sequence.deep... Get,Pull,Set,Put
New:Nil multiply, to get a empty List
New:Automatic counter for loops added: _LOOP.nr
New:Auto-String-Get/Set now with ':'
New:New functions for VarLet: .set, .while, .repeat
New:JMo-Flags: -t,--test
New:Length-Function for all atomic types
New:Atomic.keyValue, Atomic -> Object = KeyValue
New:For-Type (C/Java-Style)
New:Atomic.while, Atomic.repeat
New:Column names for Table
New:VarArgs can be used with a VarLet of a List
New:IntNumber.for(Bool test, Object calc)
New:Classic command: IfNot
New:Now there are 3 Code-Styles: Classic, Stream, Slim
New:Many new functions for different types
Changed:All control-functions now with: _EACH, FuncLet, VarLet + _EACH
Changed:Function/Type-Definition: ":foo()%" changed to "::foo{}"
Changed:Functions: Individual initialization of parameters
Changed:§exit --> _APP.exit
Changed:MC_CONTROL removed
Changed:Changed shortcut-chars: _EACH = €, _LOOP = & or ±, _FUNC = §
Changed:Mathematic negative operator changed from '~' to '!'
Changed:Object.go renamed to .pass
Changed:ifGo --> passIf, isGo --> passIs (also for "not")
Changed:Removed: AutoBlockFunction after Function
Changed:Parser-Levels changed (level 0-4): Open, Low, Medium, High, Insane
Changed:Allow shortcut of variables
Changed:_BLOCK and _STREAM moved to _FUNC.push(x): They are only combined accessable
Changed:Standard-output of Date and Time changed to "YYYY.MM.DD HH:MM:SS"
Changed:Now accepted: nil,Nil,NIL / true, True, TRUE / false, False, FALSE
Changed:Loops: .continue renamed to .next, but .continue is a alias
Changed:Changed sequence for definitions: "::"
Changed:"For" renamed to "Count"
Changed:equally,equals,same | diffly,differs,other | ==~ == === | !=~ != !==
Changed:VarLet for shortcuts like {} changed to: .mem(:x) and => x
Changed:Now, _IT can be used like a normal variable. Also with %=++
Changed:Changed: Initialisation of Control-Objects and -Functions
Changed:Error-Output and messages improved
Changed:Strict-Levels balanced
Bugfix:Really a lot of fixes



New:Object.proc( VarLet, Object ) / Object.tee( VarLet, Object )
New:List.adjust(IntNumber, Object)
Changed:Lines with leading '+' or '-' are no longer appended to the previous line.
Changed:Lazy String-Parsing (.toInt, .toDec, ...). Now nil will be returned.
Bugfix:Some fixes for Console-Output and imports



New:Table.sort, .addRows, .combine, .addAll, .rotate, .reverse, .rows, .columns
Changed:Correct Charset for Windows-Console
Bugfix:Bugfix for Windows-Starter



New:Functions to search first/last position in List and String
New:Number.format with tilde to ignore chars
New:Table(width, length, fill)
New:Java-Imports, also with wildcard
New:Direct access to Java-Objects
New:Extra functions for variable assignment (=++, =--, **=, ...)
Changed:Bitwise shift,and,or,xor only for IntNumber
Changed:While.exec renamed to .each
Changed:"AutoBlock after Function" disabled by default
Changed:Range: Shortcut now uses .eachTo
Changed:Condition renamed to Use
Changed:AutoBlockFunction for Group: .get
Changed:Repeat.exec renamed to .each
Changed:Str.get and .change with negative position
Changed:CLI improved. Now it works also without stty
Changed:Str.startsWith and .endsWith now can used with more parameters
Changed:Priority of atomic types implemented and tested
Changed:Brackets get/set now can have more than one parameter. Example: [3,5]
Bugfix:Some fixes for: _THIS, Function definition, Numbers



Info:This is a huge update with really a lot of changes and improvements!
New:New DateTimeBase for Date, Time, DateTime
New:Default-Function for self defined types
New:Functions now can process block and stream individually (_BLOCK, _STREAM)
New:Now you can write own Control-Objects
New:Sandbox for self-created Java-Objects
New:Number: Increment/Decrement with parameter
New:New/Changed Str-functions: from, to, fromFirst/fromLast, to..., after..., before...
New:New is-functions for Char (isNumber, isCaseUp, ...)
New:Convert of Chars: toChar = parsing, .ord / .chr = Unicode/ASC II
New:MagicConst-Positions (_TOP, _LEFT, _TOP_LEFT, ...)
New:Property-system for .get and .set (.prop --> .getProp / .prop = x --> .setProp(x))
New:Makro with FuncLets and arguments
New:FuncLet with parameter
New:Autoblock-Function for Bool (.if)
New:Switch: So all case-functions moved from Object to Switch
New:Better handling of Java-Objects
New:Bool.use (clear alternative for Condition)
Changed:Logical gates: and = &&, or = ||, xor = ^^, nand = !&&, nor = !||, xnor = !^^
Changed:Map: Objects renamed to "Values"
Changed:Clear break for logical "and" / "or"
Changed:Equals (==) and differs (!=, <>) moved to Object
Changed:List.sort improved
Changed:Str and Char now inheriting from Chars
Changed:File-Handling much improved: FileSys, PathList, Path, File, Dir
Changed:Many improvements for Date, Time, DateTime, also +/- now can be used
Changed:Object.toString removed
Changed:New system for parsing a Script.
Changed:Better Exception-Handling
Changed:CmdResult replaced with FunctionMap
Changed:Result of Str.cmd is now equal to the use of Cmd
Changed:Handling of shellcommands changed and improved
Changed:Switch-Cases improved, caseIs and caseIf now returns the last Object
Changed:"Control" changed to Magic-Constant "_CONTROL"
Changed:Handling of comments improved
Changed:Multicall now updates a var
Changed:_ITS changed to _CUR
Bugfix:Really a lot of bugs fixed!



New:UTF8-Chars in Char and Str with \uXXXX
Changed:Output-order of errors changed
Changed:Now the raw name of a variable is checked, if it is already in use
Bugfix:A lot of fixes



New:Functional programming with FuncLet's
New:List.reduce, List.map, List.sort, List.filter
New:New MagicConst: _PI, _E
Changed:For now a Range doesn't unfold automatically in a List! Use List.unfold
Changed:Corrected: Dec.toInt
Bugfix:Some fixes



New:New unitary concept for the processing of blocks and streams.
New:Better handling of System-Commands (.exec, .quiet, .forget)
New:Errors: For full output use .show
New:Auto-Block-Function for Str: .each
New:Auto-Block-Function for IntNumer: .timesUp
New:If a function clearly returns a object with Auto-Block-Function, you can use it
New:Code-Style-Levels balanced: open, strict, verystrict, insane
New:ParseError for code-errors at parse-time. CodeError is for run-time
New:Include other files with: >Include("file.jmo")
New:New Save-Mode (used for Webstart)
New:Direct VarLet for Shortcuts: {1,3}:a ?{w}:b ?(false, 'a', 'b'):c
Changed:.do executes the auto-block-function of the current object, if it has one
Changed:.go takes the current object and executes with it the block and stream
Bugfix:Many many fixes!



New:Every function that results clearly a object with auto-block, now can have a block
New:Map.each --> MapItem
New:Some new functions for Table
Changed:More constructors for "Time"
Changed:Functions that return a List can have an Block
Bugfix:Different fixes



New:"For" now can be used with a "Range"
New:All atomic decimal types now are a parent of DecNumber
New:toStr for all objects
Changed:Nil is an atomic object
Changed:Better handling of incrementing variables
Changed:Improved rounding to type of variable
Changed:Improved documentation
Changed:Better block-checking
Changed:§< is now a alias to _FUNC.return(), without parameter!
Changed:§= is now a alias to _FUNC.return(Object o), with parameter!
Changed:Better parameter-check for objects
Bugfix:Some small bugs fixed



New:Byte,Short,Int,Long are now type of IntNumber
New:Nil is now atomic
New:Not typesafe vars now can end with ¿ or ??
New:_LOOP now works
New:New Objects: Repeat, Try, Error, Time, DateTime
New:Errors are now sorted in groups: Code, Exec, Ext, Custom
Changed:Improved documentation
Bugfix:A lot of small bugs fixed



New:Parse-Time-Commands now starts with a leading '>'
New:>strictBlocks - Forbids Auto-Block and .do
New:>strictConsts - Forbids ° % $ $$
New:>strictObjects - Forbids shortcuts like () [] {} <> ?() and so on
New:>strictFunctions - Forbids =+-*/&|^ and so on
New:Improved Java-Interoperability
New:Better output of strings in lists
New:Switches: case, caseIs, caseIf
New:.if / .is
New:.go, .ifGo, .ifNotGo, .isGo, .isNotGo
New:"go" is now the command to execute block and stream. "do" executes the object with Auto-Block
Changed:Rewrite handling of Parse-Time-Commands.
Bugfix:Using Var in Type-Constructor
Bugfix:Some small bugs fixed.



New:{} now is a Shortcut to For().each
New:?{} now is a Shortcut to While().do
New:New Types: While, If
Changed:Counter renamed to For
Changed:Rewrite of Loop-System
Changed:Clearer Object-Initialization
Changed:Rewrite of handling ranges
Bugfix:Fixed a lot of bugs



New:Str.fill to format Stings
New:Return-Type "Same" for functions now works
Changed:Type-unsafe Vars now ends with a ¿, nillable ends with ?
Changed:§<< removed
Changed:Documentation improved
Bugfix:Handling empty functions
Bugfix:Some little fixes



New:QuickSort works!
Bugfix:Major bugfix at handling instances



New:Values from ".each" and ".times" can passed directly to an variable: Example: 3.times(:a)
Changed:Group: Now it makes a difference whether you call it with "()" or with "Group"
Changed:Condition: Now it makes a difference whether you call it with "?()" or with "Condition"
Changed:Assign a value to a variable with "mem", now needs a VarLet. Example: 5.mem(:a); a.print
Bugfix:Some fixes for the CLI



New:New List-Function "concat" with alias ++
Changed:Complete Code-Review to make it OpenSource


New:Exit the Application with: _APP.exit or §exit
New:List.filter with _EACH or $$; Example: [3,9,7,2].filter($$ < 5).print; [3,9,7,2].filter(_EACH < 5).print
New:Cool List-Functions for cutting: left, right, cut, area, from, to
New:New Atomic Types: Byte, Short, Long, Float
Changed:Major update at storing and handling variables.
Bugfix:Important fixes for the Function-Multi-Call-System
Bugfix:Different fixes and improvements


New:Condition works with: Condition(Bool cond, Object then, Object else) ... or with: ?(Bool cond, Object then, Object else)
New:Variables ending with ?? now are Type-unsafe and nillable
Changed:Raw Objects, without Auto-Block-Function couldn't have Blocks anymore.