scalaz-plugin-library


License

License

Categories

Categories

Scala Languages
GroupId

GroupId

org.scalaz
ArtifactId

ArtifactId

scalaz-plugin-library_sjs0.6_2.12
Last Version

Last Version

0.0.7
Release Date

Release Date

Type

Type

jar
Description

Description

scalaz-plugin-library
scalaz-plugin-library
Project URL

Project URL

https://github.com/scalaz/scalaz-plugin
Project Organization

Project Organization

org.scalaz
Source Code Management

Source Code Management

https://github.com/scalaz/scalaz-plugin

Download scalaz-plugin-library_sjs0.6_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/org.scalaz/scalaz-plugin-library_sjs0.6_2.12/ -->
<dependency>
    <groupId>org.scalaz</groupId>
    <artifactId>scalaz-plugin-library_sjs0.6_2.12</artifactId>
    <version>0.0.7</version>
</dependency>
// https://jarcasting.com/artifacts/org.scalaz/scalaz-plugin-library_sjs0.6_2.12/
implementation 'org.scalaz:scalaz-plugin-library_sjs0.6_2.12:0.0.7'
// https://jarcasting.com/artifacts/org.scalaz/scalaz-plugin-library_sjs0.6_2.12/
implementation ("org.scalaz:scalaz-plugin-library_sjs0.6_2.12:0.0.7")
'org.scalaz:scalaz-plugin-library_sjs0.6_2.12:jar:0.0.7'
<dependency org="org.scalaz" name="scalaz-plugin-library_sjs0.6_2.12" rev="0.0.7">
  <artifact name="scalaz-plugin-library_sjs0.6_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.scalaz', module='scalaz-plugin-library_sjs0.6_2.12', version='0.0.7')
)
libraryDependencies += "org.scalaz" % "scalaz-plugin-library_sjs0.6_2.12" % "0.0.7"
[org.scalaz/scalaz-plugin-library_sjs0.6_2.12 "0.0.7"]

Dependencies

compile (2)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.4
org.scala-js : scalajs-library_2.12 jar 0.6.22

provided (1)

Group / Artifact Type Version
com.github.ghik : silencer-lib_2.12 jar 1.0

test (2)

Group / Artifact Type Version
org.scala-js : scalajs-test-interface_2.12 jar 0.6.22
org.scalacheck : scalacheck_2.12 jar 1.14.0

Project Modules

There are no modules declared in this project.

Scalazzi compiler plugin

Join the chat at https://gitter.im/scalaz/scalaz-plugin

A compiler plugin that improves on the scala compiler on the assumption that the user is using the Scalazzi-safe subset of Scala.

What does this plugin do?

See test/files for more examples. We would like to get a lot more things done eventually, see open issues.

What is Scalazzi

  • No null.
  • No catching exceptions in pure code.
  • No type casing (isInstanceOf).
  • No type casting (asInstanceOf).
  • No side-effects.
  • No equals, toString, hashCode.
  • No notify or wait in pure code.
  • No .getClass.

We are more interested in Scalazzi+, which adds:

  • Only total functions.
  • Eq (used in laws and pattern matching) must satisfy:
    • Identity of indiscernibles (indiscernible values are equal).
    • Indiscernibility of identicals (equal values are indiscernible from each other).

The last requirement might seem a bit cryptic, but it has a wide range of implications, for example:

if (a === b) {
  // now we know that a.type === b.type
}

Other great compiler plugins you should check out

org.scalaz

Scalaz

Versions

Version
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3