Newbie questions about Pliant

Newbie questions about Pliant

Error while compiling modules on console program

A simple example module exporting the factorial function:
The module works fine when used in an ".page" file.
While trying to use it in a console program I've got an error.
Message posted by grings on 2004/08/16 17:04:38

I'm trying to compile a simple example module. The module exports the factorial function.

The module works fine when used in an ".page" file:
--------------------------------------
#fact.page (works)

module "./fact.pli"
title "Factorial Computation"
var Int x:=10
input "Enter a number " x
button "Compute the factorial"
  title "Result"
  [The factorial of ]; text string:x; [ is ]; text string:(factorial x)
---------------------------------------

But the program bellow doesn't compile:
---------------------------------------
#factConsole.pli (doesn't work)
module "./fact.pli"
console (factorial 10)
---------------------------------------

I've got the error:
----------------------------------------------------------------
Failed to load module ./fact.pli
compile file:factConsole.pli (internals) 2 1
compile file:factConsole.pli (internals) 2 1
compile file:factConsole.pli (internals) 2 1
compile file:factConsole.pli (internals) 2 1
parse file:factConsole.pli (internals) 3 1
module file:factConsole.pli
----------------------------------------------------------------
actions stack is:
parse file:factConsole.pli (internals) 3 1
module file:factConsole.pli
----------------------------------------------------------------
processor stack content is:
error_notify_fatal (ErrorID Str) +14
error_report +61
error_renotify (ErrorID Address Str) +41
. compile (Expression) +125
  file:factConsole.pli (internals) 2 1
parser_tag_record  /pliant/language/type/misc/tag.pli (internals) 182 1
. execute (ParserContext) +39
parser_filter_execute +240
pliant internal parse_one_token function (ParserContext) +391
compile_text (List Module) +230
pliant_load_module (Str Module Int Module) +920
??? at 134599684
----------------------------------------------------------------


Regards,

Alexandre Grings.

Message posted by hubert.tonneau on 2004/08/16 17:30:21
> module "./fact.pli"

Rather use

module "fact.pli"


Message posted by grings on 2004/08/16 18:20:04

Now I get a slightly different error message (no "./") :o) 

bash-2.05b$ pliant factConsole.pli
----------------------------------------------------------------
Failed to load module fact.pli
(...)

When trying to use it from the command line I get the same:

grings@bianca:/pliant/grings$ pliant module "fact.pli" command "console factorial:10 eol"
Failed to load module fact.pli
----------------------------------------------------------------
Failed to compile factorial   (?)

(...)

Thanks,

Alexandre Grings

Message posted by hubert.tonneau on 2004/08/16 18:24:26
> pliant module "fact.pli"

On the command line, you cannot use relative module path specification.
You need something like:

pliant module /fact.pli

Please notice the the root is not the Unix root, but the Pliant programs root,
so probably /pliant/ if you untarded Pliant at root on your Linux box.
Message posted by grings on 2004/08/16 19:05:16

The problem, as you indicated, was the relative path.

Changing the code to 

-------------------------
#factConsole.pli
module "/grings/fact.pli"  #"real" path /pliant/grings/fact.pli
console (factorial 10) eol
-------------------------

it works.

Thank you,

Alexandre Grings

Message posted by maybe wongama on 2004/09/07 08:12:13
HI! CAN YOU PLEASE SEND FOR ME A SAMPLE OF HOW TO COMPILE A FACT FILE? THANKS FOR YOUR KIND CONSIDERATION OF MY MESSAGE.
Message posted by hubert.tonneau on 2004/09/07 08:24:23
function fact x -> y
  arg Int x y
  if x=0
    y := 1
  else
    y := x*(fact x-1)

export fact



Also if you want to be abble to compute large numbers, such as (fact 1000)
you may want to change
  arg Int x y
to
  arg Intn x y
Message posted by maybe Az on 2005/06/17 12:52:55

hi 

I would appreciate on how i could resolve this, im trying to boot up but cannot do this on win xp. i have a problem withing win XP console,  it comes up with an error 7, file\i386\ntkrnlnp.exe
in advance if you can help, 

Az