1. 28 Jun, 2012 2 commits
    • Andrei Paskevich's avatar
      whyml: include pure symbols in the program namespace · 55c1fc02
      Andrei Paskevich authored
      Thus, we do not need to look through two different namespaces.
      The only difference w.r.t. the core namespace semantics is that
      a program symbol (pvsymbol, psymbol, plsymbol, or xsymbol) may
      be introduced in the scope of an lsymbol of the same name and
      overshadow it in program expressions, though not in specifications.
      For example, the following declarations allow to use (!) both in
      programs and specifications:
      
          type ref 'a = {| mutable contents : 'a |}
          function (!) (x: ref 'a) : 'a = x.contents
          let (!) (r: ref 'a) = {} r.contents { result = !r }
      
      Notice, however, that itsymbols cannot overshadow pure tsymbols.
      55c1fc02
    • Andrei Paskevich's avatar
      a384381e
  2. 22 May, 2012 1 commit
  3. 09 Apr, 2012 1 commit
  4. 18 Mar, 2012 1 commit
    • Andrei Paskevich's avatar
      separate abstract types and logic symbols · 1b769a78
      Andrei Paskevich authored
      - put abstract types and aliases in Dtype of tysymbol
      - put (recursive) algebraic types in Ddata of (ts,constr list) list
      - put abstract function/predicate symbols in Dparam of lsymbol
      - put defined logic symbols in Dlogic of (ls,ls_definition) list
      1b769a78
  5. 21 Feb, 2012 1 commit
  6. 14 Feb, 2012 1 commit
  7. 28 Sep, 2011 1 commit
  8. 27 Sep, 2011 1 commit
  9. 01 Jul, 2011 1 commit
  10. 18 Jun, 2011 1 commit
  11. 13 Jun, 2011 1 commit
  12. 24 May, 2011 1 commit
  13. 16 May, 2011 1 commit
  14. 28 Jan, 2011 1 commit
  15. 13 Dec, 2010 1 commit
  16. 04 Dec, 2010 1 commit
  17. 01 Dec, 2010 1 commit
  18. 17 Nov, 2010 1 commit
  19. 16 Nov, 2010 1 commit
  20. 12 Nov, 2010 1 commit
  21. 09 Nov, 2010 1 commit
  22. 23 Oct, 2010 1 commit
  23. 16 Sep, 2010 1 commit
  24. 07 Sep, 2010 1 commit
  25. 25 Aug, 2010 1 commit
  26. 18 Aug, 2010 1 commit
  27. 17 Aug, 2010 2 commits
  28. 16 Aug, 2010 1 commit
  29. 10 Aug, 2010 1 commit
  30. 15 Jul, 2010 1 commit
  31. 12 Jul, 2010 1 commit
  32. 10 Jul, 2010 1 commit
    • Andrei Paskevich's avatar
      add "exclusive metaproperties" to support metas-options: adding · 8b07467f
      Andrei Paskevich authored
      a meta of an exclusive kind removes the previous meta of this 
      kind (if any) from task_meta.
      
      Discuss: should driver-imposed exclusive metas have a low priority
      (i.e. driver does not add an exclusive meta if the task already 
      contains one of this kind) or should we just trust the driver
      authors not to put exclusive metas in drivers? 
      8b07467f
  33. 04 Jul, 2010 1 commit
    • Andrei Paskevich's avatar
      reworking tags and transformations, stage 1: · 18a0e0b0
      Andrei Paskevich authored
      - introduce a new Theory.tdecl "Meta" to be used for tags
      - simplify cloning procedure, get rid of the th_clone field
      - when a goal proposition is discarded during cloning, 
        it's still keeped in the theory as a "skip proposition",
        this is needed to preserve/clone every local identifier.
        Skip propositions are eliminated during task formation.
      - get rid of a separate Task.tdecl type
      - reorganize the Task.task_hd record:
        * use/clone history is cached in a theory-keyed map;
        * meta-properties are cached in a tagname-keyed map.
        This is done to simplify the fine-grained configuration
        of transformations.
      18a0e0b0
  34. 07 May, 2010 1 commit
  35. 29 Mar, 2010 2 commits
  36. 28 Mar, 2010 1 commit
  37. 25 Mar, 2010 1 commit