Ecosyste.ms: Repos
An open API service providing repository metadata for many open source software ecosystems.
Package Usage: hackage: references
References are data accessors that can read, write or update the accessed infromation through their context. They are first-class values, can be passed in functions, transformed, combined. References generalize lenses, folds and traversals for haskell (see: https://hackage.haskell.org/package/lens).
References are more general than field selectors in traditional languages.
References are first-class values. If there is a struct in C, for example, with an int field fl, then fl can only be used as part of an expression. One can not generalize a function to take a field selector and transform the selected data or use it in other ways.
They can have different meanings, while field accessors can only represent data-level containment. They can express uncertain containment (like field selectors of C unions), different viewpoints of the same data, and other concepts.
There are two things that references can do but the previously mentioned access methods don't.
References can cooperate with monads, for example IO. This opens many new applications.
References can be added using the &+& operator, to create new lenses more easily.
Basic idea taken from the currently not maintained package https://hackage.haskell.org/package/yall.
An example use of the references (a logger application that spawns new threads to update a global log):
There are a bunch of predefined references for datatypes included in standard libraries.
New references can be created in several ways:
From getter, setter and updater, using the reference function.
From getter and setter, using one of the simplified functions (lens, simplePartial, partial, ...).
Using the Data.Traversal instance on a datatype to generate a traversal of each element.
Using lenses from Control.Lens package. There are a lot of packages defining lenses, folds and traversals
for various data structures, so it is very useful that all of them can simply be converted into a reference.
Generating references for newly defined datatypes using the makeReferences Template Haskell function.
14 versions
Latest release: over 6 years ago
10,297 downloads total
View more package details: https://packages.ecosyste.ms/registries/hackage.haskell.org/packages/references
View more repository details: https://repos.ecosyste.ms/hosts/GitHub/repositories/nboldi%2Freferences
Dependent Repos 15
ramyshahin/ProductLineAnalysis
Some libraries and utilities for Software Product Line (SPL) analysis- * haskell/rewriting/shallow/shallow.cabal
- * haskell/rewriting/deep/deep.cabal
Size: 128 MB - Last synced: 5 months ago - Pushed: 5 months ago
signed/learning-haskell
- 0.3.3.0 cabal.config
Size: 83 KB - Last synced: about 1 month ago - Pushed: about 6 years ago
etorreborre/producer-hs
Simple streaming library for Haskell- 0.3.2.2 cabal.config
Size: 39.1 KB - Last synced: 14 days ago - Pushed: over 6 years ago
google/haskell-indexer
Emits code crossreference data for Haskell sources.- ==0.3.2.2 wrappers/stack-docker/everything/everything.cabal
Size: 447 KB - Last synced: 7 days ago - Pushed: almost 4 years ago
peti/cabal2spec
Convert Cabal files into rpm spec files- ==0.3.* test/golden-test-cases/haskell-tools-debug.cabal
- ==0.3.* test/golden-test-cases/haskell-tools-rewrite.cabal
Size: 4.98 MB - Last synced: 17 days ago - Pushed: about 2 months ago
haskell-tools/haskell-tools
Developer tools for Haskell- ==0.3.* src/ast/haskell-tools-ast.cabal
- ==0.3.* src/backend-ghc/haskell-tools-backend-ghc.cabal
- ==0.3.* src/builtin-refactorings/haskell-tools-builtin-refactorings.cabal
- ==0.3.* src/builtin-refactorings/haskell-tools-builtin-refactorings.cabal
- ==0.3.* src/cli/haskell-tools-cli.cabal
- ==0.3.* src/prettyprint/haskell-tools-prettyprint.cabal
- ==0.3.* src/refactor/haskell-tools-refactor.cabal
- ==0.3.* src/refactor/haskell-tools-refactor.cabal
- ==0.3.* src/rewrite/haskell-tools-rewrite.cabal
Size: 6.3 MB - Last synced: 14 days ago - Pushed: over 4 years ago
SamProtas/composable-associations
Library providing polymorphic composition of serialized haskell data to reduce boilerplate.- 0.3.2.1 composable-associations/cabal.config
- 0.3.2.1 composable-associations-aeson/cabal.config
Size: 47.9 KB - Last synced: 20 days ago - Pushed: about 3 years ago
dnaumenko/learning_notes
Collection of exercises from various books/sites- 0.3.3.0 learning_haskell/cabal.config
Size: 4.29 MB - Last synced: about 1 year ago - Pushed: over 1 year ago
jacobstern/hamilton
- 0.3.3.1 cabal.config
- 0.3.3.1 hamilton/cabal.config
Size: 856 KB - Last synced: over 1 year ago
marklnichols/Strat
Haskell library for strategy game AI- 0.3.2.1 cabal.config
Last synced: over 1 year ago
lae/haskell-dns-message
Mirrored from https://github.com/laech/haskell-dns-message.git- 0.3.3.0 cabal.config
Last synced: over 1 year ago
NixOS/cabal2nix
Generate Nix build instructions from a Cabal file- ==0.3.* cabal2nix/test/golden-test-cases/haskell-tools-rewrite.cabal
- ==0.3.* cabal2nix/test/golden-test-cases/haskell-tools-debug.cabal
Size: 3.09 MB - Last synced: 14 days ago - Pushed: 24 days ago
jcgentry/RubiksCube
- 0.3.3.0 cabal.config
Size: 11.8 MB - Last synced: 11 months ago - Pushed: over 6 years ago
onepunchtech/one-punch-linux
- 0.3.3.0 cabal.config
Size: 38.1 KB - Last synced: about 1 month ago - Pushed: over 6 years ago
monnef/youtube-tool
CLI tool for easy downloading and opening of videos from YouTube.- 0.3.2.2 cabal.config
Last synced: about 1 year ago
Jacob-Holm-Mortensen/my-project
- 0.3.3.0 cabal.config
Size: 10.6 MB - Last synced: about 1 year ago - Pushed: over 6 years ago
pnaranja/haskellbook
Exercises and notes while studying The Haskell Book - http://haskellbook.com/- 0.3.2.1 chp14/cabal.config
Size: 3.07 MB - Last synced: 25 days ago - Pushed: over 6 years ago
mikla/haskell-stack-setup
- 0.3.2.1 cabal.config
Size: 21.5 KB - Last synced: about 1 year ago - Pushed: almost 7 years ago
chroth7/AoCHaskell
Advent of Code - teaching myself how to Haskell (experiments, ideas, testing...)- 0.3.3.0 cabal.config
Size: 26.4 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
anhmiuhv/learn_haskell
- 0.3.2.2 median/cabal.config
Size: 5.49 MB - Last synced: about 1 year ago - Pushed: over 6 years ago
dnaumenko/learning_haskell
- 0.3.3.0 cabal.config
Size: 784 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
LukeWinikates/simple
- 0.3.2.1 cabal.config
Size: 60.5 KB - Last synced: 29 days ago - Pushed: almost 7 years ago
DylanHobbs/haskell-shapes
- 0.3.3.0 cabal.config
Size: 57.6 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
romue404/wildsow.hs 📦
A card game implemented in Haskell- 0.3.2.1 cabal.config
Size: 11 MB - Last synced: about 1 year ago - Pushed: over 6 years ago
yannick-cw/para-search
searching with haskell- 0.3.2.1 cabal.config
Size: 23.4 KB - Last synced: 2 months ago - Pushed: almost 7 years ago
poproulx/99haskell
- 0.3.3.0 cabal.config
Size: 39.1 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
begray/haskell-crawler-example
Wikipedia crawler in Haskell- 0.3.3.0 cabal.config
Size: 30.3 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
begray/wiki-crawlers
Wikipedia crawlers implemented in different languages- 0.3.3.0 haskell/cabal.config
Size: 85.9 KB - Last synced: about 1 year ago - Pushed: about 4 years ago
courses-at-nju-by-hfwei/learning-haskell
Learn Haskell and Generally Functional Programming- 0.3.3.0 haskell-tutorial/cabal.config
- 0.3.3.0 realworld-haskell/cabal.config
Size: 3.51 MB - Last synced: about 1 year ago - Pushed: over 6 years ago
pangiole/haskell-wamp
WAMP - Web Application Messaging Protocol implementation written in Haskell- 0.3.2.1 cabal.config
Size: 21.5 KB - Last synced: 10 months ago - Pushed: almost 7 years ago
5pecia1/yesod-study
- 0.3.2.2 cabal.config
Size: 25.4 KB - Last synced: 3 months ago - Pushed: over 6 years ago
wk-j/haskell-dot
- 0.3.2.1 cabal.config
Size: 22.5 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
maiermic/haskell-dnants
A simple ant colony simulation based on a cellular automata.- 0.3.2.2 cabal.config
Size: 4.57 MB - Last synced: about 1 year ago - Pushed: over 6 years ago
maiermic/render-svg-in-sdl2-haskell
An example how to render SVG images in SDL 2 in Haskell.- 0.3.2.2 cabal.config
Size: 36.1 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
mahulst/advent2017
Advent of code 2017 in Haskell- 0.3.3.1 day1/cabal.config
- 0.3.3.1 day2/cabal.config
Size: 25.4 KB - Last synced: about 1 month ago - Pushed: over 6 years ago
bemcho/KafkaConsumerProducerTool
UI haskell based tool for sending data to kafka topics- 0.3.3.1 cabal.config
Size: 25 MB - Last synced: about 1 year ago - Pushed: about 4 years ago
michael8090/csyt-design
- 0.3.3.0 cabal.config
Size: 25.4 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
maiermic/haskell-sdl2-jump-and-run
A simple Jump 'n' Run game implemented in Haskell using SDL2.- 0.3.2.1 cabal.config
Size: 447 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
DRouh/urlshortener
- 0.3.2.1 cabal.config
Size: 23.4 KB - Last synced: about 1 year ago - Pushed: almost 7 years ago
tomphp/recently-used-kata
A kata we did in Haskell at SoCraTes UK 2017- 0.3.2.1 cabal.config
Size: 22.5 KB - Last synced: about 1 year ago - Pushed: almost 7 years ago
SamProtas/slack-groupme-bridge
A bridge between a GroupMe group and a Slack channel- 0.3.3.0 cabal.config
Size: 43 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
sertel/kvstore
- 0.3.3.0 cabal.config
Size: 291 KB - Last synced: about 1 year ago - Pushed: over 5 years ago
irmikrys/gomoku
Gomoku game in Haskell- 0.3.2.1 cabal.config
Size: 65.4 KB - Last synced: about 1 year ago - Pushed: almost 7 years ago
eli-jordan/haskell-sudoku-solver
- 0.3.3.1 cabal.config
Size: 1.87 MB - Last synced: about 2 months ago - Pushed: almost 6 years ago
chadlaing/feht
Predictive marker discovery for groups; binary data, genomic data (single nucleotide variants), arbitrary character data.- 0.3.2.2 cabal.config
Size: 129 KB - Last synced: 2 months ago - Pushed: almost 6 years ago
rahul-korthiwada/haskell-tools Fork of Chaitanya-nair/haskell-tools
Developer tools for Haskell- * demo/haskell-tools-demo.cabal
- * src/backend-ghc/haskell-tools-backend-ghc.cabal
- * src/builtin-refactorings/haskell-tools-builtin-refactorings.cabal
- * src/builtin-refactorings/haskell-tools-builtin-refactorings.cabal
- ==0.3.* src/cli/haskell-tools-cli.cabal
- >=0.3.2 && <1.0 src/daemon/haskell-tools-daemon.cabal
- ==0.3.* src/debug/haskell-tools-debug.cabal
- * src/prettyprint/haskell-tools-prettyprint.cabal
Size: 6.52 MB - Last synced: 10 months ago - Pushed: 12 months ago
RoiPerelman/nintyNineHaskellProblems
- 0.3.2.2 cabal.config
Size: 53.7 KB - Last synced: 10 months ago - Pushed: over 6 years ago
danielholmes/sudoku-solver
Enter a 4 or 9 size Sudoku and be presented with solutions to it- 0.3.2.2 cabal.config
Size: 53.7 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
ktomi996/haskell-tools Fork of haskell-tools/haskell-tools
Developer tools for Haskell- ==0.3.* src/ast/haskell-tools-ast.cabal
- ==0.3.* src/backend-ghc/haskell-tools-backend-ghc.cabal
- ==0.3.* src/cli/haskell-tools-cli.cabal
- ==0.3.* src/debug/haskell-tools-debug.cabal
- ==0.3.* src/prettyprint/haskell-tools-prettyprint.cabal
- ==0.3.* src/rewrite/haskell-tools-rewrite.cabal
Size: 6.31 MB - Last synced: 9 months ago - Pushed: about 5 years ago
nh2/cabal2nix Fork of NixOS/cabal2nix
Generate Nix build instructions from a Cabal file- ==0.3.* test/golden-test-cases/haskell-tools-debug.cabal
- ==0.3.* test/golden-test-cases/haskell-tools-rewrite.cabal
Size: 2.89 MB - Last synced: about 1 month ago - Pushed: almost 3 years ago
juspay/codegen
- * codegen.cabal
Size: 52.7 KB - Last synced: about 2 months ago - Pushed: about 2 months ago
bnvinay92/haskell-classes
- 0.3.3.1 cabal.config
Size: 449 KB - Last synced: about 1 year ago - Pushed: over 6 years ago
yorisilo/yorisilo-sandbox
- 0.3.2.1 haskell/test/test/cabal.config
Size: 49.8 MB - Last synced: 26 days ago - Pushed: 10 months ago
eswar2001/codeCoverage
- * codeCoverage.cabal
Size: 223 KB - Last synced: 12 days ago - Pushed: 12 days ago