How to get your UID with PLT Scheme under UNIX

Via Eli on comp.lang.scheme:

#lang scheme
;; using the /proc filesystem
(call-with-input-file "/proc/self/loginuid" read)
;; running `id'
(require scheme/system)
(let ([o (open-output-string)])
  (parameterize ([current-output-port o]) (system "id -u"))
  (read (open-input-string (get-output-string o))))
;; calling getuid()
(require scheme/foreign)
((get-ffi-obj 'getuid #f (_fun -> _int)))

Paralell Programming with PLT Scheme

Via plt-dev:

I’m pleased to announce the initial release of parallel futures, a construct for fine-grained parallelism in PLT. Roughly speaking, a programmer passes a thunk to ‘future’ and it gets run in parallel. That “roughly” holds a few gotchas, partly because we’re just getting started and partly due to the technique we’re using. See the documentation for more details: