Giter VIP home page Giter VIP logo

Comments (4)

stephengoldbaum avatar stephengoldbaum commented on September 28, 2024 1

The Bosque verifier expects an entry function called "main". If you rename zeroDivisionFunction to main it should work.

from legend-pure.

CptTeddy avatar CptTeddy commented on September 28, 2024

Response from post request with above to Docker container at /verify:
{ "killed": false, "code": 1, "signal": null, "cmd": "node /usr/src/app/node_modules/morphir-bsq-transpiler/bsqdep/impl/bin/runtimes/bsqcheck.js --check /usr/src/app/node_modules/morphir-bsq-transpiler/bsqdep/impl/transpile.bsq" }

from legend-pure.

CptTeddy avatar CptTeddy commented on September 28, 2024

For reference, the generated IR from the example function we created earlier:

{"formatVersion":1,"distribution":["library",[["external"],["morphir"]],[],{"modules":[{"name":[["transform"]],"def":["public",{"types":[],"values":[[["main"],["public",{"inputTypes":[[["requests"],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",41],["startColumn",1],["endLine",50],["endColumn",1]]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",41],["startColumn",1],["endLine",50],["endColumn",1]]]],[["available"],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",41],["startColumn",1],["endLine",50],["endColumn",1]]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",41],["startColumn",1],["endLine",50],["endColumn",1]]]],[["allow","partials"],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",41],["startColumn",1],["endLine",50],["endColumn",1]]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",41],["startColumn",1],["endLine",50],["endColumn",1]]]]],"outputType":["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",41],["startColumn",1],["endLine",50],["endColumn",1]]],"body":["if_then_else",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",43],["startColumn",4],["endLine",43],["endColumn",5]]],["apply",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",43],["startColumn",12],["endLine",43],["endColumn",12]]],["apply",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],["reference",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],[]],[[["morphir"],["s","d","k"]],[["basics"]],["less","than"]]],["literal",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",43],["startColumn",7],["endLine",43],["endColumn",10]]],["float_literal",0.25]]],["apply",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",43],["startColumn",24],["endLine",43],["endColumn",24]]],["apply",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],[]],["reference",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],[]],[]],[[["morphir"],["s","d","k"]],[["basics"]],["divide"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",43],["startColumn",15],["endLine",43],["endColumn",22]]],["requests"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",43],["startColumn",27],["endLine",43],["endColumn",35]]],["available"]]]],["literal",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["int"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",44],["startColumn",8],["endLine",44],["endColumn",8]]],["int_literal",0]],["if_then_else",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",45],["startColumn",8],["endLine",45],["endColumn",9]]],["apply",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",45],["startColumn",21],["endLine",45],["endColumn",21]]],["apply",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],["reference",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],[]],[[["morphir"],["s","d","k"]],[["basics"]],["less","than"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",45],["startColumn",12],["endLine",45],["endColumn",19]]],["requests"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",45],["startColumn",24],["endLine",45],["endColumn",32]]],["available"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",46],["startColumn",13],["endLine",46],["endColumn",20]]],["requests"]],["if_then_else",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",47],["startColumn",12],["endLine",47],["endColumn",13]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",47],["startColumn",16],["endLine",47],["endColumn",28]]],["allow","partials"]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",48],["startColumn",17],["endLine",48],["endColumn",25]]],["available"]],["literal",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["int"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",49],["startColumn",16],["endLine",49],["endColumn",16]]],["int_literal",0]]]]]}]]]}]}]}]}

which comes from Pure function:

function meta::external::language::morphir::transform::tests::getRentals(requests: Number[1], available: Number[1], allowPartials: Boolean[1]): Number[1]
{
   if(0.25 < $requests / $available,
      |0,
      |if($requests < $available,
         |$requests,
         |if($allowPartials,
            |$available,
            |0)))
}

from legend-pure.

CptTeddy avatar CptTeddy commented on September 28, 2024

Updated example:

{"formatVersion":1,"distribution":["library",[["external"],["morphir"]],[],{"modules":[{"name":[["transform"]],"def":["public",{"types":[],"values":[[["main"],["public",{"inputTypes":[[["requests"],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",52],["startColumn",1],["endLine",60],["endColumn",1]]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",52],["startColumn",1],["endLine",60],["endColumn",1]]]],[["available"],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",52],["startColumn",1],["endLine",60],["endColumn",1]]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",52],["startColumn",1],["endLine",60],["endColumn",1]]]],[["allow","partials"],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",52],["startColumn",1],["endLine",60],["endColumn",1]]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",52],["startColumn",1],["endLine",60],["endColumn",1]]]]],"outputType":["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",52],["startColumn",1],["endLine",60],["endColumn",1]]],"body":["let_definition",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",4],["endLine",54],["endColumn",6]]],["maximum","allowed"],{"inputTypes":[],"outputType":["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],"body":["if_then_else",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",25],["endLine",54],["endColumn",26]]],["apply",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",33],["endLine",54],["endColumn",33]]],["apply",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],["reference",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],[]],[[["morphir"],["s","d","k"]],[["basics"]],["less","than"]]],["literal",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",29],["endLine",54],["endColumn",31]]],["float_literal",0.5]]],["apply",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",45],["endLine",54],["endColumn",45]]],["apply",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],[]],["reference",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],[]],[]],[[["morphir"],["s","d","k"]],[["basics"]],["divide"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",36],["endLine",54],["endColumn",43]]],["requests"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",48],["endLine",54],["endColumn",56]]],["available"]]]],["apply",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",72],["endLine",54],["endColumn",72]]],["apply",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],[]],["reference",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],[]],[]],[[["morphir"],["s","d","k"]],[["basics"]],["divide"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",62],["endLine",54],["endColumn",70]]],["available"]]],["literal",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",74],["endLine",54],["endColumn",74]]],["float_literal",2]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",54],["startColumn",80],["endLine",54],["endColumn",87]]],["requests"]]]},["if_then_else",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",55],["startColumn",4],["endLine",55],["endColumn",5]]],["apply",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",55],["startColumn",17],["endLine",55],["endColumn",17]]],["apply",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],["reference",["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["function",{},["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],[]],["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],[]],[]],[]],[[["morphir"],["s","d","k"]],[["basics"]],["less","than"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",55],["startColumn",8],["endLine",55],["endColumn",15]]],["requests"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",55],["startColumn",20],["endLine",55],["endColumn",33]]],["maximum","allowed"]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",56],["startColumn",9],["endLine",56],["endColumn",16]]],["requests"]],["if_then_else",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",57],["startColumn",8],["endLine",57],["endColumn",9]]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["bool"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",57],["startColumn",12],["endLine",57],["endColumn",24]]],["allow","partials"]],["variable",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",58],["startColumn",13],["endLine",58],["endColumn",26]]],["maximum","allowed"]],["literal",["reference",{},[[["morphir"],["s","d","k"]],[["basics"]],["float"]],[],["sourceInformation",["source","\/core\/external\/language\/morphir\/tests\/transformAndSerializeTests.pure"],["startLine",59],["startColumn",12],["endLine",59],["endColumn",14]]],["float_literal",0.0]]]]]}]]]}]}]}]}

which comes from Pure function:

function meta::external::language::morphir::transform::tests::getRentalsTwo(requests: Number[1], available: Number[1], allowPartials: Boolean[1]):Number[1]
{
    let maximumAllowed = if (0.5 < $requests / $available, | $available / 2, | $requests);
    if($requests < $maximumAllowed,
      |$requests,
      |if($allowPartials,
        |$maximumAllowed,
        |0.0));
}

from legend-pure.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.