Update to use the official selfish spawn.

- Requires latest and greatest goblins, though.
This commit is contained in:
Vivianne 2023-07-02 00:08:23 -07:00
parent 8fd7edd0f9
commit 0efdd1f65a
4 changed files with 15 additions and 36 deletions

View file

@ -1,11 +1,10 @@
(define-module (gib-gab-gob actors)
#:use-module (gib-gab-gob rps)
#:use-module (gib-gab-gob lib) ;; to go into goblins eventually!
#:use-module (goblins)
#:use-module (goblins vat)
#:use-module (goblins actor-lib methods)
#:use-module (goblins actor-lib sealers)
#:use-module (oop goops)
#:use-module (goblins actor-lib selfish-spawn)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:export (^game-lobby ^client-picker))

View file

@ -1,18 +0,0 @@
(define-module (gib-gab-gob lib)
#:use-module (goblins)
#:export (selfish-spawn))
(define (selfish-spawn constructor . args)
(define (^selfish bcom)
(lambda (self)
(bcom (apply constructor bcom self args))))
(let ((name (procedure-property constructor 'name)))
(set-procedure-property! ^selfish 'name name))
(let ((self (spawn ^selfish)))
(pk self)
;; now transition to the version with self
($ self self)
self))

View file

@ -85,4 +85,3 @@
"This project demonstrates both Rock Paper Scissors and Tic Tac Toe in Goblins!")
(home-page "https://solarpunk.moe")
(license license:gpl3+))

View file

@ -17,20 +17,19 @@
((directory
"gib-gab-gob"
((compiled-scheme-file "actors")
(compiled-scheme-file "lib")
(scheme-file "rps")
(scheme-file "actors")
(compiled-scheme-file "rps")
(scheme-file "lib")))))
(compiled-scheme-file "rps")))))
(tests ((directory "tests" ())))
(programs
((directory
"scripts"
((in-file "make-client") (in-file "make-host")))))
((in-file "make-client")
(in-file "make-host")))))
(documentation
((text-file "ChangeLog")
(text-file "AUTHORS")
(text-file "NEWS")
((text-file "README")
(text-file "HACKING")
(text-file "COPYING")
(directory
"doc"
((texi-file "version")
@ -39,11 +38,14 @@
(info-file "gib-gab-gob")
(info-file "version")
(texi-file "gib-gab-gob")))
(text-file "COPYING")
(text-file "HACKING")
(text-file "README")))
(text-file "NEWS")
(text-file "AUTHORS")
(text-file "ChangeLog")))
(infrastructure
((in-file "pre-inst-env")
((automake-file "Makefile")
(autoconf-file "configure")
(text-file ".gitignore")
(scheme-file "hall")
(directory
"build-aux"
((tex-file "texinfo")
@ -51,7 +53,4 @@
(text-file "missing")
(text-file "install-sh")
(text-file "mdate-sh")))
(scheme-file "hall")
(text-file ".gitignore")
(autoconf-file "configure")
(automake-file "Makefile")))))
(in-file "pre-inst-env")))))