Lambda on the Move

A (non-)personal blog about programming, Symbian, and little else.
newest · all · tags · dates · titles · feedRSS feed · author

Racket

Opening Racket Modules in Emacs

In recent past, I've adopted Greg Hendershott's racket-mode for Emacs, added keyword completion, hover help, documentation lookup, customized syntax highlighting and indentation and such for my personal tastes, but one thing I haven't really looked at so far is code navigation support for Racket. What seemed like an easy place to start was implementing a function for loading a Racket source file by its module path, as would appear within a require form.

Read more...

Written on Sunday, 6 July 2014, 17:57:57 UTC.
Tagged as Emacs, IDE, Lisp, Racket.

Dictionary-Enabled Racket Support for Emacs

For the last month or so I've found Racket programming even more enjoyable than before. The reason for this is a tool named Ractionary (short for Racket Dictionary Generator), which I wrote for extracting information about Racket language names. Said information can easily be used for setting up some Racket language awareness for Emacs.

Read more...

Written on Friday, 23 August 2013, 22:26:43 UTC.
Tagged as BLDL, Emacs, IDE, programming languages, Racket, Ractionary, Rascal, software.

Another PIM Data Exporter

My little SMS Exporter utility app has probably been downloaded quite a few times by virtue of it having been available for many years. Now it's time to introduce another PIM data exporter application: Anyxporter. This new application is capable of exporting contact data, and supports both MeeGo Harmattan and (some versions of) Symbian.

Read more...

Written on Thursday, 22 August 2013, 16:16:20 UTC.
Tagged as Anyxporter, BLDL, contacts, Harmattan, Lua, PIM, Qt, Racket, S60, SMS Exporter, software, Symbian, XML.

Times Are Hard for Racketeers, too

APIs dealing with dates and times must be hard to get right. I'm not aware of any programming language whose standard library for dealing with times is both intuitive and comprehensive. Racket has built-in libraries that are second to none, but even it presently leaves something to be desired when it comes to support for handling dates and times.

Read more...

Written on Sunday, 6 January 2013, 01:21:31 UTC.
Tagged as APIs, Emacs, Lisp, Racket, Scheme.

On Racket Support in Emacs Org-Mode

Earlier I blogged about Epresent, which is basically a piece of code for making Org-Mode suitable for preparing presentation slides. There are times when I can’t resist mentioning the innovative Racket programming language in a presentation. In those situations I tend to want to have syntax-highlighted Scheme code on my slides, and also to evaluate the code snippets and insert the results next to the code listing. This is apparently the sort of thing one can do with Org-Mode Babel, for a variety of languages.

Read more...

Written on Thursday, 8 September 2011, 20:35:15 UTC.
Tagged as Emacs, Epresent, Org, presentations, Racket, Scheme, software.

Mixing Hand-Written, Generating, and Generated Code with Koog

Some days ago I released a little code generation utility that I have been using for well over a year in cranking out repetitive C++ code. Koog is—for lack of a better established term—a mixed-code generator. It is similar to other tools of its kind (such as Cog), but the only one that I know of that uses the Scheme language for specifying what code to generate.

Read more...

Written on Tuesday, 28 September 2010, 17:58:24 UTC.
Tagged as C, C++, code generation, HIIT, Racket, Scheme, software, Symbian.

Nokia's Products Are Error (Message) Free

So I upgrade the firmware of my Nokia E71 from v200 something to v300 something.

Read more...

Written on Sunday, 8 November 2009, 17:12:30 UTC.
Tagged as PIM, Racket, S60, Scheme, software, Symbian, vCalendar.

Passing on Keyword Arguments in PLT Scheme

I am a big fan of Python’s keyword argument facility, and especially its support for *args and **kwargs function parameter declarations. *args and **kwargs capture any explicitly undeclared positional and keyword arguments, respectively, and this facility in many cases allows one to avoid repeating function interfaces. This is both less typing and more future proof, and makes it easier to see the parameters that directly concern a function. Contrast this with Java, which not only has no keyword arguments, and no support for *args style declarations, but which also forces you to repeat caught exception declarations in function signatures.

Read more...

Written on Saturday, 15 November 2008, 09:57:26 UTC.
Tagged as keyword arguments, macro systems, Python, Racket, Scheme.