]> gitweb.factorcode.org Git - factor.git/commitdiff
fix 1.0 1+ compiler bug
authorSlava Pestov <slava@factorcode.org>
Sat, 5 Nov 2005 01:19:15 +0000 (01:19 +0000)
committerSlava Pestov <slava@factorcode.org>
Sat, 5 Nov 2005 01:19:15 +0000 (01:19 +0000)
CHANGES.html
TODO.FACTOR.txt
library/bootstrap/init.factor
library/compiler/assembler.factor
library/compiler/ppc/stack.factor
library/compiler/relocate.factor
library/compiler/x86/stack.factor

index 8de15bc72aca5d2df7be548d8ceb6e810b84c9cb..3e212f0a0494a3015202e0a564187c1efcfcadd7 100644 (file)
@@ -8,7 +8,21 @@
 
 <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:
 
@@ -29,7 +43,9 @@
 <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>
@@ -49,6 +65,8 @@ sequences which have the same elements as the two input sequences, with the comm
 prefix removed.</li>
 </li>
 
+</ul>
+
 <li>Everything else:
 
 <ul>
@@ -88,8 +106,9 @@ However, most uses of <code>catch</code> can be replaced by <code>cleanup</code>
 <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>
index b09b9a47073aff6991c381ee2a7a264e6dd85afe..8999d1ce631cb005dcae63d59c9560733e1a6b7b 100644 (file)
@@ -1,9 +1,8 @@
 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
index c780c73b4d25d98f05adb1c800e235d101776e2f..338ce5be6fc7fa6f40f1e8cc38189169707ade22 100644 (file)
@@ -11,7 +11,6 @@ parser threads words ;
     init-threads
     init-io
     "HOME" os-env [ "." ] unless* "~" set
-    init-assembler
     init-error-handler
     default-cli-args
     parse-command-line
index a7a8bddc2111b57c80ede0da64ab448a97dd6a52..83672aa66393b1443eb43b42c5978c2795597e73 100644 (file)
@@ -1,10 +1,8 @@
 ! 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
 
@@ -25,9 +23,6 @@ SYMBOL: interned-literals
     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
@@ -41,7 +36,4 @@ SYMBOL: interned-literals
     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> ;
index 0bf5c2fdacfa17553dc28164ef5228d0b98fecce..752ec59f5394118f58c8ea2577357fa9ca3cc80d 100644 (file)
@@ -12,7 +12,7 @@ M: %immediate generate-node ( vop -- )
     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 ;
index a9767f11080362a02b2c57f02587f5a3ab23576c..88512819c22deaf23102aecaaa34287508fd479c 100644 (file)
@@ -19,7 +19,7 @@ SYMBOL: relocation-table
     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.
index 989c7e49e4967a2d1614b13cac5c15e15278c693..f778c4f28a938d5be1a60eaa9c77e2f53d8922b2 100644 (file)
@@ -27,7 +27,7 @@ M: %immediate generate-node ( vop -- )
     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