core


License

License

MIT
GroupId

GroupId

org.typelevel
ArtifactId

ArtifactId

algebra_2.11
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

core
core
Project URL

Project URL

http://typelevel.org/algebra
Project Organization

Project Organization

org.typelevel
Source Code Management

Source Code Management

https://github.com/typelevel/algebra

Download algebra_2.11

How to add to project

<!-- https://jarcasting.com/artifacts/org.typelevel/algebra_2.11/ -->
<dependency>
    <groupId>org.typelevel</groupId>
    <artifactId>algebra_2.11</artifactId>
    <version>2.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.typelevel/algebra_2.11/
implementation 'org.typelevel:algebra_2.11:2.0.0'
// https://jarcasting.com/artifacts/org.typelevel/algebra_2.11/
implementation ("org.typelevel:algebra_2.11:2.0.0")
'org.typelevel:algebra_2.11:jar:2.0.0'
<dependency org="org.typelevel" name="algebra_2.11" rev="2.0.0">
  <artifact name="algebra_2.11" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.typelevel', module='algebra_2.11', version='2.0.0')
)
libraryDependencies += "org.typelevel" % "algebra_2.11" % "2.0.0"
[org.typelevel/algebra_2.11 "2.0.0"]

Dependencies

compile (2)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.12
org.typelevel : cats-kernel_2.11 jar 2.0.0

test (1)

Group / Artifact Type Version
org.typelevel : cats-testkit-scalatest_2.11 jar 1.0.0-RC1

Project Modules

There are no modules declared in this project.

Build Status Coverage status Gitter Maven Central

algebra

current status

This project is currently in low-maintenance mode. The existing 2.x version is stable and works with Scala 2.x and Cats 2.x. No new features are developed, but bug fix releases will still be made available.

The plan is to eventually move the code in this repository into Cats (see the ticket in the Cats repository). However, we are looking for volunteers to tackle this.

the vision

This repo represents an attempt to unify the basic algebraic type classes from Spire and Algebird. By targeting just these type classes, we will distribute an algebra package with no dependencies (except for cats-kernel) that works with Scala 2.11 and 2.12, which can be shared by all Scala libraries interested in abstract algebra.

Since the creation of Algebra, we have also decided to interoperate with the Cats project. Algebra and Cats interoperate using the cats-kernel module.

See the Algebra website for more information. The latest API docs are hosted at Algebra's ScalaDoc index.

getting algebra

Algebra supports Scala 2.11, 2.12 and 2.13 and is available from Sonatype (and Maven Central). In addition to the JVM, Algebra also supports Scala.js.

To use algebra in your own projects, include this snippet in your build.sbt file:

libraryDependencies += "org.typelevel" %% "algebra" % "2.0.0"

If you want to use Algebra's laws, you can include those as well with this snippet:

libraryDependencies += "org.typelevel" %% "algebra-laws" % "2.0.0"

what we have so far

This repo has been seeded with most of the contents of spire.algebra, and has been modified to fit an initially-conservative and shared vision for algebraic type classes. Discussions over removals and additions should take place on the issue tracker or on relevant pull requests.

Projects using Algebra

participants

Anyone who wants to participate should feel free to open issues or send pull requests to this repo.

The following people are Algebra maintainers (i.e. have push access):

development process

Please make a pull request against the master branch. For those who can merge pull requests, we follow these rules:

  1. Do not merge your own PR unless N people have signed-off on the PR (e.g. given a thumbs-up, +1, shipit, etc) and Travis is green.

  2. If you are not the author, and you see (N - 1) sign-offs and Travis is green, just click merge and delete the branch.

  3. Currently, N = 2.

algebra overview

Algebra uses type classes to represent algebraic structures. You can use these type classes to represent the abstract capabilities (and requirements) you want generic parameters to possess.

For a tour of the Algebraic structures that algebra offers, see the extensive overview on the Algebra website.

Code of Conduct

See the Code of Conduct

Copyright and License

All code is available to you under the MIT license, available at http://opensource.org/licenses/mit-license.php and also in the COPYING file.

Copyright the maintainers, 2015-2016.

org.typelevel

typelevel.scala

Let the Scala compiler work for you.

Versions

Version
2.0.0
2.0.0-M2
2.0.0-M1
1.0.1
1.0.0
0.7.0
0.6.0
0.5.1
0.5.0