版博士V2.0程序
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

123456789101112131415161718192021
  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. }