2

Is there an egg or some library that would allow me to write CSP style programs in Scheme? By CSP style I mean what's implemented in Go (go/channel/select) or Clojure's core.async.

Eike Pierstorff
  • 31,996
  • 4
  • 43
  • 62
skrat
  • 5,518
  • 3
  • 32
  • 48
  • I don't know what Chicken offers, but Racket has [place channels](http://docs.racket-lang.org/guide/parallelism.html#%28part._effective-places%29). – C. K. Young Sep 10 '14 at 14:59

2 Answers2

2

Chicken Scheme has a channel egg that you could try out.

$ chicken-install -s channel
kristianlm
  • 1,071
  • 1
  • 10
  • 14
2

Chicken now also has a gochan egg (which I wrote). It's much simpler than channel, but channel seems to be a little complex and I'm unsure of how well it has been tested.

$ chicken-install -s gochan
$ csi -R gochan -p '(gochan-receive (gochan "hello world"))'
hello world
kristianlm
  • 1,071
  • 1
  • 10
  • 14