<ul>
-<li>The <code>ifte</code> combinator has been renamed to <code>if</code>!</li>
+<li>Incompatible changes:
+
+<ul>
+<li>The <code>ifte</code> combinator has been renamed to <code>if</code>.</li>
+<li>Syntax changes:
+<pre>
+{ 1 2 3 } ! arrays
+V{ 1 2 3 } ! vectors
+H{ [[ key value ]] ... } ! hashtables
+C{ 1.02 -7.44 } ! complex numbers
+T{ class slots ... } ! tuple
+</pre>
+
+</li>
+</ul>
<li>Compiler:
<li>Added expandable outliners. Used by the inspector, <code>.s</code>, <code>usage.</code>, <code>uses.</code>, <code>vocabs.</code>, and various other words.</li>
<li>Added word completion to the listener pane; press <code>TAB</code>.</li>
<li>Added word navigation shortcuts to the listener pane; press <code>C+LEFT</code> and <code>C+RIGHT</code> to move a word at a time, and <code>C+BACKSPACE</code> and <code>C+DELETE</code> to delete the previous and next word, respectively.</li>
-<lI>Added mouse-over help for presentations</lI>
+<lI>Added mouse-over help for presentations.</lI>
+<li>Previously-entered output is now clickable in the listener.</li>
+<li>New, better-looking widget theme.</li>
</ul>
</li>
prefix removed.</li>
</li>
+</ul>
+
<li>Everything else:
<ul>
<li>Intel 8080 CPU and Space Invaders emulator in <code>contrib/space-invaders</code> (Chris Double)</li>
<li>AOL Instant Messenger chat client library in <code>contrib/aim</code> (Doug Coleman)</li>
<li>Cairo graphics library binding in <code>contrib/cairo</code>. (Sampo Vuori)</li>
-<li>New <code>contrib/math/</code> library with quaternions, matrices, polynomials, and various
-advanced mathematical functions. (Doug Coleman)</li>
+<li>Advanced math library with quaternions, matrices, polynomials, statistics and various
+functions in <code>contrib/math/</code>. (Doug Coleman)</li>
+<li>Dimensioned units in <code>contrib/units/</code>. (Doug Coleman)</li>
</ul>
</li>
0.79:\r
\r
-- update handbook\r
- fix remaining GL issues\r
+- UI issue: try resizing slider while menu is open\r
- 3/2 { 1 2 3 } nth -> fep\r
-- 1.0 1+ -> 1.0 1.0 1- -> 1.0\r
\r
+ ui:\r
\r
init-threads
init-io
"HOME" os-env [ "." ] unless* "~" set
- init-assembler
init-error-handler
default-cli-args
parse-command-line
! Copyright (C) 2004, 2005 Slava Pestov.
! See http://factor.sf.net/license.txt for BSD license.
IN: assembler
-USING: alien compiler-backend math memory kernel hashtables
-namespaces ;
-
-SYMBOL: interned-literals
+USING: alien compiler-backend generic hashtables kernel lists
+math memory namespaces ;
: compiled-header HEX: 01c3babe ; inline
literal-top set-compiled-cell
literal-top dup cell + set-literal-top ;
-: intern-literal ( obj -- lit# )
- interned-literals get [ add-literal ] cache ;
-
: compile-byte ( n -- )
compiled-offset set-compiled-byte
compiled-offset 1+ set-compiled-offset ; inline
compiled-offset 0 compile-cell
compiled-offset 0 compile-cell ;
-: init-assembler ( -- )
- H{ } clone interned-literals global set-hash ;
-
: w>h/h dup -16 shift HEX: ffff bitand >r HEX: ffff bitand r> ;
dup 0 vop-in address swap 0 vop-out v>operand LOAD ;
: load-indirect ( dest literal -- )
- intern-literal over LOAD32 0 1 rel-address dup 0 LWZ ;
+ add-literal over LOAD32 0 1 rel-address dup 0 LWZ ;
M: %indirect generate-node ( vop -- )
dup 0 vop-out v>operand swap 0 vop-in load-indirect ;
0 rel-type, relocating word-primitive rel, ;
: rel-dlsym ( name dll rel/abs 16/16 -- )
- 1 rel-type, relocating cons intern-literal rel, ;
+ 1 rel-type, relocating cons add-literal rel, ;
: rel-address ( rel/abs 16/16 -- )
#! Relocate address just compiled.
dup 0 vop-out v>operand swap 0 vop-in address MOV ;
: load-indirect ( dest literal -- )
- intern-literal unit MOV 0 0 rel-address ;
+ add-literal unit MOV 0 0 rel-address ;
M: %indirect generate-node ( vop -- )
#! indirect load of a literal through a table