argotorg / argotorg/solidity

Short notation for function types

Open
#1,349 6 comments 4 reactions 0 assignees View on GitHub
high impact language design :rage4: low effort must have needs design roadmap
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

Function types require quite a lot of keystrokes. The obvious shorthand is
`(uint) -> (uint)`, but our function types are more complicated than javascript's - we also need to specify internal / external, constant, payable (view, pure). Is there a good notation for these?

We could distinguish internal and external by `->` and `=>` and then something like this:

`(uint) [pure,payable]=> (uint)`

Contributor guide

Open the contributing guide

Research direction

The issue proposes shorter notation for Solidity function types, including internal or external visibility and mutability such as pure and payable. Start by reviewing the proposal and its examples, then identify the relevant parser and type-system entry points; done means an agreed notation is specified and implemented with coverage for the listed function-type combinations.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.