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

Internally forwarders should be terms #14

Open
np opened this issue Oct 25, 2015 · 0 comments
Open

Internally forwarders should be terms #14

np opened this issue Oct 25, 2015 · 0 comments

Comments

@np
Copy link
Owner

np commented Oct 25, 2015

Internally we have At for term-as-a-process and Ax for forwarders (axioms). Ideally I think Ax should disappear and become At (Def fwdName ...).

  • This would remove some redundant code
  • This would allow to use fwd in terms directly instead of proc(cs...) fwd ... (cs...)
  • Improvements made on term-as-a-process would benefit forwarders

Now we have two forms of forwarders:

  • fwd <Nat> <Session> <Channel>
  • fwd <Session> ( <Channel>* )

The first form can be given a general type:

fwd : (n : Int)(S : Session) -> < Fwd n S >

The second is using a flat sequence of sessions and we cannot express this type as only Session is exposed and not [RSession].

Therefor using the first form internally seems more appropriate.

The second form would then be a consequence of a more liberal form of term-as-a-process.

Note that so far what we have internally is the reverse the first form is a wrapper around the second.

@np np changed the title Internally, forwarder should be terms Internally, forwarder should be term Oct 25, 2015
@np np changed the title Internally, forwarder should be term Internally forwarders should be terms Oct 25, 2015
@np np added the enhancement label Oct 25, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant