Advertisement
Guest User

Untitled

a guest
Jul 1st, 2021
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.16 KB | None | 0 0
  1. (define-module (gnu packages futhark)
  2. #:use-module (guix packages)
  3. #:use-module (guix download)
  4. #:use-module (guix build-system haskell)
  5. #:use-module (guix licenses)
  6. #:use-module (guix git-download)
  7. #:use-module ((guix licenses) #:prefix license:)
  8. #:use-module (gnu packages)
  9. #:use-module (gnu packages haskell)
  10. #:use-module (gnu packages haskell)
  11. #:use-module (gnu packages haskell-web)
  12. #:use-module (gnu packages haskell-xyz)
  13. #:use-module (gnu packages haskell-check)
  14. #:use-module (gnu packages haskell-crypto))
  15.  
  16. (define-public ghc-versions
  17. (package
  18. (name "ghc-versions")
  19. (version "5.0.0")
  20. (source
  21. (origin
  22. (method url-fetch)
  23. (uri (string-append
  24. "https://hackage.haskell.org/package/versions/versions-"
  25. version
  26. ".tar.gz"))
  27. (sha256
  28. (base32
  29. "1rfxjivdsaqc6w7dfqdycy3a81rsajvpfyi5si9ssc0w3ljfsbzr"))))
  30. (build-system haskell-build-system)
  31. (inputs
  32. `(("ghc-megaparsec" ,ghc-megaparsec)
  33. ("ghc-hashable" ,ghc-hashable)
  34. ("ghc-parser-combinators"
  35. ,ghc-parser-combinators)))
  36. (native-inputs
  37. `(("ghc-microlens" ,ghc-microlens)
  38. ("ghc-quickcheck" ,ghc-quickcheck)
  39. ("ghc-tasty" ,ghc-tasty)
  40. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  41. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  42. (home-page
  43. "https://github.com/fosskers/versions")
  44. (synopsis
  45. "Types and parsers for software version numbers.")
  46. (description
  47. "A library for parsing and comparing software version numbers. We like to give version numbers to our software in a myriad of ways. Some ways follow strict guidelines for incrementing and comparison. Some follow conventional wisdom and are generally self-consistent. Some are just plain asinine. This library provides a means of parsing and comparing /any/ style of versioning, be it a nice Semantic Version like this: . > 1.2.3-r1+git123 . ...or a monstrosity like this: . > 2:10.2+0.0093r3+1-1 . Please switch to <http://semver.org Semantic Versioning> if you aren't currently using it. It provides consistency in version incrementing and has the best constraints on comparisons. . This library implements version @2.0.0@ of the SemVer spec.")
  48. (license license:bsd-3)))
  49.  
  50. (define-public ghc-cabal-doctest
  51. (package
  52. (name "ghc-cabal-doctest")
  53. (version "1.0.8")
  54. (source
  55. (origin
  56. (method url-fetch)
  57. (uri (string-append
  58. "https://hackage.haskell.org/package/cabal-doctest/cabal-doctest-"
  59. version
  60. ".tar.gz"))
  61. (sha256
  62. (base32
  63. "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
  64. (build-system haskell-build-system)
  65. (arguments
  66. `(#:cabal-revision
  67. ("2"
  68. "05v1awad3d1wvc763xcgvxm4n6n7bs7byc6s14kdbw35zcaddlcb")))
  69. (home-page
  70. "https://github.com/phadej/cabal-doctest")
  71. (synopsis
  72. "A Setup.hs helper for doctests running")
  73. (description
  74. "Currently (beginning of 2017), there isn't @cabal doctest@ command. Yet, to properly work doctest needs plenty of configuration. This library provides the common bits for writing custom Setup.hs See <https://github.com/haskell/cabal/issues/2327 Cabal/2327> for the progress of @cabal doctest@, i.e. whether this library is obsolete.")
  75. (license license:bsd-3)))
  76.  
  77. (define-public ghc-pcg-random
  78. (package
  79. (name "ghc-pcg-random")
  80. (version "0.1.3.7")
  81. (source
  82. (origin
  83. (method url-fetch)
  84. (uri (string-append
  85. "https://hackage.haskell.org/package/pcg-random/pcg-random-"
  86. version
  87. ".tar.gz"))
  88. (sha256
  89. (base32
  90. "1l6jq5nvmg1ygk7i7g50s47p6qkh74p9avl1wbcxdl5m85lc5j76"))))
  91. (build-system haskell-build-system)
  92. (inputs
  93. `(("ghc-primitive" ,ghc-primitive)
  94. ("ghc-random" ,ghc-random)
  95. ("ghc-entropy" ,ghc-entropy)
  96. ("ghc-doctest" ,ghc-doctest)
  97. ("ghc-cabal-doctest" ,ghc-cabal-doctest)))
  98. ;; (native-inputs
  99. ;; `(("ghc-doctest" ,ghc-doctest)
  100. ;; ("ghc-cabal-doctest" ,ghc-cabal-doctest)))
  101. (home-page
  102. "http://github.com/cchalmers/pcg-random")
  103. (synopsis
  104. "Haskell bindings to the PCG random number generator.")
  105. (description
  106. "PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. . This library implements bindings to the standard C implementation. This includes the standard, unique, fast and single variants in the pcg family. There is a pure implementation that can be used as a generator with the random package as well as a faster primitive api that includes functions for generating common types. . The generators in this module are suitable for use in parallel but make sure threads don't share the same generator or things will go horribly wrong.")
  107. (license license:bsd-3)))
  108.  
  109. (define-public ghc-neat-interpolation
  110. (package
  111. (name "ghc-neat-interpolation")
  112. (version "0.5.1.2")
  113. (source
  114. (origin
  115. (method url-fetch)
  116. (uri (string-append
  117. "https://hackage.haskell.org/package/neat-interpolation/neat-interpolation-"
  118. version
  119. ".tar.gz"))
  120. (sha256
  121. (base32
  122. "18c48r5qwrapkjh35l5dng3ahkkn1ch47vc4nzjwh4a9va94laln"))))
  123. (build-system haskell-build-system)
  124. (inputs `(("ghc-megaparsec" ,ghc-megaparsec)))
  125. (native-inputs
  126. `(("ghc-quickcheck" ,ghc-quickcheck)
  127. ("ghc-quickcheck-instances"
  128. ,ghc-quickcheck-instances)
  129. ("ghc-rerebase" ,ghc-rerebase)
  130. ("ghc-tasty" ,ghc-tasty)
  131. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  132. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  133. (home-page
  134. "https://github.com/nikita-volkov/neat-interpolation")
  135. (synopsis
  136. "A quasiquoter for neat and simple multiline text interpolation")
  137. (description
  138. "A quasiquoter for producing Text values with support for a simple interpolation of input values. It removes the excessive indentation from the input and accurately manages the indentation of all lines of the interpolated variables.")
  139. (license license:expat)))
  140.  
  141. (define-public ghc-srcloc
  142. (package
  143. (name "ghc-srcloc")
  144. (version "0.6")
  145. (source
  146. (origin
  147. (method url-fetch)
  148. (uri (string-append
  149. "https://hackage.haskell.org/package/srcloc/srcloc-"
  150. version
  151. ".tar.gz"))
  152. (sha256
  153. (base32
  154. "1vcp9vgfi5rscy09l4qaq0pp426b6qcdpzs6kpbzg0k5x81kcsbb"))))
  155. (build-system haskell-build-system)
  156. (home-page "https://github.com/mainland/srcloc")
  157. (synopsis
  158. "Data types for managing source code locations.")
  159. (description
  160. "Data types for tracking, combining, and printing source code locations.")
  161. (license license:bsd-3)))
  162.  
  163. (define-public ghc-mainland-pretty
  164. (package
  165. (name "ghc-mainland-pretty")
  166. (version "0.7.1")
  167. (source
  168. (origin
  169. (method url-fetch)
  170. (uri (string-append
  171. "https://hackage.haskell.org/package/mainland-pretty/mainland-pretty-"
  172. version
  173. ".tar.gz"))
  174. (sha256
  175. (base32
  176. "19z2769rik6kwvsil2if2bfq2v59jmwv74jy3fy4q3q3zy4239p1"))))
  177. (build-system haskell-build-system)
  178. (inputs `(("ghc-srcloc" ,ghc-srcloc)))
  179. (home-page
  180. "https://github.com/mainland/mainland-pretty")
  181. (synopsis
  182. "Pretty printing designed for printing source code.")
  183. (description
  184. "Pretty printing designed for printing source code based on Wadler's paper /A Prettier Printer/. The main advantage of this library is its ability to automatically track the source locations associated with pretty printed values and output appropriate #line pragmas and its ability to produce output in the form of lazy text using a builder.")
  185. (license license:bsd-3)))
  186.  
  187. (define-public ghc-exception-transformers
  188. (package
  189. (name "ghc-exception-transformers")
  190. (version "0.4.0.9")
  191. (source
  192. (origin
  193. (method url-fetch)
  194. (uri (string-append
  195. "https://hackage.haskell.org/package/exception-transformers/exception-transformers-"
  196. version
  197. ".tar.gz"))
  198. (sha256
  199. (base32
  200. "033z8mhczwf59lh59q3z546gkcsy0bzg98r1qhm3fiq7j11hgd95"))))
  201. (build-system haskell-build-system)
  202. (inputs
  203. `(("ghc-transformers-compat"
  204. ,ghc-transformers-compat)))
  205. (native-inputs
  206. `(("ghc-hunit" ,ghc-hunit)
  207. ("ghc-test-framework" ,ghc-test-framework)
  208. ("ghc-test-framework-hunit"
  209. ,ghc-test-framework-hunit)))
  210. (home-page
  211. "http://hackage.haskell.org/package/exception-transformers")
  212. (synopsis
  213. "Type classes and monads for unchecked extensible exceptions.")
  214. (description
  215. "This package provides type classes, a monad and a monad transformer that support unchecked extensible exceptions as well as asynchronous exceptions. It is compatible with the transformers package.")
  216. (license license:bsd-3)))
  217.  
  218. (define-public ghc-exception-mtl
  219. (package
  220. (name "ghc-exception-mtl")
  221. (version "0.4.0.1")
  222. (source
  223. (origin
  224. (method url-fetch)
  225. (uri (string-append
  226. "https://hackage.haskell.org/package/exception-mtl/exception-mtl-"
  227. version
  228. ".tar.gz"))
  229. (sha256
  230. (base32
  231. "0d51rsrcjy52d62f51hb6fdg0fj9b0qbv8hqf6523pndwsxbq4zc"))))
  232. (build-system haskell-build-system)
  233. (inputs
  234. `(("ghc-exception-transformers"
  235. ,ghc-exception-transformers)))
  236. (home-page
  237. "http://hackage.haskell.org/package/exception-mtl")
  238. (synopsis
  239. "Exception monad transformer instances for mtl classes.")
  240. (description
  241. "This package provides exception monad transformer instances for the classes defined by mtl.")
  242. (license license:bsd-3)))
  243.  
  244. (define-public ghc-language-c-quote
  245. (package
  246. (name "ghc-language-c-quote")
  247. (version "0.13")
  248. (source
  249. (origin
  250. (method url-fetch)
  251. (uri (string-append
  252. "https://hackage.haskell.org/package/language-c-quote/language-c-quote-"
  253. version
  254. ".tar.gz"))
  255. (sha256
  256. (base32
  257. "02axz6498sg2rf24qds39n9gysc4lm3v354h2qyhrhadlfq8sf6d"))))
  258. (build-system haskell-build-system)
  259. (inputs
  260. `(("ghc-exception-mtl" ,ghc-exception-mtl)
  261. ("ghc-exception-transformers"
  262. ,ghc-exception-transformers)
  263. ("ghc-mainland-pretty" ,ghc-mainland-pretty)
  264. ("ghc-srcloc" ,ghc-srcloc)
  265. ("ghc-syb" ,ghc-syb)
  266. ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
  267. (native-inputs
  268. `(("ghc-hunit" ,ghc-hunit)
  269. ("ghc-test-framework" ,ghc-test-framework)
  270. ("ghc-test-framework-hunit"
  271. ,ghc-test-framework-hunit)
  272. ("ghc-alex" ,ghc-alex)
  273. ("ghc-happy" ,ghc-happy)))
  274. (home-page
  275. "https://github.com/mainland/language-c-quote")
  276. (synopsis
  277. "C/CUDA/OpenCL/Objective-C quasiquoting library.")
  278. (description
  279. "This package provides a general parser for the C language, including most GCC extensions and some CUDA and OpenCL extensions as well as the entire Objective-C language.")
  280. (license license:bsd-3)))
  281.  
  282. (define-public ghc-directory-tree
  283. (package
  284. (name "ghc-directory-tree")
  285. (version "0.12.1")
  286. (source
  287. (origin
  288. (method url-fetch)
  289. (uri (string-append
  290. "https://hackage.haskell.org/package/directory-tree/directory-tree-"
  291. version
  292. ".tar.gz"))
  293. (sha256
  294. (base32
  295. "05z5ws58kky3wcwwwv6q16m9vs0lzj35qqs9v5acy9m2nfal8272"))))
  296. (build-system haskell-build-system)
  297. (home-page
  298. "http://brandon.si/code/directory-tree-module-released/")
  299. (synopsis
  300. "A simple directory-like tree datatype, with useful IO functions")
  301. (description
  302. "A simple directory-like tree datatype, with useful IO functions and Foldable and Traversable instance . Provides a simple data structure mirroring a directory tree on the filesystem, as well as useful functions for reading and writing file and directory structures in the IO monad. . Importing the library and optional (useful) Foldable and Traverable libraries: . > import System.Directory.Tree > import qualified Data.Foldable as F > import qualified Data.Traversable as T . Write a hand-made directory tree of textfiles (strings) to the disk. Simulates creating a new user Tux's home directory on a unix machine: . > writeDirectory$ \"/home\" :/ Dir \"Tux\" [File \"README\" \"Welcome!\"] . \"read\" a directory by opening all the files at a filepath with readFile, returning an 'AnchoredDirTree String' (d2). Then check for any IO failures: . > do (base :/ d2) <- readDirectory \"../parent_dir/dir2/\" > let failed = anyFailed d2 > if failed then ... . Use Foldable instance function to concat a directory 'dir' of text files into a single file under the same directory: . > do (b :/ dt) <- readDirectory dir > let f = F.concat dt > return$ b :/ File \"ALL_TEXT\" f . Open all the files in the current directory as lazy bytestrings, ignoring the base path in Anchored wrapper: . > import qualified Data.ByteString.Lazy as B > do (_ :/ dTree) <- readDirectoryWith B.readFile \"./\" . This version also offers an experimental function `readDirectoryWithL` that does lazy directory IO, allowing you to treat the returned `DirTree` as if it were a normal lazily-generated data structure. . For example, the following does only the amount of IO necessary to list the file names of the children of the root directory, similar to \"ls /\": . > do d <- readDirectoryWithL readFile \"/\" > mapM_ (putStrLn . name) $ contents $ free d . Any ideas or suggestions for improvements are most welcome :-) . /CHANGES/: from 0.11 . - export 'System.Directory.Tree.transformDir' as requested . - add test suite to cabal file . - remove redundant @removeNonexistent@ (thanks to dmwit for patch) .")
  303. (license license:bsd-3)))
  304.  
  305. (define-public ghc-bmp
  306. (package
  307. (name "ghc-bmp")
  308. (version "1.2.6.3")
  309. (source
  310. (origin
  311. (method url-fetch)
  312. (uri (string-append
  313. "https://hackage.haskell.org/package/bmp/bmp-"
  314. version
  315. ".tar.gz"))
  316. (sha256
  317. (base32
  318. "1k6s5z520dadj38y7ja0m4syrg094gyq14c63i6wx2701zj3viiw"))))
  319. (build-system haskell-build-system)
  320. (home-page "https://github.com/benl23x5/bmp")
  321. (synopsis
  322. "Read and write uncompressed BMP image files.")
  323. (description
  324. "Read and write uncompressed BMP image files. 100% robust Haskell implementation.")
  325. (license license:expat)))
  326.  
  327. (define-public ghc-bytestring-to-vector
  328. (package
  329. (name "ghc-bytestring-to-vector")
  330. (version "0.3.0.1")
  331. (source
  332. (origin
  333. (method url-fetch)
  334. (uri (string-append
  335. "https://hackage.haskell.org/package/bytestring-to-vector/bytestring-to-vector-"
  336. version
  337. ".tar.gz"))
  338. (sha256
  339. (base32
  340. "0ji836sl72wlhy6yay11kl86w0nrcdc1lafbi94bx9c8rpf5pyyc"))))
  341. (build-system haskell-build-system)
  342. (inputs `(("ghc-vector" ,ghc-vector)))
  343. (native-inputs
  344. `(("ghc-byteorder" ,ghc-byteorder)
  345. ("ghc-quickcheck" ,ghc-quickcheck)))
  346. (home-page
  347. "https://github.com/sheyll/bytestring-to-vector")
  348. (synopsis
  349. "Convert between ByteString and Vector.Storable without copying")
  350. (description
  351. "This library allows conversion between the types from @Data.ByteString@ (package @bytestring@) and @Data.Vector.Storable@ (package @vector@) without copying the underlying data. This is useful, for example, when @ByteString@ IO produces or consumes vectors of numbers in native byte order. . The conversion relies on the fact that @ByteString@ and @Vector@ use their respective @ForeignPtr@s in compatible ways. . This library is a fork of the @spool@ package written by Keegan McAllister.")
  352. (license license:bsd-3)))
  353.  
  354. ;; (define-public ghc-containers
  355. ;; (package
  356. ;; (name "ghc-containers")
  357. ;; (version "0.6.5.1")
  358. ;; (source
  359. ;; (origin
  360. ;; (method url-fetch)
  361. ;; (uri (string-append
  362. ;; "https://hackage.haskell.org/package/containers/containers-"
  363. ;; version
  364. ;; ".tar.gz"))
  365. ;; (sha256
  366. ;; (base32
  367. ;; "1zlyvkamzc87hr7r3ckyvgwhszdk9i18jrsv2cmkh9v093gvl7ni"))))
  368. ;; (build-system haskell-build-system)
  369. ;; (home-page
  370. ;; "http://hackage.haskell.org/package/containers")
  371. ;; (synopsis "Assorted concrete container types")
  372. ;; (description
  373. ;; ". This package contains efficient general-purpose implementations of various immutable container types including sets, maps, sequences, trees, and graphs. . For a walkthrough of what this package provides with examples of common operations see the [containers introduction](https://haskell-containers.readthedocs.io). . The declared cost of each operation is either worst-case or amortized, but remains valid even if structures are shared.")
  374. ;; (license license:bsd-3)))
  375.  
  376. ;; (define-public ghc-base
  377. ;; (package
  378. ;; (name "ghc-base")
  379. ;; (version "4.15.0.0")
  380. ;; (source
  381. ;; (origin
  382. ;; (method url-fetch)
  383. ;; (uri (string-append
  384. ;; "https://hackage.haskell.org/package/base/base-"
  385. ;; version
  386. ;; ".tar.gz"))
  387. ;; (sha256
  388. ;; (base32
  389. ;; "12s4v5w97vaxk66a1mgdgypv765j61lq2n2h4iiazirpggd73n3g"))))
  390. ;; (build-system haskell-build-system)
  391. ;; (inputs
  392. ;; `(;; ("ghc-rts" ,ghc-rts)
  393. ;; ;; ("ghc-bignum" ,ghc-bignum)
  394. ;; ))
  395. ;; (home-page
  396. ;; "http://hackage.haskell.org/package/base")
  397. ;; (synopsis "Basic libraries")
  398. ;; (description
  399. ;; "This package contains the Standard Haskell \"Prelude\" and its support libraries, and a large collection of useful libraries ranging from data structures to parsing combinators and debugging utilities.")
  400. ;; (license license:bsd-3)))
  401.  
  402. ;; (define-public ghc-megaparsec (package
  403. ;; (name "ghc-megaparsec")
  404. ;; (version "9.0.1")
  405. ;; (source
  406. ;; (origin
  407. ;; (method url-fetch)
  408. ;; (uri (string-append
  409. ;; "https://hackage.haskell.org/package/megaparsec/megaparsec-"
  410. ;; version
  411. ;; ".tar.gz"))
  412. ;; (sha256
  413. ;; (base32
  414. ;; "00953zvxfyjibw8c1ssmixxh0cwn59pz24zbh6s34rk3v14vqa3j"))))
  415. ;; (build-system haskell-build-system)
  416. ;; (inputs
  417. ;; `(("ghc-case-insensitive" ,ghc-case-insensitive)
  418. ;; ("ghc-parser-combinators"
  419. ;; ,ghc-parser-combinators)
  420. ;; ("ghc-scientific" ,ghc-scientific)))
  421. ;; (arguments
  422. ;; `(#:cabal-revision
  423. ;; ("1"
  424. ;; "00vjc5b1x6yd0jqsbcahvghlkwai65dl1ib6744a0lhsa9vsni12")))
  425. ;; (home-page
  426. ;; "https://github.com/mrkkrp/megaparsec")
  427. ;; (synopsis "Monadic parser combinators")
  428. ;; (description
  429. ;; "This is an industrial-strength monadic parser combinator library. Megaparsec is a feature-rich package that tries to find a nice balance between speed, flexibility, and quality of parse errors.")
  430. ;; (license license:bsd-2)))
  431.  
  432. ;; (define-public ghc-cmark-gfm
  433. ;; (package
  434. ;; (name "ghc-cmark-gfm")
  435. ;; (version "0.2.2")
  436. ;; (source
  437. ;; (origin
  438. ;; (method url-fetch)
  439. ;; (uri (string-append
  440. ;; "https://hackage.haskell.org/package/cmark-gfm/cmark-gfm-"
  441. ;; version
  442. ;; ".tar.gz"))
  443. ;; (sha256
  444. ;; (base32
  445. ;; "1skzdg1icmhn0zrkhbnba4200ymah8sd5msk4qfgawrk77zilw7f"))))
  446. ;; (build-system haskell-build-system)
  447. ;; (native-inputs `(("ghc-hunit" ,ghc-hunit)))
  448. ;; (home-page
  449. ;; "https://github.com/kivikakk/cmark-gfm-hs")
  450. ;; (synopsis
  451. ;; "Fast, accurate GitHub Flavored Markdown parser and renderer")
  452. ;; (description
  453. ;; "This package provides Haskell bindings for <https://github.com/github/cmark-gfm libcmark-gfm>, the reference parser for <https://github.github.com/gfm/ GitHub Flavored Markdown>, a fully specified variant of Markdown. It includes sources for libcmark-gfm (0.29.0.gfm.0) and does not require prior installation of the C library.")
  454. ;; (license license:bsd-3)))
  455.  
  456. (define-public ghc-futhark
  457. (package
  458. (name "ghc-futhark")
  459. (version "0.19.6")
  460. (source
  461. (origin
  462. (method url-fetch)
  463. (uri (string-append
  464. "https://hackage.haskell.org/package/futhark/futhark-"
  465. version
  466. ".tar.gz"))
  467. (sha256
  468. (base32
  469. "1wpg2ad2xv60xsdvnq3246nps3ldc00n58k7jxmh8lrx5bjzg263"))))
  470. (build-system haskell-build-system)
  471. (arguments `(#:haskell ,ghc-8.8))
  472. (inputs
  473. `(("ghc-aeson" ,ghc-aeson)
  474. ("ghc-ansi-terminal" ,ghc-ansi-terminal)
  475. ("ghc-blaze-html" ,ghc-blaze-html)
  476. ("ghc-bytestring-to-vector"
  477. ,ghc-bytestring-to-vector)
  478. ("ghc-bmp" ,ghc-bmp)
  479. ("ghc-directory-tree" ,ghc-directory-tree)
  480. ("ghc-dlist" ,ghc-dlist)
  481. ("ghc-file-embed" ,ghc-file-embed)
  482. ("ghc-free" ,ghc-free)
  483. ("ghc-gitrev" ,ghc-gitrev)
  484. ("ghc-hashable" ,ghc-hashable)
  485. ("ghc-language-c-quote" ,ghc-language-c-quote)
  486. ("ghc-mainland-pretty" ,ghc-mainland-pretty)
  487. ("ghc-cmark-gfm" ,ghc-cmark-gfm)
  488. ("ghc-megaparsec" ,ghc-megaparsec)
  489. ("ghc-neat-interpolation"
  490. ,ghc-neat-interpolation)
  491. ("ghc-parallel" ,ghc-parallel)
  492. ("ghc-pcg-random" ,ghc-pcg-random)
  493. ("ghc-process-extras" ,ghc-process-extras)
  494. ("ghc-regex-tdfa" ,ghc-regex-tdfa)
  495. ("ghc-srcloc" ,ghc-srcloc)
  496. ("ghc-temporary" ,ghc-temporary)
  497. ("ghc-terminal-size" ,ghc-terminal-size)
  498. ("ghc-unordered-containers"
  499. ,ghc-unordered-containers)
  500. ("ghc-utf8-string" ,ghc-utf8-string)
  501. ("ghc-vector" ,ghc-vector)
  502. ("ghc-vector-binary-instances"
  503. ,ghc-vector-binary-instances)
  504. ("ghc-versions" ,ghc-versions)
  505. ("ghc-zip-archive" ,ghc-zip-archive)
  506. ("ghc-zlib" ,ghc-zlib)))
  507. (native-inputs
  508. `(("ghc-quickcheck" ,ghc-quickcheck)
  509. ("ghc-parser-combinators"
  510. ,ghc-parser-combinators)
  511. ("ghc-tasty" ,ghc-tasty)
  512. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  513. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  514. (home-page "https://futhark-lang.org")
  515. (synopsis
  516. "An optimising compiler for a functional, array-oriented language.")
  517. (description
  518. "Futhark is a small programming language designed to be compiled to efficient parallel code. It is a statically typed, data-parallel, and purely functional array language in the ML family, and comes with a heavily optimising ahead-of-time compiler that presently generates GPU code via CUDA and OpenCL, although the language itself is hardware-agnostic. . For more information, see the website at https://futhark-lang.org . For introductionary information about hacking on the Futhark compiler, see <https://futhark.readthedocs.io/en/latest/hacking.html the hacking guide>. Regarding the internal design of the compiler, the following modules make good starting points: . * \"Futhark.IR.Syntax\" explains the basic design of the intermediate representation (IR). * \"Futhark.Construct\" explains how to write code that manipulates and creates AST fragments. . <<docs/assets/ohyes.png You too can go fast once you rewrite your program in Futhark.>>")
  519. (license license:isc)))
  520.  
  521. ghc-futhark
  522.  
  523.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement