]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix conflict
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 19 Feb 2009 04:20:05 +0000 (22:20 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 19 Feb 2009 04:20:05 +0000 (22:20 -0600)
1  2 
basis/math/functions/functions.factor
core/io/pathnames/pathnames-docs.factor

index 20c31aa2bd300efd1be45b84ec6a782eaefca445,3a1ce18daa6188d2c477916f5f59b35023ea8ab5..69c2c6e3598845d859aa25e077945bbab056df25
@@@ -53,7 -53,7 +53,7 @@@ M: integer ^
      [ factor-2s ] dip [ (^n) ] keep rot * shift ;
  
  M: ratio ^n
 -    [ >fraction ] dip tuck [ ^n ] 2bi@ / ;
 +    [ >fraction ] dip [ ^n ] curry bi@ / ;
  
  M: float ^n
      (^n) ;
@@@ -252,10 -252,14 +252,14 @@@ M: real tanh ftanh 
  
  : -i* ( x -- y ) >rect swap neg rect> ;
  
- : asin ( x -- y )
+ GENERIC: asin ( x -- y ) foldable
+ M: number asin
      dup [-1,1]? [ fasin ] [ i* asinh -i* ] if ; inline
  
- : acos ( x -- y )
+ GENERIC: acos ( x -- y ) foldable
+ M: number acos
      dup [-1,1]? [ facos ] [ asin pi 2 / swap - ] if ;
      inline
  
index 2400faecd27ecb9dd52beda49dd488d6f85f4204,f5ad6e533b317754b6b23b2b23a1a05ea58c2ea5..733283d2982f791d40dda509a735ee71b0722687
@@@ -1,4 -1,5 +1,5 @@@
- USING: help.markup help.syntax io.backend io.files io.directories strings ;
 -USING: help.markup help.syntax io.backend io.files strings
++USING: help.markup help.syntax io.backend io.files io.directories strings
+ sequences ;
  IN: io.pathnames
  
  HELP: path-separator?
@@@ -22,6 -23,10 +23,10 @@@ HELP: file-nam
      { $example "USING: io.pathnames prettyprint ;" "\"/usr/libexec/awk/\" file-name ." "\"awk\"" }
  } ;
  
+ HELP: path-components
+ { $values { "path" "a pathnames string" } { "seq" sequence } }
+ { $description "Splits a pathname on the " { $link path-separator } " into its its component strings." } ;
  HELP: append-path
  { $values { "str1" "a string" } { "str2" "a string" } { "str" "a string" } }
  { $description "Appends " { $snippet "str1" } " and " { $snippet "str2" } " to form a pathname." } ;
@@@ -55,16 -60,12 +60,20 @@@ HELP: pathnam
  
  HELP: normalize-path
  { $values { "str" "a pathname string" } { "newstr" "a new pathname string" } }
 -{ $description "Called by words such as " { $link <file-reader> } " and " { $link <file-writer> } " to prepare a pathname before passing it to underlying code." } ;
 +{ $description "Prepends the " { $link current-directory } " to the pathname, resolves a " { $snippet "resource:" } " prefix, if present, and performs any platform-specific pathname normalization." }
 +{ $notes "High-level words, such as " { $link <file-reader> } " and " { $link delete-file } " call this word for you. It only needs to be called directly when passing pathnames to C functions or external processes. This is because Factor does not use the operating system's notion of a current directory, and instead maintains its own dynamically-scoped " { $link current-directory } " variable." }
 +{ $examples
 +  "For example, if you create a file named " { $snippet "data.txt" } " in the current directory, and wish to pass it to a process, you must normalize it:"
 +  { $code
 +    "\"1 2 3\" \"data.txt\" ascii set-file-contents"
 +    "\"munge\" \"data.txt\" normalize-path 2array run-process"
 +  }
 +} ;
  
+ HELP: canonicalize-path
+ { $values { "path" "a pathname string" } { "path'" "a new pathname string" } }
+ { $description "Returns an canonical name for a path. The canonical name is an absolute path containing no symlinks." } ;
  HELP: <pathname>
  { $values { "string" "a pathname string" } { "pathname" pathname } }
  { $description "Creates a new " { $link pathname } "." } ;
@@@ -73,18 -74,24 +82,21 @@@ HELP: hom
  { $values { "dir" string } }
  { $description "Outputs the user's home directory." } ;
  
 -ARTICLE: "pathname-normalization" "Pathname normalization"
 -"Words that take a pathname should normalize the pathname by calling " { $link normalize-path } ".When normalizing a pathname, the input pathname is either absolute or relative to the " { $link current-directory } ". If absolute, such as the root directories " { $snippet "/" } " or " { $snippet "c:\\" } ", the pathname is left alone, while if relative, the current directory is prepended to the pathname. If a pathname begins with the magic string " { $snippet "resource:" } ", this string is replaced with the Factor directory. On Windows, all pathnames, absolute and relative, are converted to Unicode pathamess." ;
 -
  ARTICLE: "io.pathnames" "Pathname manipulation"
 -{ $subsection "pathname-normalization" }
 -"Literal pathnames:"
 -{ $subsection POSTPONE: P" }
  "Pathname manipulation:"
 -{ $subsection normalize-path }
 -{ $subsection canonicalize-path }
  { $subsection parent-directory }
  { $subsection file-name }
  { $subsection last-path-separator }
+ { $subsection path-components }
+ { $subsection prepend-path }
  { $subsection append-path }
++{ $subsection canonicalize-path }
  "Pathname presentations:"
  { $subsection pathname }
 -{ $subsection <pathname> } ;
 +{ $subsection <pathname> }
 +"Literal pathnames:"
 +{ $subsection POSTPONE: P" }
 +"Low-level word:"
 +{ $subsection normalize-path } ;
  
  ABOUT: "io.pathnames"