planet.lisp.org planet.lisp.org

Joe Marshall: You could use a monad.

On the Racket Users list Ben Duan asked Scenario: A piece of data is determined in the first function `f1', but is only processed in a sub-sub-sub-... function `fx'. One way is to use pass `the-data' as arguments from `f1' through `f2' all the way down to `fx': (define f1 (the-data ...) ... (f2 the-data ...) ...) (define f2 (the-data ...) ... (f3 the-data ...) ...) ... (define fx (the-data ...) ... the-data ...) But...

funcall

You could use a monad.

On the Racket Users list Ben Duan asked Scenario: A piece of data is determined in the first function `f1', but is only processed in a sub-sub-sub-… function `fx'. One way is to use pass `the-data' as arguments from `f1' through `f2' all the way down to `fx': (define f1 (the-data …) … (f2 the-data …) …) (define f2 (the-data …) … (f3 the-data …) …) … (define fx (the-data …) … the-data …) But...

hackaday.com hackaday.com

Water cooled Raspberry Pi

If your Raspberry Pi is running a bit hot you can add a few hunks of salvaged heat sink, or you can go all out and machine your own water cooling system. Remember when everyone had a giant desktop computer which was a perfect receptacle for cool lighting effects and somewhat ridiculous cooling systems? Relive that experience with [Phame's] multi-page forum post that serves as the build log. With the exception of the tiny pump itself,...

planet.clojure.in planet.clojure.in

TRC Open-sourced

pepijndevos/irc-deploy I finally took some time to cut out the private bits from my deploy script and open source it to the world. This script allows you to deploy an IRC server, bouncer, web interface, bot and some custom modules to anything you can think of: VirtualBox, VPS, EC2, OpenStack, Docker… The only things that are missing are the SSL certificates and services. You can add your own certificates, generate self-signed ones,...

lshift.net lshift.net

Resumable exceptions for separating packages

Resumable exceptions form a key component of the Smalltalk infrastructure. They are one of the standard means of communicating along the call stack, much like Common Lisp’s condition system. They can, however, add a “cross layer” dependency. Let’s take a look at an example. The Files package provides what you might expect: facilities to write to file, read from files, rename files, and so on. In particular, it has...