Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 0 additions & 106 deletions .cirrus.yml

This file was deleted.

89 changes: 89 additions & 0 deletions .github/workflows/freebsd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# FreeBSD CI
#
# FreeBSD is not a native GitHub Actions runner, so this workflow runs
# the build inside a VM via vmactions/freebsd-vm. It is kept separate
# from haskell.yml because the cache/restore step model in that
# workflow (hackage index, ghcup, deps caches) does not apply inside
# the VM.

name: FREEBSD

on:
workflow_dispatch:
pull_request:
push:
branches:
- master

jobs:
build:
name: >-
freebsd-${{ matrix.release }}
${{ matrix.command }}
${{ matrix.ghc_version }}
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.ignore_error }}
strategy:
fail-fast: false
matrix:
include:
- release: "14.3"
command: cabal
ghc_version: 9.14.1
ignore_error: true

steps:
- uses: actions/checkout@v4

- name: Build on FreeBSD
uses: vmactions/freebsd-vm@v1
env:
PACKCHECK_COMMAND: ${{ matrix.command }}
GHCVER: ${{ matrix.ghc_version }}
# For updating see: https://downloads.haskell.org/~ghcup/
GHCUP_VERSION: 0.1.50.2
LC_ALL: C.UTF-8
CABAL_REINIT_CONFIG: y
CABAL_CHECK_RELAX: y
CABAL_PROJECT: cabal.project
DISABLE_BENCH: "y"
DISABLE_DOCS: "y"
DISABLE_SDIST_BUILD: "y"
DISABLE_DIST_CHECKS: "y"
PACKCHECK: "./packcheck.sh"
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck"
PACKCHECK_GITHUB_COMMIT: "b3743510c7c26f83254ffd9ef91bcd71560cff05"
with:
release: ${{ matrix.release }}
usesh: true
copyback: false
envs: >-
PACKCHECK_COMMAND GHCVER GHCUP_VERSION LC_ALL
CABAL_REINIT_CONFIG CABAL_CHECK_RELAX CABAL_PROJECT
DISABLE_BENCH DISABLE_DOCS DISABLE_SDIST_BUILD DISABLE_DIST_CHECKS
PACKCHECK PACKCHECK_GITHUB_URL PACKCHECK_GITHUB_COMMIT
prepare: |
pkg update
pkg install -y gmake
pkg install -y bash
pkg install -y git
pkg install -y gmp
run: |
if test ! -e "$PACKCHECK"
then
if test -z "$PACKCHECK_GITHUB_COMMIT"
then
echo "PACKCHECK_GITHUB_COMMIT is not specified." >&2
exit 1
fi
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
curl --fail -sL -o "$PACKCHECK" $PACKCHECK_URL || exit 1
chmod +x $PACKCHECK
elif test ! -x "$PACKCHECK"
then
chmod +x $PACKCHECK
fi
# Use "bash -c" instead of invoking directly to preserve quoted
# arguments in PACKCHECK_COMMAND e.g. DOCSPEC_OPTIONS="--timeout 60".
# Direct invocation would word-split on spaces inside quoted values.
bash -c "$PACKCHECK $PACKCHECK_COMMAND"
1 change: 1 addition & 0 deletions .hlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
[ --cpp-include=src
, --cpp-include=src/Streamly/Internal/Data/Stream
, --cpp-include=core/src/Streamly/Internal/Data/Array
, --cpp-include=core/src/doctest
, --cpp-include=test
, --cpp-define=CABAL_OS_LINUX
, --cpp-define=linux_HOST_OS
Expand Down
14 changes: 7 additions & 7 deletions benchmark/Streamly/Benchmark/Data/Stream/Expand.hs
Original file line number Diff line number Diff line change
Expand Up @@ -334,14 +334,14 @@ inspect $ 'unfoldEach `hasNoType` ''SPEC
{-# INLINE unfoldEach2 #-}
unfoldEach2 :: Int -> Int -> Int -> IO ()
unfoldEach2 outer inner start = drain $
S.unfoldEach (UF.carry (sourceUnfoldrMUnfold inner start))
S.unfoldEach (UF.carryInput (sourceUnfoldrMUnfold inner start))
$ sourceUnfoldrM outer start

{-# INLINE unfoldEach3 #-}
unfoldEach3 :: Int -> Int -> IO ()
unfoldEach3 linearCount start = drain $ do
S.unfoldEach (UF.carry (UF.lmap snd (sourceUnfoldrMUnfold nestedCount3 start)))
$ S.unfoldEach (UF.carry (sourceUnfoldrMUnfold nestedCount3 start))
S.unfoldEach (UF.carryInput (UF.lmap snd (sourceUnfoldrMUnfold nestedCount3 start)))
$ S.unfoldEach (UF.carryInput (sourceUnfoldrMUnfold nestedCount3 start))
$ sourceUnfoldrM nestedCount3 start
where

Expand Down Expand Up @@ -732,28 +732,28 @@ fairUnfoldCrossEqn input =

unfoldEachEqn :: Monad m => Unfold m ((), ()) Int -> Stream m Int -> m ()
unfoldEachEqn input ints =
let intu = Unfold.carry $ Unfold.lmap (const (undefined, undefined)) input
let intu = Unfold.carryInput $ Unfold.lmap (const (undefined, undefined)) input
in result
$ Stream.mapM checkPair
$ Stream.unfoldEach intu ints

fairUnfoldEachEqn :: Monad m => Unfold m ((), ()) Int -> Stream m Int -> m ()
fairUnfoldEachEqn input ints =
let intu = Unfold.carry $ Unfold.lmap (const (undefined, undefined)) input
let intu = Unfold.carryInput $ Unfold.lmap (const (undefined, undefined)) input
in result
$ Stream.mapM checkPair
$ Stream.fairUnfoldEach intu ints

unfoldSchedEqn :: Monad m => Unfold m ((), ()) Int -> Stream m Int -> m ()
unfoldSchedEqn input ints =
let intu = Unfold.carry $ Unfold.lmap (const (undefined, undefined)) input
let intu = Unfold.carryInput $ Unfold.lmap (const (undefined, undefined)) input
in result
$ Stream.mapM checkPair
$ Stream.unfoldSched intu ints

fairUnfoldSchedEqn :: Monad m => Unfold m ((), ()) Int -> Stream m Int -> m ()
fairUnfoldSchedEqn input ints =
let intu = Unfold.carry $ Unfold.lmap (const (undefined, undefined)) input
let intu = Unfold.carryInput $ Unfold.lmap (const (undefined, undefined)) input
in result
$ Stream.mapM checkPair
$ Stream.fairUnfoldSched intu ints
Expand Down
Loading
Loading