David Barri | 5 May 11:10 2016
Picon
Gravatar

[ANN] Scala Test-State -- first public release

Hi,

New library about.

Scala Test-State.

Purpose is to test stateful stuff statelessly, and reasonably.

Muchas info and more detail on the project page.

Enjoy.

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Bill Venners | 4 May 21:20 2016

Programming in Scala, Third Edition, Now Available!

Hi All,


I am happy to announce that the third edition of Programming in Scala is now available!


The book has been updated to cover new features up to and including Scala version 2.12, such as:

  • Implicit classes
  • Creating your own AnyVals
  • String interpolation
  • Futures and concurrency, including new methods added in 2.12 and asynchronous testing with Futures in ScalaTest 3.0
  • Wildcard types
  • The close integration of Scala 2.12 and Java 8, most significantly the new ability to use function literals to express instances of SAM types
  • The latest recommendations for Scala coding style
  • New recommendations for writing hashCode
  • The context bounds syntax for typeclasses

As of today, both the eBook and paper book are in stock and ready for purchase. You can pick up a copy today at Artima or Amazon.


Also, for those of you attending Scala Days in New York next week, Martin and I will be on hand for a book signing on Tuesday, May 10, at noon at the Artima booth. Please come by and say hello!


Bill

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Sébastien Doeraene | 30 Apr 09:30 2016
Picon
Gravatar

Announcing Scala.js 0.6.9

Hello all,

We are pleased to announce the release of Scala.js 0.6.9!

This release was mostly focused on ironing out the support of Scala 2.12.0-M4 and the upcoming M5. All users of 2.12.0-M4 are highly encouraged to upgrade to Scala.js 0.6.9. The release also contains a few bug fixes, as well as the following improvements:

  • #2009 No own class for anonymous Scala.js-defined JS classes
  • #2350 A read-only sbt setting isScalaJSProject which is true iff the current project is a Scala.js project
See all the details in the announcement on the Web:
https://www.scala-js.org/news/2016/04/30/announcing-scalajs-0.6.9/

Enjoy!
The Scala.js team

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Jarek Sacha | 23 Apr 02:01 2016
Picon
Gravatar

ScalaFX v.8.0.92-R10 released

ScalaFX 8.0.92-R10 was tested against JavaFX 8.0u92. It is contains some new features and bug-fix release. Scala 2.10, 2.11, and 2.12 are supported.

Compatibility braking changes:

  • Issue #107: Remove code that was deprecated before release of ScalaFX 1.0.0 M1

New features and improvements:

Bug fixes:

  • Issue #69: SFX-8: ColorfulCircles and SimpleColorfulCircles demos fail.
  • Issue #184: ObservableBuffer.Change has no generic type parameters, while the majority of its children do.
  • Issue #217: NPE when calling Node#snapshot
  • Issue #219: WritableImage#pixelWrit should be pixelWriter.
  • Issue #220: Scene’s onMouseDrag* setters have incorrect type parameters, jfxsi.MouseEvent instead jfxsi.MouseDragEvent.
  • Issue #221: Some type constraints in methods using jfxe.EventHandler arguments have incorrect variance.
  • Issue #222: Some setter are defined with _(...) instead of _=(...).
  • Issue #233: Problem with StringProperty.concat.
  • Issue #236: Importing scalafx.Includes._ breaks cellFactory creation.

To use ScalaFX add following to your SBT:

libraryDependencies += "org.scalafx" %% "scalafx" % "8.0.92-R10"

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
Please report any problems using ScalaFX Issue Tracker.
Please use ScalaFX Users Group to post questions.

Jarek

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.

lucas.satabin | 19 Apr 10:57 2016
Gravatar

Diffson 2.0.0 is out

Hi all,

I am glad to announce the new major version 2.0.0 of Diffson [0].

Diffson is a Scala library to generate, apply and manipulate Json diffs. 
It implements the RFC 6901 [1] and 6902 [2].

Among the new features, most prominent ones are:

  - the possibility to choose the underlying Json library you use. By 
default, backend for spray-json [3] and Play! Json [4] are provided, but 
you can easily implement (and contribute) your own.
  - the possibility to generate patches which remember the deleted and 
changed values, so that you can revert the actions.
  - collections operations added on Json patches.
  - bug fixes on the diff algorithm and code cleanups.

Breaking changes include:
  - dependency on the Json library must be explicitly given in your 
project.
  - it is only compiled against scala 2.11 for Java 8.
  - the package to import depends on the chosen Json backend. So you do 
not `import gnieh.diffson._` anymore but either `import 
gnieh.diffson.sprayJson._` or `import gnieh.diffson.playJson._`.
  - the `diff` method takes an extra parameter `remember` indicating 
whether the old value must be remembered for operations changing values.

All the merged changes and issues can be found in the bugtracker.

Thanks to all people who contributed to this version by reporting bugs 
or submitting suggestions.

Enjoy!

Lucas

[0]: https://github.com/gnieh/diffson
[1]: https://tools.ietf.org/html/rfc6901
[2]: https://tools.ietf.org/html/rfc6902
[3]: https://github.com/spray/spray-json
[4]: https://www.playframework.com/documentation/2.5.x/ScalaJson

--

-- 
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe@...
For more options, visit https://groups.google.com/d/optout.

Lloyd C | 16 Apr 16:03 2016
Picon
Gravatar

Enumeratum 1.4.0: ValueEnums and Circe integration

It’s been a while since the last major release of Enumeratum, and in 1.4.0, minor changes include Play 2.5 support, integration library version bumps, and small internal refactorings. 

More excitingly though, the latest version adds support for a new kind of enumeration, ValueEnum, as well as an integration with the Circe JSON library.

Points of interest:
  • Unlike other value enum implementations, Enumeration’s value enums perform uniqueness checks at compile time to make sure you have unique values across your enum members.
  • Circe integration allows you to send and receive JSON data between your front end and your server using the same code
Example:

import enumeratum.values._

sealed abstract class ContentType(val value: Long, name: String) extends LongEnumEntry

case object ContentType extends LongPlayEnum[ContentType] {

  val values
= findValues

 
case object Text extends ContentType(value = 1L, name = "text")
 
case object Image extends ContentType(value = 2L, name = "image")
 
case object Video extends ContentType(value = 3L, name = "video")
 
case object Audio extends ContentType(value = 4L, name = "audio")

 
/* case object Sticker extends ContentType(value = 4L, name = "sticker")
   *   => Fails at compile time because 4L is already used with the following error:
   *
   *   It does not look like you have unique values. Found the following values correspond to more than one members: Map(4 -> List(object Audio, object Sticker))
   */


}

assert(ContentType.withValue(1) == ContentType.Text)

ContentType.withValue(10) // => java.util.NoSuchElementException:

// Use with Play-JSON
import play.api.libs.json.{ JsNumber, JsString, Json => PlayJson }
ContentType.values.foreach { item =>
   
assert(PlayJson.toJson(item) == JsNumber(item.value))
}


For more information, checkout:
As always, if you have any problems, questions, suggestions, or better yet, PRs, please do not hesitate to get in touch on Github.

Lloyd

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Marconi | 14 Apr 20:09 2016
Picon
Gravatar

Scala Up North 2016: Montreal QC Canada August 5 & 6

What a glorious day for Canada, and therefore, the world.

Scala Up North, the only Scala conference in Canada, will be held August 5 & 6 in Montreal, QC.

Call for Proposals is now open. Submit your talk before May 14 and win a free Scala 2.12 digital download*. As is tradition.

http://scalaupnorth.com/

https://twitter.com/ScalaUpNorth/status/720668894999023616

* Must be of legal programming age in the province of residence.

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.

distributed-index v0.2, a sql/nosql distributed database now can run complex sql

Happy to announce this new distributed database, impl with scala and akka/akka-cluster.

So complex queries can now be run on the data. More on this article:

https://www.linkedin.com/pulse/distributed-index-new-distributed-database-can-now-run-kougios



--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
David Barri | 5 Apr 07:16 2016
Picon
Gravatar

UnivEq: Safer universal equivalence (==) for Scala

Hello.

I just open-sourced a little library I've been using internally for over a year.

UnivEq

It provides safer universal equality for Scala and Scala.JS.

I find it pretty useful and if you do too, awesome! Enjoy.

Cheers,
David

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Miles Sabin | 4 Apr 14:52 2016
Gravatar

Typelevel Summit Oslo, 4th May

The Typelevel family of projects has seen a huge amount of activity since the creation of the Cats project in 2015, and now we're organizing a series of events and hack days to build on that. The first of these was in Philadelphia, colocated with NEScala, at the beginning of March and was a huge success ... there are photos from the event and and videos of the talks will appear on the Typelevel YouTube channel shortly.

The second event will be on Wednesday the 4th of May, the day after and colocated with flatMap(Oslo). There will be a one day Typelevel Summit including talks, discussion and hacking, focussed on the Typelevel projects. If you're going to be in Oslo for either flatMap or the Typelevel Summit you should really attend both!

We have a really exciting schedule shaping up. Dr. Eugenia Cheng, author of the gentle introduction to category theory How to Bake Pi, will be giving the keynote and we have talks on refinement types, functional IO and free monads already lined up. The full programme of ten Typelevel related talks will be available over the next few days.

Whilst many of the Typelevel projects use somewhat "advanced" Scala, they are a lot more approachable than many people think. A major part of Typelevel's mission is to make the ideas they embody much more widely accessible and to present them in a friendly, welcoming and safe environment. So, if you're interested in types and pure functional programming and want to make those ideas commonplace, then this is the event for you ... sign up and we'll see you there!

Cheers,


Miles

--

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Chris Neveu | 3 Apr 18:54 2016
Picon

[scala-announce] Macramé 1.2.1 and new Macramé-Play library

I'm happy to announce a new version of Macramé which eliminates some of the boilerplate users of the <at> enum macro were incurring.

The 1.2.x series features new traits which abstract over EnumApi. Additionally, there is a new Macramé-Play library which provides canonical type-class instances for play-json This library is built against the last 3 versions of play-json.

EnumApi is now more friendly to library authors building off of <at> enum, including a className method which previously required runtime reflection to access.

--
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-announce+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Gmane