Scala is a general purpose programming language principally targeting the Java Virtual Machine. Designed to express common programming patterns in a concise, elegant, and type-safe way, it fuses both imperative and functional programming styles.
3
votes
2answers
124 views
How to rewrite this code in functional way?
My code looks like imperative style code. I want to make my code more functional. How I can rewrite my program so it become functional style code?
val _map = getMap();
if(_map.contains(x) ...
1
vote
0answers
30 views
BFS and DFS in Scala
I would love it if someone could give me some suggestions for these 2 graph search functions. I am new to scala and would love to get some insight into making these more idiomatic.
type Vertex=Int
...
3
votes
2answers
69 views
Improve scala functional string transformation
How could this scala code be made more concise and/or idiomatic? Do I need to define each functions as a val in order to pass them as values, or is there a shorthand for this? Also looking for ...
0
votes
0answers
18 views
rxjava observables and scala futures
In a simple webapp I have been using as a playground, I am playing with using rxjava to perform a number of operations in a reactive manner. I have been using reactivemongo to connect to my Mongo ...
0
votes
0answers
38 views
Scala: Pointillism
I'm relatively new to Scala and tried to copy one of the language examples of Processing: Pointillism. The original image can be retrieved here. I've used the Standard Widget Toolkit for drawing. ...
1
vote
2answers
63 views
Refactor to reduce code duplication
I have four methods like these (here are only two of them):
def checkLeft(clickedIndex: Int): Option[Int] = {
val leftIndex = clickedIndex - 1
if (leftIndex >= 0 && clickedIndex ...
3
votes
1answer
61 views
Scala Binary Search Tree Implementation?
I have written a sample immutable binary search tree using Scala. However, I am not sure whether or not I was doing it the proper way since I am not an expert at functional programming. Is there a ...
2
votes
1answer
59 views
Recursive branch and bound for knapsack problem
I've got the imperative styled solution working perfectly.
What I'm wondering is how to make a recursive branch and bound.
This is my code below, Evaluate function returns the optimistic estimate, ...
1
vote
1answer
73 views
Scala: What takes precedence: Readability or Elimination of Side Effects
I have a method:
def removeExpiredCookies(jar: CookieJar): CookieJar = {
val currentDate = System.currentTimeMillis / 1000L
jar.filter(_._2._2 > currentDate)
}
You use said method ...
1
vote
1answer
54 views
Is this class name for my commenting system confusing?
In my project (which is a discussion system) there are approved and unapproved comments. There's a class that tells if unapproved comments should be shown. But I cannot think of a good name for this ...
1
vote
1answer
44 views
Printing out a tree set using pattern matching in Scala
I'm working on some exercises Scala by Example and I've implemented an excl() method on sets which removes an element from a set, and a toString method that converts a set to a string.
I'm practicing ...
1
vote
1answer
41 views
Simple Comonads in Scala?
trait Comonad[M[_]] {
// map
def >>[A,B](a: M[A])(f: A => B): M[B]
// extract | coeta
def counit[A](a:M[A]): A
// coflatten | comu
def cojoin[A](a: M[A]): M[M[A]]
}
...
1
vote
1answer
59 views
Scala: Are assertions acceptable outside of test context?
In the case that Type is not an option, data must exist so I just use an assert to clarify and throw an exception if data is missing. Is there a better way to do this? I think in Java this would be ...
1
vote
1answer
81 views
Subclass of AtomicReference with atomic function application
Update: Now that https://github.com/bionicspirit/scala-atomic is available, I have less of a need for this.
Am I doing anything bad? I wrote this class to allow modifying an atomic reference with the ...
4
votes
0answers
142 views
First Scala Program - CSV Parsing - is it idiomatic?
This is my first real attempt at a scala program. I come from a predominantly java background, so I'd like to know if the program sticks to scala conventions well.
Is it well readable or should it ...
0
votes
1answer
49 views
Pipeline operator in scala
Please, review my implementation of the F# pipeline operator in Scala
class PipelineContainer[F](value: F) {
def |>[G] (f: F => G) = f(value)
}
implicit def pipelineEnrichment[T](xs: T) = ...
1
vote
2answers
68 views
Is this a correct recursive Scala iterator creation?
I am diving into scala (using 2.10) headfirst and am trying out a simple task of taking bulk data and then doing something with that stream. The first part is generating that stream. I have seem to be ...
3
votes
3answers
91 views
is there a better and more functional way to write this
I'm learning Scala and functional programming. Can I make it more functional? Thanks
class Student(val firstname: String, val lastname: String) {
override def toString: String = firstname + " " + ...
3
votes
1answer
61 views
How to make this code more functional?
I have a simple task:
Given a sequence of real numbers. Replace all of its members larger
than Z by Z. And count the number of replacements.
I solved this task using Scala. But my code looks ...
7
votes
0answers
188 views
Attempt to port Free Applicative to scala [closed]
I'm trying to port Edward Kmett's free package (in particular, Free Applicative) to scala. I was able to get this far. I'm particularly having problem with implementing the ap function for the Ap ...
1
vote
1answer
41 views
Need help figuring out the performance bottle neck
I'm working on my scala chops and implemented a small graph Api to track vertices and edges added to graph. I have basic GraphLike Trait, and have an Undirected Graph class ( UnDiGraph) and a Directed ...
1
vote
2answers
51 views
Recursively print in scala
I have just picked up Scala like 2 hours ago, and I am thinking of printing a series like 1 to 10 but in a recursive fashion. I do not understand what is wrong with this:
def printSeries(x:Int):Int = ...
3
votes
1answer
141 views
Basic (Logical Only) Sudoku Solver
I'm (very) new to Scala, and decided I'd try to get a handle on some of the syntax and general language constructs. This currently doesn't implement any backtracking and will only solve things if ...
3
votes
1answer
80 views
How idiomatic is this Scala 36 Cube Solver
I've written a short program to find solutions to the 36 Cube puzzle. http://en.wikipedia.org/wiki/36_cube
I'm trying to break away from my normal Java / imperative style, and would like some ...
1
vote
0answers
142 views
How to configure JMS Component in akka-camel
I'm trying to write JMS Consumer using Akka-Camel.
For now, I'm using FFMQ as JMS server. I want to listen on JMS queue myqueue.
Creating JMS consumer actor is quite straightforward:
import ...
2
votes
3answers
182 views
Scala inspired classes in Python?
I have to define a lot of values for a Python library, each of which will represent a statistical distribution (like the Normal distribution or Uniform distribution). They will contain describing ...
4
votes
1answer
117 views
Scala Play Controller - Refactoring out Duplication for Restful Web Services
I'm new to scala and I'm noticing I have some repeating code in my controllers.
I'm wondering if anyone can give some hints for traits and parameterization for eliminating duplicate code for basic ...
6
votes
3answers
254 views
Merge sort in scala
I've implemented merge sort in scala:
object Lunch {
def doMergeSortExample() = {
val values:Array[Int] = List(5,11,8,4,2).toArray
sort(values)
printArray(values)
}
def ...
2
votes
0answers
86 views
Is this Scala/Akka idiomatic and correct for Akka 2.1?
I'm wondering if there is anything i'm overlooking in the code below. I've taken the Pi calculation example, simplified it and converted it to Akka 2.1.
More specifically, i use the ask pattern to ...
1
vote
0answers
58 views
Type-safe user preferences in scala
I was thinking about a solution to store preferences and access to them in a most natural way.
I came up with the solution below.
My questions are: what do you think about the solution?
Can it be ...
2
votes
2answers
162 views
Option type in C# and implicit conversions
Good morning everyone,
I have decided to create a simple Option type for C#. I have essentially based it on the
Scala's Option.
It was mostly a fun exercise, but it might come in handy at work or ...
0
votes
0answers
72 views
Testing scala code which depends on objects
I am writing a small oauth2 library for Play! 2.1 scala. As I am still learning I got stuck trying to TDD and ended up writing the code first, then refactoring for testability. By testability I mean ...
5
votes
3answers
206 views
A scala implementation of java trim method
I'm a scala beginner and looking at the trim() method of the java api I noticed side effects, so I attempted to implement a functional version in scala.
Here is the java version :
public String ...
4
votes
1answer
71 views
Terser syntax for first-class functions needing a context bound
I have the following function that looks up a mathematical operation that can be applied to a Numeric sequence based on a String
def getAction[T : Fractional]( op : String ) : Seq[T] => String =
...
5
votes
2answers
248 views
Typesafe Tic-Tac-Toe API
So I've been working on Tony Morris' Tic-Tac-Toe challenge. The rules are as follows:
Write an API for playing tic-tac-toe. There should be no side-effects
(or variables), at all, for real. The ...
1
vote
4answers
177 views
How to break this curse by a pure functional recursive function?
I have written two programs to find out a loopy path in a directed graphs.
The first version is a pure functional recursive solution, but its complexity is exponential. The second version following ...
4
votes
1answer
92 views
Scala: how to find and return a loopy path in a directed graph
I wrote a function in Scala to find out and return a loopy path in a directed graph. The program is as followed, one of the arguments is a graph presented in an adjacent list, and the other is a start ...
3
votes
2answers
80 views
GroupBy over a clustered iterator in Scala
Here's a solution for a lazy groupBy when the iterator contents are assumed to be clustered (repeated elements next to each other) over the key:
def clusteredGroupBy[B](h: Iterator[B])(f: B => _): ...
2
votes
3answers
141 views
Cleaner way for coding a repetitive application of a function
I have this function definition which takes an r and applies the function f n times:
r => (1 to n).foldLeft(r)((rx, _) => f(rx))
So for n=3 this is equivalent to f(f(f(r)))
I don't like this ...
2
votes
1answer
229 views
Scala: tail-recursive factorial
Is there anything what could be improved on this code?
def factorial(n: Int, offset: Int = 1): Int = {
if(n == 0) offset else factorial(n - 1, (offset * n))
}
The idea is to have tail-recursive ...
8
votes
2answers
409 views
Scala: Disjoint-Sets
I would like to get some feedback on the following implementation of disjoint sets, based on disjoint-sets forests (Cormen, et.al., Introduction to Algorithms, 2nd ed., p.505ff). It should have the ...
6
votes
2answers
150 views
Solving Project Euler problem #48 in Scala
I'm trying to learn some Scala and decided to try to tackle some Project Euler problems.
For problem #48, coming from a Python background, my solution is the following one-liner:
print ( (1 to ...
9
votes
0answers
306 views
Scala TDD and function injection
I'm trying to come up with a scalable way of TDD'ing my scala code, in particular managing dependencies. In this example, I've TDD'd part of the classic river crossing problem where we have people on ...
7
votes
1answer
835 views
Scala Best Practices
In an attempt to begin learning Scala, I've taken a stab at creating a simple wrapper around Java's File & FileInputStream in order to read lines from a file. This functionality already exists in ...
9
votes
1answer
1k views
Simple anagram finder using Scala and some Scalaz
I'd like to hear some thoughts on my simple anagram finder, written in Scala. I mainly wrote this as a first go at writing some serious Scala, and I wanted to try out the Scalaz library.
I'm coming ...
5
votes
1answer
595 views
Handling parsing failure in Scala without exceptions
I have a Scala (Play!) application that must get and parse some data in JSON from an external service. I want to be able to gently handle failure in the response format, but it is becoming messy. What ...
5
votes
3answers
315 views
Scala: a safer way to cut string
I want to get just the first line of a big string. Currently, here's how I do it:
def getFirstParagraph(txt: String) = {
val newLineIdx = txt.indexOf("\n") match {
case i: Int if i > 0 ...
5
votes
1answer
168 views
Matching BigInts in Scala
I'm currently in the process of learning scala, and I'm looking for some best practices/proper idioms for the use of pattern matching with BigInts. I'm writing some algorithmic code (for Project ...
2
votes
1answer
139 views
First steps in Scala: does this look idiomatic?
I an a newcomer in the Scala world, and I would like some advice from more experienced people to find out whether what I am writing goes in the direction of idiomatic code.
In particular, I have to ...
4
votes
1answer
111 views
Code improvements
I'm doing exercise 11.8 from Scala for impatient, asking to write class for matrix:
Provide a class Matrix—you can choose whether you want to implement 2
× 2
matrices, square matrices of ...