Skip to content
Open
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
1 change: 1 addition & 0 deletions .ghci
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
:set -ilib
108 changes: 104 additions & 4 deletions .stylish-haskell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,98 @@ steps:
# # true.
# add_language_pragma: true

# Align the right hand side of some elements. This is quite conservative
# and only applies to statements where each element occupies a single
# line.
- simple_align:
cases: true
top_level_patterns: true
records: true

# Import cleanup
- imports:
# There are different ways we can align names and lists.
#
# - global: Align the import names and import list throughout the entire
# file.
#
# - file: Like global, but don't add padding when there are no qualified
# imports in the file.
#
# - group: Only align the imports per group (a group is formed by adjacent
# import lines).
#
# - none: Do not perform any alignment.
#
# Default: global.
align: none
align: group

# Folowing options affect only import list alignment.
#
# List align has following options:
#
# - after_alias: Import list is aligned with end of import including
# 'as' and 'hiding' keywords.
#
# > import qualified Data.List as List (concat, foldl, foldr, head,
# > init, last, length)
#
# - with_alias: Import list is aligned with start of alias or hiding.
#
# > import qualified Data.List as List (concat, foldl, foldr, head,
# > init, last, length)
#
# - new_line: Import list starts always on new line.
#
# > import qualified Data.List as List
# > (concat, foldl, foldr, head, init, last, length)
#
# Default: after_alias
list_align: after_alias

# Long list align style takes effect when import is too long. This is
# determined by 'columns' setting.
#
# - inline: This option will put as much specs on same line as possible.
#
# - new_line: Import list will start on new line.
#
# - new_line_multiline: Import list will start on new line when it's
# short enough to fit to single line. Otherwise it'll be multiline.
#
# - multiline: One line per import list entry.
# Type with contructor list acts like single import.
#
# > import qualified Data.Map as M
# > ( empty
# > , singleton
# > , ...
# > , delete
# > )
#
# Default: inline
long_list_align: inline

# List padding determines indentation of import list on lines after import.
# This option affects 'list_align' and 'long_list_align'.
list_padding: 4

# Separate lists option affects formating of import list for type
# or class. The only difference is single space between type and list
# of constructors, selectors and class functions.
#
# - true: There is single space between Foldable type and list of it's
# functions.
#
# > import Data.Foldable (Foldable (fold, foldl, foldMap))
#
# - false: There is no space between Foldable type and list of it's
# functions.
#
# > import Data.Foldable (Foldable(fold, foldl, foldMap))
#
# Default: true
separate_lists: true

# Language pragmas
- language_pragmas:
Expand All @@ -38,16 +116,26 @@ steps:
#
# - compact: A more compact style.
#
# - compact_line: Similar to compact, but wrap each line with
# `{-#LANGUAGE #-}'.
#
# Default: vertical.
style: vertical

# Align affects alignment of closing pragma brackets.
#
# - true: Brackets are aligned in same collumn.
#
# - false: Brackets are not aligned together. There is only one space
# between actual import and closing bracket.
#
# Default: true
align: true

# stylish-haskell can detect redundancy of some language pragmas. If this
# is set to true, it will remove those redundant pragmas. Default: true.
remove_redundant: true

# Align the types in record declarations
- records: {}

# Replace tabs by spaces. This is disabled by default.
- tabs:
# Number of spaces to use for each tab. Default: 8, as specified by the
Expand All @@ -61,6 +149,18 @@ steps:
# to. Different steps take this into account. Default: 80.
columns: 78

# By default, line endings are converted according to the OS. You can override
# preferred format here.
#
# - native: Native newline format. CRLF on Windows, LF on other OSes.
#
# - lf: Convert to LF ("\n").
#
# - crlf: Convert to CRLF ("\r\n").
#
# Default: native.
newline: native

# Sometimes, language extensions are specified in a cabal file or from the
# command line instead of using language pragmas in the file. stylish-haskell
# needs to be aware of these, so it can parse the file correctly.
Expand Down
49 changes: 48 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,55 @@
# Include Haskell tools
language: haskell
ghc: 7.8

# Use the docker infrastructure
sudo: false

# Cache the installed Haskell stuff
cache:
directories:
- $HOME/.stack

notifications:
email:
on_success: change
on_failure: change

# The following enables several GHC versions to be tested; often it's enough to
# test only against the last release in a major GHC version. Feel free to omit
# lines listings versions you don't need/want testing for.
env:
global:
- PKG_CONFIG_PATH=$HOME/.stack/local/lib/pkgconfig
- LD_LIBRARY_PATH=$HOME/.stack/local/lib
- LD_RUN_PATH=$HOME/.stack/local/lib
- CFLAGS=-I$HOME/.stack/local/include
- LDFLAGS=-L$HOME/.stack/local/lib
matrix:
- STACK_RESOLVER=lts-3
- STACK_RESOLVER=lts-5
- STACK_RESOLVER=lts-6
- STACK_RESOLVER=lts-7

# Download the latest stack command.
before_install:
- cabal sandbox init
- travis_retry wget https://www.stackage.org/stack/linux-x86_64
- tar -xvf linux-x86_64
- mv stack-*-linux-x86_64/stack stack

install:
- echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"

# Here starts the actual work to be performed for the package under test; any
# command which exits with a non-zero exit code causes the build to fail.
script:
# - cabal check
# - cabal sdist
# - export SRC=$(cabal info . | awk '{print $2;exit}')
# - tar -xzf "dist/$SRC.tar.gz"
# - cd "$SRC"
- travis_retry ./stack --no-terminal --resolver $STACK_RESOLVER setup
- travis_retry ./stack --no-terminal --resolver $STACK_RESOLVER install --only-snapshot -j4 --verbosity info
- ./stack --no-terminal --resolver $STACK_RESOLVER build
- ./stack --no-terminal --resolver $STACK_RESOLVER haddock --no-haddock-deps
- ./stack --no-terminal --resolver $STACK_RESOLVER test
22 changes: 14 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
Rawr
====

[![Build Status][3]][2]
[![Build status][travis-badge]][travis-link]

This is an implementation of the [roaring bitmaps][1] data structure in
Haskell. Roaring bitmaps is a compressed bitmap data structure which offers
better compression and performance than other compressed bitmaps in many
situations.
[*Rawr*][1] is a Haskell implementation of the [Roaring Bitmaps][2]
data structure and [serialisation format][3]. Roaring Bitmaps are a
compressed bitmap data structure offering better space and time
performance than other compressed bitmaps in many situations.

[1]: http://www.roaringbitmap.org/
[2]: https://travis-ci.org/thsutton/rawr
[3]: https://travis-ci.org/thsutton/rawr.svg?branch=master
**Please note:** This is a work in progress and is not yet ready for
use. When complete it will be released on Hackage.

[1]: https://github.com/thsutton/rawr
[2]: http://www.roaringbitmaps.org/
[3]: https://github.com/RoaringBitmap/RoaringFormatSpec

[travis-link]: https://travis-ci.org/thsutton/rawr
[travis-badge]: https://travis-ci.org/thsutton/rawr.svg?branch=master
113 changes: 0 additions & 113 deletions lib/Data/BitMap/Roaring/Chunk.hs

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE → rawr-format/LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2015, Thomas Sutton
Copyright Thomas Sutton (c) 2017

All rights reserved.

Expand Down
20 changes: 20 additions & 0 deletions rawr-format/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Rawr Format
===========

[![Build status][travis-badge]][travis-link]

[*Rawr Format*][1] is a Haskell implementation of the Roaring Bitmaps
[serialisation format][3]. Roaring Bitmaps are a compressed bitmap
data structure offering better space and time performance than other
compressed bitmaps in many situations. This library implements the
interoperable serialisation format supported by many implementations.

**Please note:** This is a work in progress and is not yet ready for
use. When complete it will be released on Hackage.

[1]: https://github.com/thsutton/rawr
[2]: http://www.roaringbitmaps.org/
[3]: https://github.com/RoaringBitmap/RoaringFormatSpec

[travis-link]: https://travis-ci.org/thsutton/rawr
[travis-badge]: https://travis-ci.org/thsutton/rawr.svg?branch=master
File renamed without changes.
6 changes: 6 additions & 0 deletions rawr-format/lib/Lib.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module Lib
( someFunc
) where

someFunc :: IO ()
someFunc = putStrLn "someFunc"
Loading