Brendan Maginnis | 24 Feb 16:36 2015
Picon

sqlest-extractors - convert table data into case classes

Hi,

sqlest-extractors is a small library for extracting case classes from table data:

  • Minimal work to set up sqlest-extractors with a new table type
  • Extractors are defined declaratively and are easily composed
  • Support for:
    • Case classes
    • Tuples
    • Options
    • List, Seq, Map, etc.
    • Mapped values
    • Grouping rows into single results
sqlest-extractors used to be part of the sqlest database library and was used to extract data from java.sql.ResultSet. It has been generalised to work with any form of table data

The readme at https://github.com/jhc-systems/sqlest/tree/master/extractors has a short but complete example of converting csv data into case classes

Check it out!

--
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.
Jon Pretty | 23 Feb 18:10 2015

Scala World Conference, Lake District, UK, 21-22 September

Dear all,

I'm very happy to announce that the first Scala World Conference will take place in the Lake District in England on 21-22 September. Scala World will combine the best speakers in the Scala community from around the world, delicious local Cumbrian food and drink, and The Great Outdoors. The format will be one track of intermediate/advanced-level talks, in parallel with a workshop track for more in-depth interactive sessions.

There will be a three-course conference dinner on the first night, and organised group hikes into the mountains on the days before and after the conference.

You can find out more, and see some beautiful pictures of the venue at:

   http://scala.world/

I'm also delighted to be able to welcome George Leontiev, Adriaan Moors, Bill Venners and Dean Wampler to the UK as the first speakers to be announced for Scala World. Over the course of the next two months they will be joined by other familiar names, as we try to put together one of the best conference programmes of the year. You can see the rogues' gallery coming together here:

   http://scala.world/speakers/

I'm looking forward to revealing more as Scala World 2015 comes together over the next few months!

Jon

--
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.
Charles SkillsMatter | 25 Feb 14:28 2015

Skills Matter are giving away TWO free tickets to Scala Days 2015 in San Francisco! Tweet link inside!

Hey all! 

Skills Matter are giving away two free tickets to Scala Days 2015! Simply share the link at the bottom of this page for your chance to win: https://skillsmatter.com/conferences/7059-scala-days-2015-san-francisco

The winner will be announced this Friday on twitter! Maximum one ticket per person.

Good luck! :)

--
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 | 25 Feb 06:54 2015
Picon

Nyaya 0.5.7: Prop testing + deep state assertion for Scala & Scala.JS


Changelog:  CHANGELOG-0.5.md

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.
Marconi | 19 Feb 23:21 2015
Picon

REPLesent - The Scala REPL as a presentation tool

Hi,

Today I am releasing REPLesent v1.0, a neat little powerful tool to build presentations using the Scala REPL. If you went to the Northeast Scala Symposium in Boston a few weeks ago, you probably saw me using version 0.0 there :-)

Features include:
  • Easy to write slides: a simple plain text file with minimal markup
  • The full arsenal of navigation options: next, previous, first, last, jump to
  • Builds (incremental slides)
  • Slide number / total
  • Text alignment
  • ANSI colors
  • Horizontal rulers
  • Syntax highlighting
  • Run code straight from slides directly in the REPL with a single keystroke. No other presentation tool will do that for you! :-)
https://github.com/marconilanna/REPLesent has the source code, a quick reference guide, a tutorial/sample slideshow, and the quick tour screencast (2min).

--
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.
Philipp Haller | 12 Feb 15:32 2015
Picon

Scala Symposium 2015: Call For Papers

========================================================================
                         Scala Symposium 2015

                      co-located with PLDI 2015
                        Portland, Oregon, USA
                           June 13-14, 2015

                           CALL FOR PAPERS

                 http://lamp.epfl.ch/~hmiller/scala2015
========================================================================

Scala is a general-purpose programming language designed to express common
programming patterns in a concise, elegant, and type-safe way. It smoothly
integrates features of object-oriented and functional languages.

This symposium is a forum for researchers and practitioners to share new ideas
and results of interest to the Scala community.

We seek papers on topics related to Scala, including (but not limited to):

- Language design and implementation -- language extensions, optimization, and
  performance evaluation.
- Library design and implementation patterns for extending Scala -- embedded
  domain-specific languages, combining language features, generic and meta-programming.
- Formal techniques for Scala-like programs -- formalizations of the language,
  type system, and semantics, formalizing proposed language extensions and
  variants, dependent object types, type and effect systems.
- Concurrent and distributed programming -- libraries, frameworks, language
  extensions, programming paradigms: (actors, STM, ...), performance
  evaluation, experimental results.
- Safety and reliability -- pluggable type systems, contracts, static analysis
  and verification, runtime monitoring.
- Tools -- development environments, debuggers, refactoring tools, testing
  frameworks.
- Case studies, experience reports, and pearls.

Submitted papers should describe new ideas, experimental results, or projects
related to Scala. In order to encourage lively discussion, submitted papers
may describe work in progress. All papers will be judged on a combination of
correctness, significance, novelty, clarity, and interest to the community.

In general, papers should explain their original contributions,
identifying what has been accomplished, explaining why it is
significant, and relating it to previous work (also for other
languages where appropriate). Papers in the last category of the list
above need not necessarily report original research results; they may
instead, for example, report practical experience that will be useful
to others, new Scala idioms, or programming pearls. In all cases, such
a paper must make a contribution which is of interest to the Scala
community, or from which other members of the Scala community can
benefit.

KEYWORDS: Library Design and Implementation, Language Design and
Implementation, Applications, Formal Techniques, Parallelism and
Concurrency, Distributed Programming, Tools, Experience Reports,
Empirical Studies


Academic Student Talks
======================

In addition to regular papers and tool demos, we also solicit short student
talks by bachelor/master/PhD students. A student talk is not accompanied by a
paper (it is sufficient to submit a short abstract of the talk in plain text).
Student talks are about 5-10 minutes long, presenting ongoing or completed
research related to Scala. In previous years, each student with an accepted
student talk received a grant (donated by our sponsors) covering registration
and/or travel costs.


Open Source Talks
=================

We will also accept a limited number of short talks about open-source projects
using Scala presented by contributors. An open-source talk is not accompanied
by a paper (it is sufficient to submit a short abstract of the talk in plain
text).


Proceedings
===========

It is planned to publish accepted papers in the ACM Digital Library. Authors
must transfer copyright to ACM upon acceptance (for government work,
to the extent transferable), but retain various rights (see ACM Copyright
Policy). Authors are encouraged to publish auxiliary material with their paper
(source code, test data, etc.); they retain copyright of auxiliary material.


Submission Details
==================

* Abstract submission:   March 26, 2015
* Paper/talk submission: April 2, 2015
* Author notification:   April 27, 2015
* Final papers due:      May 7, 2015

All deadlines are at 23:59 Baker Island, USA (UTC-12).

Submitted papers should be in portable document format (PDF), formatted using
the standard ACM SIGPLAN two-column conference style (10pt format). Regular
research papers must not exceed 10 pages, tool demonstration papers and short
papers must not exceed 4 pages. "Tool Demos" and "Short Papers" should be
marked as such with those words in the title at time of submission.
Each paper submission must adhere to ACM SIGPLAN's republication policy, as
explained on the web.

Note: "Short Papers" differ from "Tool Demos" in that "Short Papers" are
approached as short research papers. "Short Papers" are expected to carry some
new insights or contribution, and to compare with related work, as with any
normal research paper. They are simply shorter versions of full research
papers. "Tool Demos" on the other hand are about showcasing a well-developed,
well-documented tool, live, before the symposium. Papers corresponding to "Tool Demos"
are meant to contain an overview of the tool and methodology for the
tool's use. Tool demo papers are less concerned about providing new research
insights, or thoroughly comparing with related work. The Scala Symposium PC
will approach tool demos in the same way as the PEPM'14 Workshop PC, detailed in
PEPM's Tool Paper Evaluation Criteria
(see http://www.program-transformation.org/PEPM14/ToolPaperAdvice).

Student talks and open-source talks are not accompanied by papers. Therefore,
it is sufficient to only submit a plain-text abstract. Both "Student Talks"
and "Open Source Talks" should be marked as such with those words in the title
at time of submission.

Submission see: http://lampwww.epfl.ch/~hmiller/scala2015


Program Committee
=================

* Oscar Boykin, Twitter
* Dave Clarke, Uppsala University
* Doug Lea, State University of New York (SUNY) Oswego
* Ondrej Lhotak, University of Waterloo
* Matt Might, University of Utah
* Adriaan Moors, Typesafe
* Nate Nystrom, University of Lugano
* Bruno Oliveira, University of Hong Kong
* Martin Odersky, EPFL
* Tiark Rompf, Purdue University and Oracle Labs
* Guido Salvaneschi, TU Darmstadt
* Daniel Spiewak, RichRelevance
* Lex Spoon, Semmle
* Jan Vitek, Northeastern University
* Damien Zufferey, MIT

Organizers
==========

* Philipp Haller, KTH Royal Institute of Technology (Co-chair)
* Heather Miller, EPFL (Co-chair)
* Martin Odersky, EPFL and Typesafe


Links
=====

* The Scala Symposium 2015 website: http://lampwww.epfl.ch/~hmiller/scala2015
* The PLDI 2015 website: http://conf.researchr.org/home/pldi2015

--
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.
Faruk Caglar | 10 Feb 19:10 2015
Picon

ACM SIGPLAN GPCE 2015 - CFP

[Apologies if you receive multiple copies of this email]
-------------------------------------------------------------

                    ACM SIGPLAN GPCE 2015
              14th International Conference on
        Generative Programming: Concepts & Experiences

             Oct 26-27, 2015, Pittsburgh, PA, USA
            http://conf.researchr.org/home/gpce2015

Co-located with:
ACM SIGPLAN conference on Systems, Programming, Languages and
Applications: Software for Humanity (SPLASH 2015)
             and
ACM SIGPLAN 8th International Conference on Software Language
Engineering (SLE) 2015

-----------------------------------------------------------------
IMPORTANT DATES

  Abstract submission   : June 8, 2015
  Full paper submission : June 15, 2015
  Authors notification  : July 24, 2015
  Camera-ready          : Aug 7, 2015
  Conference            : Oct 26-27, 2015

  Workshops: Handled by SPLASH

All dates are Anywhere on Earth

-----------------------------------------------------------------
SCOPE

GPCE is a venue for researchers and practitioners interested in techniques
that use program generation, domain-specific languages, and component
deployment to increase programmer productivity, improve software quality,
and shorten the time-to-market of software products. In addition to
exploring cutting-edge techniques of generative software, our goal is to
foster further cross-fertilization between the software engineering and the
programming languages research communities.

-----------------------------------------------------------------
TOPICS OF INTEREST

GPCE seeks contributions on all topics related to generative software and
its properties. Topics of interest include, but are not limited to:

Generative software
* Domain-specific languages (language extension, language embedding,
  language design, language theory, language workbenches, interpreters,
  compilers)
* Product lines (domain engineering, feature-oriented and
  aspect-oriented programming, pre-processors, feature interactions)
* Metaprogramming (reflection, staging, partial evaluation)
* Program synthesis
* Implementation techniques and tool support (components, plug-ins,
  libraries, metaprogramming, macros, templates, generic programming,
  run-time code generation, model-driven development, composition tools,
  code-completion and code-recommendation systems)

Practical Applications and Empirical evaluations
* Empirical evaluations of all topics above (user studies, substantial case
  studies, controlled experiments, surveys, rigorous measurements) 
* Application areas and engineering practice (Cloud Computing, Internet of
  Things, Cyber Physical Systems, Mobile Computing, Software Defined
  Networking, High Performance Computing, Patterns and Middleware,
  Development methods)

Properties of generative software
* Correctness of generators and generated code (analysis, testing, formal
  methods, domain-specific error messages, safety, security)  
* Reuse and evolution
* Modularity, separation of concerns, understandability, and
  maintainability 
* Performance engineering, nonfunctional properties (program optimization
  and parallelization, GPGPUs, multicore, footprint, metrics)

We particularly welcome papers that address some of the key challenges in
the field, such as,
* synthesizing code from declarative specifications
* supporting extensible languages and language embedding
* ensuring correctness and other nonfunctional properties of generated code
* proving generators correct
* improving error reporting with domain-specific error messages
* reasoning about generators
* handling variability-induced complexity in product lines
* providing efficient interpreters and execution languages
* human factors in developing and maintaining generators

GPCE encourages submissions about empirical evaluations and applications of
generative software, and such papers will be given special consideration
during reviewing.

-----------------------------------------------------------------
SUBMISSION GUIDELINES

Research papers: 10 pages maximum (ACM SIGPLAN style)

Research papers should report on original and unpublished results of
theoretical, empirical, conceptual, or experimental research that
contribute to scientific knowledge in the areas listed above (the PC chair
can advise on appropriateness)

Tool demos and short papers: 4 pages maximum (ACM SIGPLAN style).

The goal of short papers is to promote current work on research and
practice. Short papers represent an early communication of research and do
not always require complete results as in the case of a full paper. In this
way, authors can introduce new ideas to the community, discuss ideas and
get early feedback. Please note that short papers are not intended to be
position statements. Short papers are included in the proceedings and will
be presented with a shorter time slot at the conference.

Tool demonstrations should present tools that implement generative
techniques, and are available for use. Any of the GPCE topics of interest
are appropriate areas for tool demonstrations, although purely commercial
tool demonstrations will not be accepted. Submissions must provide a tool
description of 4 pages in SIGPLAN proceedings style (see above) and a
demonstration outline including screenshots of up to 4 pages. Tool
demonstrations must have the words "Tool Demo" or "Tool Demonstration" in
the title, possibly appended in parenthesis. The 4-page tool description
will, if the demonstration is accepted, be published in the proceedings.

-----------------------------------------------------------------
ORGANIZERS

GENERAL CHAIR

  Christian Kastner, Carnegie Mellon University, Pittsburgh, PA, USA

PROGRAM COMMITTEE CHAIR

  Aniruddha Gokhale, Vanderbilt University, Nashville, TN, USA

PUBLICITY CO-CHAIRS

  Faruk Caglar, Vanderbilt University, Nashville, TN, USA
  Tomofumi Yuki, INRIA Rhone-Alpes, France
 

PROGRAM COMMITTEE (TO BE COMPLETED)

  Kenichi Asai, Ochanomizu Univ, Japan
  Emilie Balland, INRIA Bordeaux, France
  Don Batory, Univ of Texas, USA
  Walter Binder, Univ of Lugano, Switzerland
  Jan Bosch, Chalmers Univ, Sweden
  Akshay Dabholkar, Oracle, USA
  Ewen Denney, NASA Ames, USA
  Katrina Falkner, Univ of Adelaide, Australia
  Bernd Fischer, Stellenbosch Univ, South Africa
  Matthew Flatt, Univ of Utah, USA
  Jeff Gray, Univ of Alabama, USA
  Michael Haupt, Oracle Labs, Germany
  James Hill, Indiana Univ Purdue Univ at Indianapolis, USA
  Young-Woo Kwon, Utah State Univ, USA
  Raffaela Mirandola, Politechnico di Milano, Italy
  Hridesh Rajan, Iowa State Univ, USA
  Marcio Ribeiro, Federal Univ of Alagoas, Brazil
  Tiark Rompf, Purdue Univ, USA
  Klaus Schmid, Stiftung Universitat Hildesheim, Germany
  Norbert Siegmund, Univ of Passau, Germany
  Yannis Smaragdakis, Univ of Athens, Greece
  Sumant Tambe, RTI Inc, USA
  Petr Tuma, Charles Univ, Czech Republic
  Nalini Venkatasubramanian, Univ of California, Irvine, USA
  Jules White, Vanderbilt Univ, USA
  Eric Wohlstadter, Univ of British Columbia, Canada
 

 Best Regards,

 Faruk Caglar
 Vanderbilt University, Nashville, TN USA


--
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.
Pathikrit Bhowmick | 10 Feb 07:59 2015
Picon

Announcing MetaRest: A macro based library to generate RESTful models

https://github.com/pathikrit/metarest

Any feedback would be appreciated.

--
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.
Eugene Yokota | 6 Feb 22:40 2015
Picon

Scala Pickling 0.10.0, an automatic serialization framework

Howdy,

I'm psyched to announce the first stable release of Scala Pickling, an automatic serialization framework made for Scala.
It's fast, boilerplate-free, and allows users to easily swap in/out different serialization formats (such as binary, or JSON).
We will retain binary compatibility throughout the 0.10.x series. We'll also keep format compatibility during 0.10.x.

Pickling in a nutshell

To pickle a value, let's say Person("foo", 20), you need two things.
  1.  A pickler combinator for the given type Person, and
  2.  A pickle format.
The Pickler[A] is responsible for breaking A down to abstract entries, fields, and collections.
It's called a combinator, because complex pickler combinators can be composed from primitive picklers.
The PickleFormat turns the abstract notions like fields into binary or text representation.


Defaults mode

Here's a basic usage using Defaults mode.

scala> import scala.pickling.Defaults._, scala.pickling.json._ scala> case class Person(name: String, age: Int) scala> val pkl = Person("foo", 20).pickle pkl: pickling.json.pickleFormat.PickleType = JSONPickle({ "$type": "Person", "name": "foo", "age": 20 }) scala> val person = pkl.unpickle[Person] person: Person = Person(foo,20)

The Defaults mode automatically derives Pickler[Person] from the primitive picklers at compile-time!
Because the code is statically generated, we can inline the string manipulations and make it fast.
(Faster than Java serialization or Kryo, which also does not require schema)

Note, because Pickler[A] is a typeclass, Pickling can be retrofitted to Person
without modifying the class to inherit Serializable or something like that.

DIY protocol stack

Pickling 0.10.0 offers picklers, ops, and formats as traits, which can be
stacked together, so third-party libraries can provide custom modes.
Suppose you only want to pickle primitive types and Apple, and don't want to automatically
derive pickler combinators. Here's a custom mode:

scala> case class Apple(kind: String) defined class Apple scala> val appleProtocol = { | import scala.pickling._ | new pickler.PrimitivePicklers with pickler.RefPicklers | with json.JsonFormats { | // Manually generate pickler for Apple | implicit val applePickler = PicklerUnpickler.generate[Apple] | // Don't fall back to runtime picklers | implicit val so = static.StaticOnly | // Provide custom functions | def toJsonString[A: Pickler](a: A): String = | functions.pickle(a).value | def fromJsonString[A: Unpickler](s: String): A = | functions.unpickle[A](json.JSONPickle(s)) | } | }
  
Now your user can import the custom mode as follows:

scala> import appleProtocol._ import appleProtocol._ scala> toJsonString(Apple("honeycrisp")) res0: String = { "$type": "Apple", "kind": "honeycrisp" } scala> fromJsonString(res0) res1: Apple = Apple(honeycrisp)

For more details check out
- our Github project: https://github.com/scala/pickling
- Scala Days 2013 talk: http://www.parleys.com/play/51c3799fe4b0d38b54f4625a/chapter0/about
- Pickler Combinators. Kennedy, 2004: http://research.microsoft.com/en-us/um/people/akenn/fun/picklercombinators.pdf
- Instant Pickles: Generating Object-Oriented Pickler Combinators for Fast and Extensible Serialization. Miller, Haller, Burmako, and Odersky, 2013: http://infoscience.epfl.ch/record/187787/files/oopsla-pickling_1.pdf

-eugene

--
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 | 5 Feb 10:05 2015
Picon

Announcing Scala.js 0.6.0, and it is no longer experimental!

Hi everyone,

We are thrilled to announce the release of Scala.js 0.6.0 [1]. With this release, we consider it production-ready, and hence we dropped the experimental flag.

You can read a detailed blog post at
http://scala-lang.org/news/2015/02/05/scala-js-no-longer-experimental.html
with a recap of what Scala.js is, why it's awesome, and how to get started with it right away!

A big thank you to the Scala.js community, who has been very helpful in preparing this epic release!

Note that Scala.js is not part of the Typesafe Reactive platform. Thus, although we consider Scala.js production-ready, Typesafe does not provide any commercial support for it.

Enjoy!

Cheers,
Sébastien, along with the entire Scala.js community

[1] http://www.scala-js.org/news/2015/02/05/announcing-scalajs-0.6.0/

--
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.
Kenji Yoshida | 5 Feb 03:50 2015
Picon

nscala-time 1.8.0 released

https://github.com/nscala-time/nscala-time/tree/releases/1.8.0#180

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.

Gmane