Skip to content

Commit 1eb5ede

Browse files
committed
remove completed items
1 parent 76bf112 commit 1eb5ede

File tree

1 file changed

+2
-91
lines changed

1 file changed

+2
-91
lines changed

ROADMAP.md

+2-91
Original file line numberDiff line numberDiff line change
@@ -6,51 +6,16 @@ listed in no particular order.
66

77
## High Priority
88

9-
- Reliability
10-
11-
Cadence should run deterministically, and should not have crashers, stack overflows, or security issues.
12-
139
- Performance
1410

15-
Cadence's checker is currently not optimized for performance.
16-
We are making performance improvements, mainly by profiling it using real-world programs
17-
and optimizing hot paths, as well as avoiding unnecessary work (e.g. tracking position information).
18-
1911
Cadence programs are also currently executed using a tree-walking interpreter,
2012
which is easy to modify and useful for debugging. However, it is not optimized for performance.
2113
We are investigating compilation to improve performance.
2214
Potential targets / inspirations are WebAssembly, MoveVM, and IELE.
2315

24-
## Lower Priority
25-
26-
- [Testing of Cadence programs](https://github.com/onflow/cadence/issues/330)
27-
28-
Cadence should provide means to test code.
29-
30-
- Storage API
31-
32-
- [Storage querying API](https://github.com/onflow/cadence/issues/208)
33-
34-
Cadence should provide an API to query/iterate over account storage.
35-
36-
- [Storage API improvements](https://github.com/onflow/cadence/issues/376)
16+
- Standard Library
3717

38-
Cadence should provide APIs to overwrite and remove stored values.
39-
40-
- [Scripts should have access to authorized accounts](https://github.com/onflow/cadence/issues/539)
41-
42-
43-
- Extensibility
44-
45-
Cadence should provide means to extend existing types with additional functionality
46-
even when those types did not explicitly provide mechanisms to do so.
47-
This would be very useful and would increase future-proofing code.
48-
49-
However, it might have a negative impact on explicitness/discoverability,
50-
i.e it might be hard for a user to understand where a definition originates from
51-
if it wasn't defined in the type's original set of functions.
52-
It might also have system and security implications.
53-
A solution needs to take these issues into account.
18+
## Lower Priority
5419

5520
- Host interface
5621

@@ -70,19 +35,10 @@ listed in no particular order.
7035

7136
Cadence should offer a tool that generates human-readable documentation for programs.
7237

73-
- Improving type inference
74-
75-
- [Improve the inferred type of conditional statements and expressions](http://github.com/onflow/cadence/issues/61),
76-
binary expressions and literal expressions (e.g. arrays and dictionaries).
77-
7838
- Type aliases
7939

8040
Cadence should provide a way to define type aliases.
8141

82-
- `Word128` and `Word256` types
83-
84-
Cadence should provide `Word128` and `Word256` types, just like it provides `UInt128` and `UInt256`
85-
8642
- ABI generation and code generation
8743

8844
Cadence should offer a tool to generate an ABI file, a description
@@ -96,12 +52,6 @@ listed in no particular order.
9652
From an ABI source code could be generated that would allow client libraries
9753
to call Cadence programs in a type-safe way.
9854

99-
- Code size reduction
100-
101-
Cadence programs are currently stored in source code form on-chain.
102-
103-
Cadence should offer a more efficient format that is optimized for size and read time.
104-
10555
- Allow import statements to specify the hash of the imported contract
10656

10757
Cadence programs can import other programs.
@@ -152,20 +102,6 @@ listed in no particular order.
152102

153103
Cadence should provide an XOR operator (`^`): logical for booleans and bitwise for integers.
154104

155-
- Debugger
156-
157-
Cadence should offer a debugger, which would assist developers with debugging issues.
158-
159-
This could be done as a command line tool, potentially integrated into the command line runner
160-
and/or REPL.
161-
162-
Another opportunity could be implementing the debugger as a server process
163-
that implements the
164-
[Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/),
165-
which would allow multiple editors to debug Cadence programs,
166-
just like the language server implements the Language Server Protocol
167-
to allow different editors to provide editing features for Cadence code.
168-
169105
- Loose mode / Gradual typing
170106

171107
Cadence should have a mode that does not require type annotations and which performs
@@ -223,12 +159,6 @@ listed in no particular order.
223159

224160
Optimize the performance by reducing the number of actual copies through copy-on-write.
225161

226-
- Interface requirements
227-
228-
Cadence should allow interfaces to require conforming types to also conform to other interfaces,
229-
e.g. the interface declaration `interface I3: I1, I2 {}` requires conforming types
230-
to also conform to interfaces `I1` and `I2`.
231-
232162
- Built-in types to work with timestamps and durations
233163

234164
Cadence should offer two new built in types: `Timestamp` and `Duration`,
@@ -257,13 +187,6 @@ listed in no particular order.
257187
might be useful in the blocktime field,
258188
given that the block rate might be >1 block/sec at some point.
259189

260-
- Exposing entropy, safe random functionality
261-
262-
Cadence should provide a way to get safe random numbers.
263-
264-
This could potentially be based on a callback mechanism,
265-
which depends on contexts and a service chunk in the block.
266-
267190
- Re-entrancy
268191

269192
Cadence should provide means to prevent re-entrancy attacks.
@@ -296,19 +219,7 @@ listed in no particular order.
296219

297220
- [Support more code-suggestions/auto-completions](https://github.com/onflow/cadence/issues/531)
298221

299-
- [Make the Crypto contract compatible with Ethereum](https://github.com/onflow/cadence/issues/537)
300-
301-
Cadence should offer a mechanism to verify an Ethereum signature, ideally a personal signed message.
302-
303-
For this to be possible, the Crypto contract needs support for the Keccak hashing algorithm,
304-
and the signature verification method must allow providing a custom tag,
305-
e.g. the Ethereum personal signed message prefix.
306-
307222
- Extend paths
308223

309224
Cadence should [allow values like types, numbers, and addresses to be included in paths](https://github.com/onflow/cadence/issues/538).
310225
Currently paths only consist of a domain and an identifier.
311-
312-
- Extend run-time types
313-
314-
Cadence should [allow run-time types to be tested for subtyping relationships](https://github.com/onflow/cadence/issues/473)

0 commit comments

Comments
 (0)