Sourcetype ('world, 'senses, 'intent) t = {sense : 'senses option -> 'world -> 'senses;decide : 'senses -> 'intent;delay : int;rate : int;reflex : 'world -> 'intent -> 'intent;
} Sourceval make :
?delay:int ->
?rate:int ->
?reflex:('world -> 'intent -> 'intent) ->
sense:('senses option -> 'world -> 'senses) ->
decide:('senses -> 'intent) ->
unit ->
('world, 'senses, 'intent) t Sourcetype ('senses, 'intent) running Sourceval step :
('world, 'senses, 'intent) t ->
'world ->
('senses, 'intent) running ->
'intent * ('senses, 'intent) running Sourceval last_senses : ('senses, 'intent) running -> 'senses option Sourceval aim_error :
spread:float ->
settle:float ->
seen_for:int ->
seed:int ->
unit ->
float