Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Purpose

The purpose of this page is to capture proposals of syntactic sugaring to benefit users of Rholang and to track discussion and decision-making related to these proposals.

How to use this page

All contributors welcome! Please do not remove content that you didn't author.

Proposals

ProposalDiscussionDecision

let

PLet. Proc2 ::= "let" [Binding] "in" "{" Proc3 "}";

BindingProcToPat. Binding ::= [Name] NameRemainder "<-" Proc3 ;

prototyped in PR #2055

see also RCHAIN-2641

The delimiter shown is ←; should it be =?


lambda

@ListOps!("foreach", 
          [1,2,3],
          (x, ret) => {ret!(x+1)},
          *retCh)

...would be desugared to:

new lambda1 in {
contract lambda1(x, ret) = { ret! (x+1)} |
@ListOps!("foreach",
          [1,2,3],
          lambda1,
          *retCh)
}

The desugared version is what one has to write anyway in order to use tools like ListOps.

The expressiveness of Rholang will be hugely improved.



  • No labels