Profiling performance in Scala

Boxing and unboxing of primitive types Using primitive types in parameterized generic classes can lead to some performance degradation in Scala. Type parameters in generic classes cannot be resolved as primitive types and instead becomes Object references. This mean primitive types like Int or Float in type parameters must be converted to and from an… Continue reading Profiling performance in Scala

A simple non-static logger for Scala

Overview Here’s an idea for a logger that doesn’t rely on it being shared statically. Initialization is done using implicits, which results in less typing when using the actual classes that mixin the Loggable trait. Any object created within such classes will also get access to these implicits. This lets the implicit arguments propagate forward… Continue reading A simple non-static logger for Scala

Setting up an Ant build script for your Scala project

Introduction This is a small writeup which gives one way of setting up a build system for your Scala project. Here Apache Ant is used for managing this process, where the whole configuration is contained within a single build.xml file placed in the project’s root directory. Execution is done from command line or within your… Continue reading Setting up an Ant build script for your Scala project

@tuple – experimenting with lisp-like syntax as XML replacement

Motivation The following post describes an experimental format which has a lisp-like syntax, with hints of JSON, for storing tree-structured data as text. The main motivation was a need to have a less verbose alternative to XML, but still be readable and editable, support pattern matching and transformation, include common binary datatypes, and enable structural… Continue reading @tuple – experimenting with lisp-like syntax as XML replacement