Skip to content

Releases: ayush268/InHs

Concurrent Execution Feature in InHs! Yay!!

26 Oct 08:37
Compare
Choose a tag to compare

This release incorporates all the features of the first release, i.e. no change in syntax of former statements (Backward Compatible).

Release 2.0 (Current Release) now supports the following features:
Firstly, Backward Compatible features from the previous release:

  • Non-suspendable statements
    • Skip (empty statement)
    • Multiple (list of multiple statements to be executed sequentially)
    • Var (new variable declaration)
    • BindIdent (binding a variable to another, unifying 2 variables)
    • BindValue (binding a variable to a value, unifying a value and a variable)
  • Suspendable statements
    • Conditional (if-else statement)
    • Match (case, pattern match statement)
    • Apply (procedure/closure application)
  • Arithmetic Expression Evaluation

Features added in the new (current) release:

  • The suspendable statements now get suspended instead of crashing on an unbound variable.
  • Declarative Concurrent Model
    • Thread (creating a new thread/stack)
    • threadScheduler which does the following:
      • Pick one of the Ready threads/stacks and calls contextSwitchAndExecute on it.
      • Report the result if all threads/stacks reach Completed state.
      • Raise an Exception: All threads are in suspended state, denoting failure to execute further.

Features planned for next release:

  • Addition of a Trigger Store to account for statements which can be executed on demand.
  • Lazy Execution using the above-added Trigger Store.

First Release of InHs! Yay!!

05 Oct 12:43
Compare
Choose a tag to compare

This release incorporates all the basic functionalities of a simple declarative sequential language such as Oz.

Release 1.0 (Current Release) supports the following:

  • Non-suspendable statements
    • Skip (empty statement)
    • Multiple (list of multiple statements to be executed sequentially)
    • Var (new variable declaration)
    • BindIdent (binding a variable to another, unifying 2 variables)
    • BindValue (binding a variable to a value, unifying a value and a variable)
  • Suspendable statements (Suspension feature NOT implemented in this release, these statements will crash if variable is not bound.)
    • Conditional (if-else statement)
    • Match (case, pattern match statement)
    • Apply (procedure/closure application)
  • Arithmetic Expression Evaluation

Features planned for next release - Declarative Concurrent Model:

  • Addition of a Multi Stack feature along with Stack State, to keep track of Ready or Suspended or Completed stacks.
  • Addition of a Thread Scheduler and Thread Statement to support creation and handling of multiple Threads.