2016-05-11 20 views
5

Come creare un collegamento simbolico con Haskell? Il pacchetto directory a mia conoscenza non fornisce un modo per farlo.Come creare un collegamento simbolico con Haskell?

+3

[System.Posix.Files.createSymbolicLink] (https://hackage.haskell.org/package/unix-2.7.2.0/docs/System-Posix-Files.html#g:9) –

+0

@ n.m. Sentiti libero di postare come risposta, a meno che esista già una domanda duplicata. – Mark

+0

Apparentemente c'è un (quasi) duplicato [qui] (http://stackoverflow.com/questions/35369470/what-is-the-command-to-create-a-soft-link-with-haskell-turtle). –

risposta

10

La creazione di un collegamento simbolico non è portabile. Ad esempio, la creazione di collegamenti simbolici su Windows is re­strict­ed . Pertanto non si adatta a directory fornendo "a basic set of operations for ma­nip­u­lat­ing files and directories in a portable way" (sottolineatura mia). Ciò riguarda tutti i pacchetti indipendenti dalla piattaforma. pacchetto specifico

La piattaforma unix prevede che funzionalità in System.Posix.Files with createSymbolicLink però:

import System.Posix.Files (createSymbolicLink) 

main :: IO() 
main = createSymbolicLink "/opt/ghc/7.10.3" "/opt/ghc/active" 

1: Questo è anche un motivo per cui unix-compat non implementa createSymbolicLink

0

directory-1.3.1 has

createFileLink :: FilePath -> FilePath -> IO() 

Questo è sup posto per funzionare anche su Windows - ovviamente su un file system adatto, ovviamente.