]> gitweb.factorcode.org Git - factor.git/commitdiff
Using literals vocab for defining computed constants
authorAlex Chapman <chapman.alex@gmail.com>
Mon, 20 Apr 2009 04:15:38 +0000 (14:15 +1000)
committerAlex Chapman <chapman.alex@gmail.com>
Mon, 20 Apr 2009 04:15:38 +0000 (14:15 +1000)
extra/jamshred/tunnel/tunnel.factor
extra/morse/morse.factor

index d951a37f0c9fb88292a5ed87d0e930f05a8445a7..6171c3053b9e2701abc750eadd9cb9a435f73302 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2007, 2008 Alex Chapman
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays colors combinators kernel locals math math.constants math.matrices math.order math.ranges math.vectors math.quadratic random sequences specialized-arrays.float vectors jamshred.oint ;
+USING: accessors arrays colors combinators kernel literals locals math math.constants math.matrices math.order math.ranges math.vectors math.quadratic random sequences specialized-arrays.float vectors jamshred.oint ;
 IN: jamshred.tunnel
 
 CONSTANT: n-segments 5000
@@ -15,9 +15,7 @@ C: <segment> segment
     { 100 100 100 } [ random 100 / >float ] map first3 1.0 <rgba> ;
 
 CONSTANT: tunnel-segment-distance 0.4
-USE: words.constant
-DEFER: random-rotation-angle
-\ random-rotation-angle pi 20 / define-constant
+CONSTANT: random-rotation-angle $[ pi 20 / ]
 
 : random-segment ( previous-segment -- segment )
     clone dup random-rotation-angle random-turn
index 49e6ae39f594355eda6e3cb7c75904fb8b4bfd51..ef4b9d4b889520b12d93ea6a05950472f410ef02 100644 (file)
@@ -1,7 +1,6 @@
 ! Copyright (C) 2007, 2008, 2009 Alex Chapman, 2009 Diego Martinelli
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors ascii assocs biassocs combinators hashtables kernel lists math
-namespaces make multiline openal parser sequences splitting strings synth synth.buffers ;
+USING: accessors ascii assocs biassocs combinators hashtables kernel lists literals math namespaces make multiline openal parser sequences splitting strings synth synth.buffers ;
 IN: morse
 
 <PRIVATE
@@ -14,68 +13,65 @@ CONSTANT: unknown-char CHAR: ?
 
 PRIVATE>
 
-DEFER: morse-code-table
-
-H{
-    { CHAR: a ".-"    }
-    { CHAR: b "-..."  }
-    { CHAR: c "-.-."  }
-    { CHAR: d "-.."   }
-    { CHAR: e "."     }
-    { CHAR: f "..-."  }
-    { CHAR: g "--."   }
-    { CHAR: h "...."  }
-    { CHAR: i ".."    }
-    { CHAR: j ".---"  }
-    { CHAR: k "-.-"   }
-    { CHAR: l ".-.."  }
-    { CHAR: m "--"    }
-    { CHAR: n "-."    }
-    { CHAR: o "---"   }
-    { CHAR: p ".--."  }
-    { CHAR: q "--.-"  }
-    { CHAR: r ".-."   }
-    { CHAR: s "..."   }
-    { CHAR: t "-"     }
-    { CHAR: u "..-"   }
-    { CHAR: v "...-"  }
-    { CHAR: w ".--"   }
-    { CHAR: x "-..-"  }
-    { CHAR: y "-.--"  }
-    { CHAR: z "--.."  }
-    { CHAR: 1 ".----" }
-    { CHAR: 2 "..---" }
-    { CHAR: 3 "...--" }
-    { CHAR: 4 "....-" }
-    { CHAR: 5 "....." }
-    { CHAR: 6 "-...." }
-    { CHAR: 7 "--..." }
-    { CHAR: 8 "---.." }
-    { CHAR: 9 "----." }
-    { CHAR: 0 "-----" }
-    { CHAR: . ".-.-.-" }
-    { CHAR: , "--..--" }
-    { CHAR: ? "..--.." }
-    { CHAR: ' ".----." }
-    { CHAR: ! "-.-.--" }
-    { CHAR: / "-..-."  }
-    { CHAR: ( "-.--."  }
-    { CHAR: ) "-.--.-" }
-    { CHAR: & ".-..."  }
-    { CHAR: : "---..." }
-    { CHAR: ; "-.-.-." }
-    { CHAR: = "-...- " }
-    { CHAR: + ".-.-."  }
-    { CHAR: - "-....-" }
-    { CHAR: _ "..--.-" }
-    { CHAR: " ".-..-." }
-    { CHAR: $ "...-..-" }
-    { CHAR: @ ".--.-." }
-    { CHAR: \s "/" }
-} >biassoc \ morse-code-table set-global
-
-: morse-code-table ( -- biassoc )
-    \ morse-code-table get-global ;
+CONSTANT: morse-code-table $[
+    H{
+        { CHAR: a ".-"    }
+        { CHAR: b "-..."  }
+        { CHAR: c "-.-."  }
+        { CHAR: d "-.."   }
+        { CHAR: e "."     }
+        { CHAR: f "..-."  }
+        { CHAR: g "--."   }
+        { CHAR: h "...."  }
+        { CHAR: i ".."    }
+        { CHAR: j ".---"  }
+        { CHAR: k "-.-"   }
+        { CHAR: l ".-.."  }
+        { CHAR: m "--"    }
+        { CHAR: n "-."    }
+        { CHAR: o "---"   }
+        { CHAR: p ".--."  }
+        { CHAR: q "--.-"  }
+        { CHAR: r ".-."   }
+        { CHAR: s "..."   }
+        { CHAR: t "-"     }
+        { CHAR: u "..-"   }
+        { CHAR: v "...-"  }
+        { CHAR: w ".--"   }
+        { CHAR: x "-..-"  }
+        { CHAR: y "-.--"  }
+        { CHAR: z "--.."  }
+        { CHAR: 1 ".----" }
+        { CHAR: 2 "..---" }
+        { CHAR: 3 "...--" }
+        { CHAR: 4 "....-" }
+        { CHAR: 5 "....." }
+        { CHAR: 6 "-...." }
+        { CHAR: 7 "--..." }
+        { CHAR: 8 "---.." }
+        { CHAR: 9 "----." }
+        { CHAR: 0 "-----" }
+        { CHAR: . ".-.-.-" }
+        { CHAR: , "--..--" }
+        { CHAR: ? "..--.." }
+        { CHAR: ' ".----." }
+        { CHAR: ! "-.-.--" }
+        { CHAR: / "-..-."  }
+        { CHAR: ( "-.--."  }
+        { CHAR: ) "-.--.-" }
+        { CHAR: & ".-..."  }
+        { CHAR: : "---..." }
+        { CHAR: ; "-.-.-." }
+        { CHAR: = "-...- " }
+        { CHAR: + ".-.-."  }
+        { CHAR: - "-....-" }
+        { CHAR: _ "..--.-" }
+        { CHAR: " ".-..-." }
+        { CHAR: $ "...-..-" }
+        { CHAR: @ ".--.-." }
+        { CHAR: \s "/" }
+    } >biassoc
+]
 
 : ch>morse ( ch -- morse )
     ch>lower morse-code-table at [ unknown-char ] unless* ;