Skip to content

Latest commit

 

History

History
46 lines (35 loc) · 2.12 KB

CHANGELOG.md

File metadata and controls

46 lines (35 loc) · 2.12 KB

Changelog

v0.1.5

  • introduced pdynPair for dynamic Term<PPair<...>> creation, to overcome the lack of a mkPair builtin;
    • adjusted pfstPair and psndPair accordingly
    • adjusted getFromDataForType macro and getFromDataTermForType accordingly
  • fixed bug in papp (previously using b instead of _b)
  • fixed some ts types

v0.1.4

  • papp (and $ method) accepts ts values and converts it automatically when possible

    example: if Term<PInt> is expected it should be possible to pass 1 without having to do pInt(1)

    • simple constants (int, bs, bool, etc... )
    • functions (lam, fn)
    • structured types (list, pair)
    • modified exsisting utility terms methods accordingly
  • added TermPair
  • added pPair for constants pairs

v0.1.3

  • evalScript optimizations
    • definition of CEKHeap to store CEKValues in no particular order
    • modify CEKEnv to point at values in the CEKHeap rather than having a local copy (and copying them when cloning too)
  • Data classes are now cloning the fields in the constructor and the fields getters now will return freezed object (Data is meant to be immutable anyway)

v0.1.2

  • pand and por take a delayed( bool ) as second argument (before was just strict bool)
    • change definitons
    • add strictAnd and strictOr versions
  • pfoldr and pfoldl (reduce method of js arrays) for TermList
    • pfoldr and pfoldl
    • re-implementation of exsisting functions (pfilter,pmap, etc...) in terms of pfold[rl] (should result in smaller scripts if used multiple times)
  • UtilityTermOf<PLam<...>> returns TermFn<...>
  • UtilityTermOf<PAlias<SomePType>> returns Term<PAlias<...>> & UtilityTermOf<SomePType>
  • ToPType<AliasTermType<...>> now returns PAlias<...>
  • fixed some TermList typescript types

v0.1.1

  • UtilityTerms should expose typescript functions rather than plu-ts ones; this was done to incentivize developers to reuse the terms but it extremly hurts readability
  • UtilityTerms will still expose the plu-ts term equivalent of each method trough the <method name>Term property