Skip to content

Tags: iigura/Paraphrase

Tags

v0.95.0

ver. 0.95

v0.94.0

ver.0.94.0

v0.93.1

UPDATE: info for VisualStudio 2019.

v0.93.0

Release Notes: Changes from ver. 0.92 to 0.93

1. Language changes

* Added local variables
* Added tail recursion optimization
* Added restrictions on symbolization with backquotes
    On the version 0.93, the language system changes made it impossible that it can not create Symbols by using back quote if the first character does not start with a half-width alphabet or underscore.
    However, in the List as with the previous version, even one character other than the underbar can be converted into Symbol.
* It is a topic about the implementation method; the new version of Paraphrase have added stack for syntax check (Syntax Stack = SS)

2. Changes to existing Words

* If an error occurs during word definition, information on the calling word is displayed.
* Changed to do syntax check at the Word ';'
* Changed definable word names to begin with something other than '$'
    Words starting with '$' are used for variable access Words.
* 'do' and 'loop' are abolished (change to for+ ... next or for- ... next)
* The Word '==' supports List (returns true only if there is an exact match)
* Debugging of comparison operators (resolved a problem that occurred when double or float were compared)
* Changed to handle division by 0 as an error in the Word '/' and '%'
* Clarification of specifications of comparison between BigInt and BigFloat
    The behavior at the time of comparison with BigInt exceeding the limit of BigFloat is undefined.
    It is recommended not to compare these because there is a possibility falls by  exception handling may occur.
* printf supports Symbols (supports local variables)
* Improving printf performance (suppressioning cloning process in printf)
* Changed to the Word 'pick' 's behavior to be the same as Forth
    In the new version, 0 pick is equivalent to 'dup', and 1 pick is equivalent to 'over'.
* '${' is abolished
    In ${ ... }, only TOS was literalized, so in some cases unintended results (See also the description of the Words '}}' added in this release).

3. Change of name

* changed 'and' to '&&' and 'or' to '||'
* 'var' to 'global'
* 'size' to '@SiZe'
    The new version also supports strings and symbols.
* 'car' to '@CAR', 'cdr' to '@cdr'
* '>sym' to '>here'
    The old ">sym" crashed when the number 1 was converted to a symbol, but the new name version is debugged done so as not to crash at ">here".

4. Newly added Words

* .cr
* @+  @-  @*  @/
* @>  @<  @>= @<=  @== @!=
* @&  @|  @^  @>>  @<< @~
* @de-list, @last
* ->> interactive?
* }}  def  forget
* abs  vmap  and  or  >str  >symbol
* local  local-with  let  show-local-vars
* ,
* @
* filter  sort+  sort-  args  car  cdr
* has?  @Has?  in?  @in?
* j  foreach
* replace  2drop  3drop
* size  square  quit  exit
* thru  utf8>sjis  sjis>utf8  ccc-str

5. About the interpreter 'para'.

* Fixed error messages mixture under multi-thread execution
* Changed interpretation of command line parameters
    In previous versions, the parameter 1 was interpreted as the string "1". From now on, it is interpreted as the numerical value 1.
* See 'para.html' for more details on command line options

6. About the included sample programs

* Added sample program PE56.pp to calculate Project Euler No.56
    PE56 is a program that calculates the maximum sum of numbers in each digit when a and b are numbers from 1 to less than 100 and a ^ b is expressed in decimal.
* Added tail-recursive sample program "fact-tr.pp"
* Fixed to output Japanese correctly under Windows environment
* Removed test-* files (because driver programs now can be written on the command line)

v0.92.0

Ver.0.91.0 -> 0.92.0

v0.91.0

ver. 0.9.3 -> 0.91.0

BUGFIX:
	* Support big-int counter at for-next loop.
	* Fixed a problem that hexadecimal number starting
	  with 0x becomes big-int.
	* Added the code '{ > } sort' into README.md.

CHANGE:
	* Changed behavior of the Word '->'. The current version
	  execute the 'drop'. The code in the switch - case block
	  can be simplified.

MISC:
	* Added a new sample code: PE25.pp.

v0.9.3

Fixed that results are displayed correctly in sample programs.

v0.9.2

version. 0.9.2

v0.9.2a

Corrected links and its file names to the package files.

v0.9.1

corrected of release date in document files.