Scala Development
Nothing better on OS X than:
Emacs +
Ensime +
VimMode
for me right now.
And I stole SteveJ’s .emacs.d files.
Nothing better on OS X than:
Emacs +
Ensime +
VimMode
for me right now.
And I stole SteveJ’s .emacs.d files.
Scala is awesome.
Through a few libraries, you can add some of Scala’s awesomeness to Objective-C.
Wonderful, wonderful, wonderful.
jMonkeyEngine and Scala, not going so well.
Lift is an exciting new framework that leverages the Scala programming language to offer an innovative approach to creating web applications. Lift provides enormous flexibility and functionality while keeping your code simple.
Exploring Lift is brought to you by Derek Chen-Becker, Marius Danciu, and Tyler Weir, three committers on the Lift project. The book not only covers the fundamentals of building a comprehensive Lift-based application, but contains multiple chapters on advanced functionality such as AJAX, Comet and custom URL rewriting. Extensive code samples are given throughout the book to demonstrate practical application, and a complete demo app is built from the ground up to reinforce the information presented.
What you’ll learn:
Anyone interested in getting the most out of their web applications and who appreciates the power and flexibility of the Scala programming language. A basic understanding of Scala is assumed, so if you’re not familiar with it we would suggest reading David Pollak’s excellent book, Beginning Scala.
Lift was created by David Pollak, an industry veteran who has repeatedly pushed the boundaries of what is possible with programming. Here is what people are saying about Lift:
“Lift is the only new framework in the last four years to offer fresh and innovative approaches to web development. It’s not just some incremental improvements over the status quo, it redefines the state of the art. If you are a web developer, you should learn Lift. Even if you don’t wind up using it everyday, it will change the way you approach web applications.”
—Michael Galpin, Developer, eBay
“Lift is an expressive and elegant framework for writing web applications. Lift stresses the importance of security, maintainability, scalability and performance, while allowing for high levels of developer productivity.”
—Lee Mighdoll, CTO, Digiting, Inc.
Read Dave’s announcement and check out the site.
Lift is an expressive elegant web framework based on the Scala programming language and released under an an Apache 2.0 license. Lift provides developers the best way to build interactive, high performance web applications. Lift based applications are deployed as WAR files into J2EE containers such as Jetty, Tomcat, and WebLogic. Lift based applications are high performance and can make use of your existing Java libraries.
Villane is working on a Scala port of JBox2D.
I’m looking forward to this port. There are a few games in my head I’d like to produce.
Here’s the homepage of JBox2D.
Update: Villane has a GitHub repo up for ScalaBox2D.
There is a thread on Hacker News discussing a reading group focused on Structure and Interpretation of Computer Programs.
There is a Google Group and a wiki up as well. Geez, Hacker News people move quickly.
I’m going to do my best to go through SICP and do the exercises in Scala.
When I was coming back to Functional Programming Steve Jenson told me to read SICP.
I’ve put up a github repo for my code.
If you search for sicp on github, you get a bunch of repos from people with similar ideas.
Here’s a wiki with a bunch of SICP chapters in different languages.

Book for the Lift Web Framework
Derek, Marius and I, with the help of the community, will be putting together a comprehensive book for using Lift.
We have set up a Google Group for topic discussion here: http://groups.google.com/group/the-lift-book
The work will be licensed under the Creative Commons Attribution-No Derivatives found here: http://creativecommons.org/license/results-one?licensecode=by-nd Works 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Robey wrote Configgy, and summarizes it as:
Configgy is a library for handling config files and logging for a scala daemon. The idea is that it should be simple and straightforward, allowing you to plug it in and get started quickly, writing small useful daemons without entering the shadowy world of java frameworks.
Simple and straight forward indeed. To add it to my Lift app I did the following:
1. Added this to my pom.xml
<repository>
<id>http://www.lag.net/repo/</id>
<name>http://www.lag.net/repo/</name>
<url>http://www.lag.net/repo/</url>
</repository>
And
<dependency>
<groupid>net.lag</groupid>
<artifactid>configgy</artifactid>
<version>1.2</version>
</dependency>
2. Wrote this conf file (it’s in the same dir as the pom.xml file and so is the log directory which you’ll need permissions on)
<log>
filename = "log/pca.log"
roll = "daily"
level = "debug"
</log>
hostname = "localhost"
port = 8080
3. Added this to Boot.scala
...
import net.lag.configgy.Configgy
import net.lag.logging.Logger
...
Configgy.configure("pca.conf")
val log = Logger.get
log.info("Configgy up")
log.info("Bootstrap up")
4. And a quick test, in one of my snippets I added:
...
import net.lag.logging.Logger
...
log.info("Super Awesome Form rendered")
5. The output is:
INF [20081119-14:11:15.085] liftweb: Configgy up
INF [20081119-14:11:15.088] liftweb: Bootstrap up
INF [20081119-14:11:22.144] snippet: Super Awesome Form rendered
Make with the nice nice.
I would like to go to C4[3], but we’ll see… anyhoo, here’s Al3x’s scala slides: