Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tasks #2

Closed
48 of 85 tasks
lausdahl opened this issue Jan 20, 2016 · 2 comments
Closed
48 of 85 tasks

Tasks #2

lausdahl opened this issue Jan 20, 2016 · 2 comments
Milestone

Comments

@lausdahl
Copy link
Member

lausdahl commented Jan 20, 2016

Here is a list of tasks that needs to be implemented. Please add more.

  • Class structure

  • Class structure + inheritance

  • Field access

    • local
    • public
  • Calls

    • local
    • public
    • name,
    • self,
    • new,
    • object field ,
    • object apply
  • Memory management free all that is constructed

  • expressions

    • time
    • set
    • seq
    • map
    • pattern-match
    • let
      • let
      • let be
    • def
    • conditional
      • if then else
      • cases + others
    • Quantified (try to rewrite these using basic constructs)
      • forall
      • exists
      • exists1
    • iota
    • mk tuple
    • mk record
    • apply
      • apply ()
      • field select a.b
      • tuple select a.#1
      • function type instantiation (not sure what this is name[type,type] make polymorphism)
    • new
    • self
    • lambda
    • narrow?
    • is is_...
      • bool
      • nat
      • nat1
      • int
      • rat
      • real
      • char
      • token
    • isofbaseclass
    • isofclass
    • samebaseclass
    • sameclass
    • undefined this maps to nothing
    • patterns
      • identifier
      • match
      • set enum
      • set union
      • seq enum
      • seq conc
      • map enum
      • map munion
      • tuple
      • record
      • object
    • values
  • statements

    • for loop rewrite all to a while+ scope
      • sequence loop for pattern in set SEQ do stm
      • set for loop for all pattern in set SET do stm
      • index for id = 1 to 10 by 2 do exp
    • while
    • nondeterministic stm || (stm1,stm2)
    • return
    • skip
    • duration * equals skip*
    • cycles equals skip
  • Patterns + binds

    • identifier
    • ...
  • number operations. All number operations must conform to the

    The five numeric types denote a subset hierarchy where real is the most general type followed
    by rat3, int, nat and nat1. Note that no “casting” like it is done in many programming
    languages is needed in the VDM languages.
    This means that any number of type int is also automatically of type real but not necessarily
    of type nat. Another way to illustrate this is to say that the positive natural numbers are a subset
    of the natural numbers which again are a subset of the integers which again are a subset of the
    rational numbers which finally are a subset of the real numbers. The following table shows some
    numbers and their associated type. LangMan p. 8

This is not the case right now.

@bandurvp
Copy link
Contributor

Checked Clearsy model, needs:
seq - Some sequence functions (++ for example) are not implemented, but they are not used in this model.
logic - Clearsy model only uses quantifiers in invariants.
pattern match

  • let - Clearsy model only uses simplest version let var = ... Has implication for cases below.
  • cases
    for seq + index
    call on object

@peterwvj peterwvj modified the milestone: Version 0.0.4 Sep 20, 2016
@peterwvj peterwvj modified the milestones: v0.0.6, v0.0.8, 0.0.10 Oct 3, 2016
peterwvj added a commit that referenced this issue Oct 25, 2016
bandurvp pushed a commit that referenced this issue Oct 25, 2016
@peterwvj peterwvj modified the milestones: v0.0.10, v0.0.12, v0.0.14 Nov 15, 2016
@peterwvj peterwvj modified the milestones: v0.0.14, v0.0.16 Nov 30, 2016
@peterwvj peterwvj modified the milestones: v0.1.2, v0.1.4, v0.1.6 Mar 10, 2017
@peterwvj peterwvj modified the milestones: v0.1.6, v0.1.8 May 1, 2017
@peterwvj peterwvj modified the milestones: v0.1.8, v0.1.10 Jul 1, 2017
@peterwvj peterwvj modified the milestones: v0.1.10, v0.1.12 Aug 10, 2017
@peterwvj peterwvj modified the milestones: v0.1.12, v0.1.14 Sep 11, 2017
@peterwvj peterwvj modified the milestones: v0.1.14, v0.1.16 Sep 18, 2017
@peterwvj peterwvj modified the milestones: v0.1.16, v0.1.18 Oct 4, 2017
@bandurvp
Copy link
Contributor

This is a very old issue, all the relevant information is now contained in the Overture User Manual.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants