版博士V2.0程序
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

22 righe
629 B

  1. import { flow } from './function';
  2. import * as S from './State';
  3. export function get(F) {
  4. return function () { return F.fromState(S.get()); };
  5. }
  6. export function put(F) {
  7. return function (s) { return F.fromState(S.put(s)); };
  8. }
  9. export function modify(F) {
  10. return flow(S.modify, F.fromState);
  11. }
  12. export function gets(F) {
  13. return flow(S.gets, F.fromState);
  14. }
  15. export function fromStateK(F) {
  16. return function (f) { return flow(f, F.fromState); };
  17. }
  18. export function chainStateK(F, M) {
  19. var fromStateKF = fromStateK(F);
  20. return function (f) { return function (ma) { return M.chain(ma, fromStateKF(f)); }; };
  21. }