@@ -171,3 +171,38 @@ (define cbqn-bootstrap
according to the official documentation of that specification.")
(home-page "https://mlochbaum.github.io/BQN/")
(license license:gpl3))))
+(define singeli-bootstrap
+ (let* ((tag "0")
+ (revision "1")
+ (commit "fd17b144483549dbd2bcf23e3a37a09219171a99")
+ (hash "1rr4l7ijzcg25n2igi1mzya6qllh5wsrf3m5i429rlgwv1fwvfji")
+ (version (git-version tag revision commit)))
+ (package
+ (name "singeli-bootstrap")
+ (version version)
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mlochbaum/Singeli")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ hash))))
+ (outputs '("out"))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ ;; cbqn needs the layout of singeli to stay the same for its tests.
+ #:install-plan '(list (list "./" "share/singeli"))))
+ (native-inputs (list cbqn-bootstrap))
+ (synopsis "High-level interface for low-level programming")
+ (description
+ "Singeli is a domain-specific language for building SIMD
+ algorithms with flexible abstractions and control over every instruction
+ emitted. It's implemented in BQN, with a frontend that emits IR and a
+ backend that converts it to C. Other backends like LLVM or machine code
+ are possible—it should be easy to support other CPU architectures but
+ there are no plans to target GPUs.")
+ (home-page "https://github.com/mlochbaum/Singeli")
+ (license license:isc))))