motoko icon indicating copy to clipboard operation
motoko copied to clipboard

Meta-issue: Features

Open rossberg opened this issue 4 years ago • 8 comments

Small:

  • [x] Support checking mode for records (#2240)
  • [x] Remove deprecated object/block syntax (#1294)
  • [ ] Make actor{} a subtype of Principal (#2264)
  • [ ] Require type annotations on public class fields (#1290)
  • [ ] Only allow 'query' short-hand in actor fields, 'shared query' elsewhere (#741)

Medium:

  • [x] Remove Word types (#1824, #2362, #2363)
  • [x] Directed typing of operators (#853)
  • [ ] Better error messages for complex type mismatches (#2313)
  • [ ] Import patterns and type patterns (#2354)
  • [ ] do monad construct (#4980)
  • [ ] Identifier escaping (#1668)
  • [ ] Operator sections? (#816)
  • [ ] Type fields in types and records (#760)
  • [ ] Consolidate oneway methods (#950)
  • [ ] Sharable modules (#1452)
  • [x] User-defined deprecations (#2361)
  • [x] Record merging and field extension (#3072)

Large:

  • [ ] Cycles and funds (#1981, blocked)
  • [ ] Shared generics (#2096, #1655, #1500)
  • [ ] Expose serialisation primitives (#1183)
  • [x] Intersection and union types, mixins (#1841)
  • [ ] Warn against atomicity bugs? (#792)
  • [ ] Atomic sections? (#1361)
  • [ ] Effect system? (#703)
  • [ ] Define public fields through type annotations? (#2164)
  • [ ] Canister parameters (Candid/Motoko) (#1827, #2120)
  • [ ] Stable functions and objects (#707)
  • [ ] User-defined custom serialisation? (I.e. (with serialiser = Json.encode) A.foo(arg) and public (with deserialiser = ...) func foo(arg : Int) ...

rossberg avatar Feb 02 '21 14:02 rossberg

Trac really shined at making such ad-hoc lists of issues useful (by turning them into tables with metadata like status – github doesn’t even ~mark links to closed issues~ differently :-()

nomeata avatar Feb 02 '21 14:02 nomeata

Another issue worth considering: Upgrade class object in stable memory (https://github.com/dfinity/dx-triage/issues/40)

chenyan-dfinity avatar Feb 02 '21 19:02 chenyan-dfinity

The restrictions of #703 (Effect System) are already enforced, just not with a standard effect system.

crusso avatar Feb 02 '21 22:02 crusso

I believe "Canister parameters" is long done, both in Motoko and IDL - not sure about dfx? @chenyan-dfinity?

crusso avatar Feb 02 '21 23:02 crusso

dfx is also done.

$ dfx canister install --help
OPTIONS:
        --argument <argument>                        Specifies the argument to pass to the method
        --argument-type <argument-type>
            Specifies the data type for the argument when making the call using an argument
            [possible values: idl, raw]

chenyan-dfinity avatar Feb 03 '21 00:02 chenyan-dfinity

I think the open issue here is for Motoko to import .did file that contains actor class and instantiate it.

chenyan-dfinity avatar Feb 03 '21 00:02 chenyan-dfinity

Another issue worth considering: Upgrade class object in stable memory (dfinity/dx-triage#40)

Stable objects would require stable functions, so I extended that item. An alternative would be to support conversion hooks for serialisation, i.e., user-defined serialisation formats. Also added an item for that, though it's unclear how to do that.

I believe "Canister parameters" is long done

My understanding is that there still are various loose ends about did files containing such parameters, e.g., how to remove them when uploading the canister, or how to import them?

rossberg avatar Feb 03 '21 07:02 rossberg

I think the open issue here is for Motoko to import .did file that contains actor class and instantiate it.

I think that is equivalent to adding support for foreign actor classes, which was tracked here:

https://github.com/dfinity/motoko/issues/1905

With our current compilation scheme (quoting the wasm in wasm), this would require both the .did file and the actual wasm of the imported class, or some way to install/retrieve an actor class install on the system.

I don't think Andreas was a fan of foreign actor class import, should we rethink?

crusso avatar Feb 03 '21 11:02 crusso