Skip to content
Discussions/App Development/DA.Math import , missing module nameForum ↗

DA.Math import , missing module name

App Development6 posts408 views2 likesLast activity Apr 2021
AM
amiracamOP
Apr 2021

recreating some of the tutorial material. on my local VS Code project I’m trying to import DA.Math
as per the DataTypes and Imports tutorial.

VSCode complains about “missing module name”

I notice that the daml.yaml has a dependency section which for me looks as such:

dependencies:

  • daml-prim
  • daml-stdlib
  • daml-script

this was generated via the java quickstart create .

Is there another dependency I should specify ?
thanks

BE
bernhard
Apr 2021

The compiler expects the header (with pragmas and imports) to be followed by a line module X where, where X needs to match your file name. So if your file is Main.daml, write module Main where.

eg if your file currently contains

import DA.Math

make it

import DA.Math

module Main where

EDIT: I obviously got the order wrong. imports go after the module declaration:

module main where

import DA.Math
AM
amiracam
Apr 2021

thanks, so I was copying in this from the tutorial:

import DA.Math

answer: Int
answer = 42
diagonal: Decimal → Decimal → Decimal
diagonal a b = (a^2 + b^2) ** 0.5

for which it complains about DA.Math

this doesnt’ work either (see below) but I expect that there must be a module terminator ? I know its white space sensitive if so you would think that should suffice ?

image

Sorry for the newbieness , want to make sure I understand the lang itself and not create contracts by robotic copy/paste.
I Googled for daml modules and could not readily find something that described the syntax and constraints, I’ll search thru the pdf I downloaded

VSCode is complaining about a parse error.
“Functions” is the name of the file

AM
amiracam
Apr 2021

looked at the generated project and given that I changed it to this:

module Functions where

import DA.Math

which no longer complains about an import issue but warns that its a redundant import perhaps part of the implicit “Prelude” dependency set ?

GA
Gary_Verhaegen
Apr 2021

“redundant” in this context means unused. If you use it, the warning should disappear. Here is a useless, minimal file that does not produce any warning:

module Main where

import DA.Math

v = DA.Math.exp
AM
amiracam
Apr 2021

right , redundant since its of no current use, makes sense.

thanks

← Back to Discussions