Skip to content

Commit 157d021

Browse files
committed
Create the project
0 parents  commit 157d021

File tree

9 files changed

+234
-0
lines changed

9 files changed

+234
-0
lines changed

.github/workflows/ci.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: CI
2+
3+
# Trigger the workflow on push or pull request, but only for the master branch
4+
on:
5+
pull_request:
6+
push:
7+
branches: [master]
8+
9+
jobs:
10+
build:
11+
name: ghc ${{ matrix.ghc }}
12+
runs-on: ubuntu-16.04
13+
strategy:
14+
matrix:
15+
cabal: ["2.4"]
16+
ghc:
17+
- "8.8.3"
18+
19+
steps:
20+
- uses: actions/checkout@v2
21+
if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
22+
23+
- uses: actions/setup-haskell@v1
24+
name: Setup Haskell
25+
with:
26+
ghc-version: ${{ matrix.ghc }}
27+
cabal-version: ${{ matrix.cabal }}
28+
29+
- uses: actions/cache@v1
30+
name: Cache ~/.cabal/store
31+
with:
32+
path: ~/.cabal/store
33+
key: ${{ runner.os }}-${{ matrix.ghc }}-cabal
34+
35+
- name: Build
36+
run: |
37+
cabal v2-update
38+
cabal v2-build --enable-tests --enable-benchmarks
39+
40+
- name: Test
41+
run: |
42+
cabal v2-test --enable-tests

.gitignore

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
### Haskell
2+
dist
3+
dist-*
4+
cabal-dev
5+
*.o
6+
*.hi
7+
*.chi
8+
*.chs.h
9+
*.dyn_o
10+
*.dyn_hi
11+
*.prof
12+
*.aux
13+
*.hp
14+
*.eventlog
15+
.virtualenv
16+
.hsenv
17+
.hpc
18+
.cabal-sandbox/
19+
cabal.sandbox.config
20+
cabal.config
21+
cabal.project.local
22+
.ghc.environment.*
23+
.HTF/
24+
# Stack
25+
.stack-work/
26+
stack.yaml.lock
27+
28+
### IDE/support
29+
# Vim
30+
[._]*.s[a-v][a-z]
31+
[._]*.sw[a-p]
32+
[._]s[a-v][a-z]
33+
[._]sw[a-p]
34+
*~
35+
tags
36+
37+
# IntellijIDEA
38+
.idea/
39+
.ideaHaskellLib/
40+
*.iml
41+
42+
# Atom
43+
.haskell-ghc-mod.json
44+
45+
# VS
46+
.vscode/
47+
48+
# Emacs
49+
*#
50+
.dir-locals.el
51+
TAGS
52+
53+
# other
54+
.DS_Store

CHANGELOG.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Changelog
2+
3+
`halide-haskell` uses [PVP Versioning][1].
4+
The changelog is available [on GitHub][2].
5+
6+
## 0.0.0.0
7+
8+
* Initially created.
9+
10+
[1]: https://pvp.haskell.org
11+
[2]: https://github.com/twesterhout/halide-haskell/releases

LICENSE

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
BSD 3-Clause License
2+
3+
Copyright (c) 2021, Tom Westerhout
4+
All rights reserved.
5+
6+
Redistribution and use in source and binary forms, with or without
7+
modification, are permitted provided that the following conditions are met:
8+
9+
1. Redistributions of source code must retain the above copyright notice, this
10+
list of conditions and the following disclaimer.
11+
12+
2. Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
16+
3. Neither the name of the copyright holder nor the names of its
17+
contributors may be used to endorse or promote products derived from
18+
this software without specific prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

README.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# halide-haskell
2+
3+
[![GitHub CI](https://github.com/twesterhout/halide-haskell/workflows/CI/badge.svg)](https://github.com/twesterhout/halide-haskell/actions)
4+
[![Hackage](https://img.shields.io/hackage/v/halide-haskell.svg?logo=haskell)](https://hackage.haskell.org/package/halide-haskell)
5+
[![BSD-3-Clause license](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg)](LICENSE)
6+
7+
See README for more info

app/Main.hs

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module Main (main) where
2+
3+
import HalideHaskell (someFunc)
4+
5+
6+
main :: IO ()
7+
main = someFunc

halide-haskell.cabal

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
cabal-version: 2.4
2+
name: halide-haskell
3+
version: 0.0.0.0
4+
synopsis: See README for more info
5+
description: See README for more info
6+
homepage: https://github.com/twesterhout/halide-haskell
7+
bug-reports: https://github.com/twesterhout/halide-haskell/issues
8+
license: BSD-3-Clause
9+
license-file: LICENSE
10+
author: Tom Westerhout
11+
maintainer: Tom Westerhout <14264576[email protected]>
12+
copyright: 2021 Tom Westerhout
13+
build-type: Simple
14+
extra-doc-files: README.md
15+
CHANGELOG.md
16+
tested-with: GHC == 8.8.3
17+
18+
source-repository head
19+
type: git
20+
location: https://github.com/twesterhout/halide-haskell.git
21+
22+
common common-options
23+
build-depends: base ^>= 4.13.0.0
24+
25+
ghc-options: -Wall
26+
-Wcompat
27+
-Widentities
28+
-Wincomplete-uni-patterns
29+
-Wincomplete-record-updates
30+
if impl(ghc >= 8.0)
31+
ghc-options: -Wredundant-constraints
32+
if impl(ghc >= 8.2)
33+
ghc-options: -fhide-source-paths
34+
if impl(ghc >= 8.4)
35+
ghc-options: -Wmissing-export-lists
36+
-Wpartial-fields
37+
if impl(ghc >= 8.8)
38+
ghc-options: -Wmissing-deriving-strategies
39+
40+
default-language: Haskell2010
41+
42+
library
43+
import: common-options
44+
hs-source-dirs: src
45+
exposed-modules: HalideHaskell
46+
47+
executable halide-haskell
48+
import: common-options
49+
hs-source-dirs: app
50+
main-is: Main.hs
51+
build-depends: halide-haskell
52+
ghc-options: -threaded
53+
-rtsopts
54+
-with-rtsopts=-N
55+
56+
test-suite halide-haskell-test
57+
import: common-options
58+
type: exitcode-stdio-1.0
59+
hs-source-dirs: test
60+
main-is: Spec.hs
61+
build-depends: halide-haskell
62+
ghc-options: -threaded
63+
-rtsopts
64+
-with-rtsopts=-N

src/HalideHaskell.hs

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{- |
2+
Copyright: (c) 2021 Tom Westerhout
3+
SPDX-License-Identifier: BSD-3-Clause
4+
Maintainer: Tom Westerhout <[email protected]>
5+
6+
See README for more info
7+
-}
8+
9+
module HalideHaskell
10+
( someFunc
11+
) where
12+
13+
14+
someFunc :: IO ()
15+
someFunc = putStrLn ("someFunc" :: String)

test/Spec.hs

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module Main (main) where
2+
3+
4+
main :: IO ()
5+
main = putStrLn ("Test suite is not implemented" :: String)

0 commit comments

Comments
 (0)