dfinity / motoko

Simple high-level language for writing Internet Computer canisters
Apache License 2.0
510 stars 97 forks source link

Meta-issue: Features #2303

Open rossberg opened 3 years ago

rossberg commented 3 years ago

Small:

Medium:

Large:

nomeata commented 3 years ago

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 :-()

chenyan-dfinity commented 3 years ago

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

crusso commented 3 years ago

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

crusso commented 3 years ago

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

chenyan-dfinity commented 3 years ago

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 commented 3 years ago

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

rossberg commented 3 years ago

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?

crusso commented 3 years ago

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?