Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add missing non-method ops (typer layer) #347

Merged
merged 17 commits into from
Jan 17, 2019
Merged

Add missing non-method ops (typer layer) #347

merged 17 commits into from
Jan 17, 2019

Conversation

greenhat
Copy link
Member

@greenhat greenhat commented Dec 27, 2018

#324

Close #349

Todo:

  • convert existing predefined global functions to use PredefinedFunc;
  • implement new predefined global functions (see spec);
  • fix ergo (pass network prefix to compiler);

@greenhat greenhat added the S-wip Status: Work in progress label Dec 27, 2018
@greenhat greenhat force-pushed the i324-typer-layer branch 3 times, most recently from 4ca8ea5 to a3ea5b2 Compare December 31, 2018 11:04
Copy link
Collaborator

@ergomorphic ergomorphic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments

src/main/scala/sigmastate/lang/SigmaTyper.scala Outdated Show resolved Hide resolved
src/main/scala/sigmastate/serialization/OpCodes.scala Outdated Show resolved Hide resolved
@greenhat greenhat force-pushed the i324-typer-layer branch 2 times, most recently from d859ad9 to 84899c9 Compare January 4, 2019 13:29
@greenhat greenhat added S-ready-for-merge Status: This PR is ready for merge and removed S-wip Status: Work in progress labels Jan 15, 2019
Copy link
Member

@aslesarenko aslesarenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but please see comments

src/main/scala/org/ergoplatform/ErgoAddress.scala Outdated Show resolved Hide resolved
src/main/scala/sigmastate/lang/SigmaPredef.scala Outdated Show resolved Hide resolved
src/test/scala/sigmastate/lang/SigmaParserTest.scala Outdated Show resolved Hide resolved
src/test/scala/sigmastate/lang/SigmaParserTest.scala Outdated Show resolved Hide resolved
src/test/scala/sigmastate/lang/SigmaTyperTest.scala Outdated Show resolved Hide resolved
@greenhat greenhat changed the base branch from master to v2.0 January 16, 2019 14:45
add/test (red) outerJoin in typer;

fixed types in outerJoin predef sig;
add handling Ident in ApplyTypes in typer;

add PredefinedFuncRegistry and use it in typer;
remove allOf case in CompiletimeCosting;
convert atLeast to PredefinedFunc;
change irBuilder to be PartialFunction;
switch SigmaCompilerTest to the new pipeline (with costing);

convert ZKProof to PredefinedFunc;

convert sigmaProp to PredefinedFunc;

convert getVar to PredefinedFunc;
add downcast to byte for getVar id constant value in typer;

convert PK to PredefinedFunc and move evaluation to binder;
remove sigmastate compiler from RuntimeCosting;
add detailed error on decoding ergo address with wrong network prefix;

convert deserialize to PredefinedFunc;
…ng to typer;

remove ir node building (PredefinedFunc's unwrap) from binder (handled in typer);
remove StringConcat ir node (and free up it's op code);
convert fromBaseX to PredefinedFunc's;
convert sha256 to PredefinedFunc;

convert byteArrayToBigInt, byteArrayToLong, decodePoint to PredefinedFunc;

make network prefix required in compiler;

convert longToByteArray to PredefinedFunc;

convert proveDHTuple to PredefinedFunc;
convert isMember to PredefinedFunc;

convert treeLookup to PredefinedFunc;

convert treeModifications to PredefinedFunc;

convert xorOf to PredefinedFunc;

convert substConstants to PredefinedFunc;
remove predefinedEnv in SigmaPredef;

add executeFromVar to SigmaPredef;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-ready-for-merge Status: This PR is ready for merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants