Archived web site of the Workshop on the Atlas of Lie Groups and Representations, Salt Lake City, July 10–21, 2017. All Atlas workshops

Computer input/output: vanLeeuwen3.out

Back

[marc@Pleiona ~/atlas/atlas-scripts]$ atlas
This is 'atlas' (version 1.0.6, axis language version 0.9.5),
the Atlas of Lie Groups and Representations interpreter,
compiled on Jul 12 2017 at 15:28:00.   http://www.liegroups.org/
atlas> <all
atlas> <std_decs.at 
Starting to read from file '/home/marc/atlas/atlas-scripts/std_decs.at'.
  Declaring identifier 'v': vec
  Declaring identifier 'M': mat
  Declaring identifier 'A': mat
  Declaring identifier 'B': mat
  Declaring identifier 'P': mat
  Declaring identifier 'roots': mat
  Declaring identifier 'coroots': mat
  Declaring identifier 'rd': RootDatum
  Declaring identifier 'alpha': vec
  Declaring identifier 'beta': vec
  Declaring identifier 'alpha_v': vec
  Declaring identifier 'beta_v': vec
  Declaring identifier 'delta': mat
  Declaring identifier 'xi': mat
  Declaring identifier 'ic': InnerClass
  Declaring identifier 'g': ratvec
  Declaring identifier 'G': RealForm
  Declaring identifier 'kgb': [KGBElt]
  Declaring identifier 'gamma': ratvec
  Declaring identifier 'lambda': ratvec
  Declaring identifier 'mu': vec
  Declaring identifier 'nu': ratvec
  Declaring identifier 'x': KGBElt
  Declaring identifier 'y': KGBElt
  Declaring identifier 'rho': ratvec
  Declaring identifier 'rho_check': ratvec
  Declaring identifier 'theta': mat
  Declaring identifier 'p': Param
  Declaring identifier 'q': Param
  Declaring identifier 'block': [Param]
  Declaring identifier 'P': ParamPol
  Declaring identifier 'w': (RootDatum,[int])
Completely read file '/home/marc/atlas/atlas-scripts/std_decs.at'.
atlas> <std_decs.at 
atlas> <<std_decs.at 
Starting to read from file '/home/marc/atlas/atlas-scripts/std_decs.at'.
  Declaring identifier 'v': vec
  Declaring identifier 'M': mat
  Declaring identifier 'A': mat
  Declaring identifier 'B': mat
  Declaring identifier 'P': mat
  Declaring identifier 'roots': mat
  Declaring identifier 'coroots': mat
  Declaring identifier 'rd': RootDatum
  Declaring identifier 'alpha': vec
  Declaring identifier 'beta': vec
  Declaring identifier 'alpha_v': vec
  Declaring identifier 'beta_v': vec
  Declaring identifier 'delta': mat
  Declaring identifier 'xi': mat
  Declaring identifier 'ic': InnerClass
  Declaring identifier 'g': ratvec
  Declaring identifier 'G': RealForm
  Declaring identifier 'kgb': [KGBElt]
  Declaring identifier 'gamma': ratvec
  Declaring identifier 'lambda': ratvec
  Declaring identifier 'mu': vec
  Declaring identifier 'nu': ratvec
  Declaring identifier 'x': KGBElt
  Declaring identifier 'y': KGBElt
  Declaring identifier 'rho': ratvec
  Declaring identifier 'rho_check': ratvec
  Declaring identifier 'theta': mat
  Declaring identifier 'p': Param
  Declaring identifier 'q': Param
  Declaring identifier 'block': [Param]
  Declaring identifier 'P': ParamPol
  Declaring identifier 'w': (RootDatum,[int])
Completely read file '/home/marc/atlas/atlas-scripts/std_decs.at'.
atlas> <<all.at 
Starting to read from file '/home/marc/atlas/atlas-scripts/all.at'.
Completely read file '/home/marc/atlas/atlas-scripts/all.at'.
atlas> <all
atlas> <sudoku.ax
Starting to read from file '/home/marc/atlas/atlas-scripts/sudoku.ax'.
  Defined filter: ([int]->((int->bool)->[int]))
  Defined choice: (int,int,int->int)
  Defined name_choice: (int->string)
  Defined constraint0_of_choice: (int->int)
  Defined choice_of_constraint0: (int,int->int)
  Defined name_constraint0: (int->string)
  Defined constraint1_of_choice: (int->int)
  Defined choice_of_constraint1: (int,int->int)
  Defined name_constraint1: (int->string)
  Defined constraint2_of_choice: (int->int)
  Defined choice_of_constraint2: (int,int->int)
  Defined name_constraint2: (int->string)
  Defined constraint3_of_choice: (int->int)
  Defined choice_of_constraint3: (int,int->int)
  Defined name_constraint3: (int->string)
  Variable co_of_ch: [(int->int)]
  Variable ch_of_co: [(int,int->int)]
  Variable name_co: [(int->string)]
  Type name 'game_interface' defined as ((int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->))
    with projectors: available, covered, options, opt_count, level, board, moves, best, choose, unchoose.
  Defined setup_grid: (mat->(int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->))
  Added definition [4] of solve: ((int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->)->[mat])
  Declaring identifier 'game': ((int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->))
  Defined start: (mat->)
  Defined place: (int,int,int->)
  Added definition [2] of step: (int->bool)
  Defined advance: (int->int)
  Added definition [2] of advance: ([int]->int)
  Defined backup: (int->)
  Defined suggest: (->)
  Variable A: mat (overriding previous instance, which had type mat)
  Variable hard_one: mat
Completely read file '/home/marc/atlas/atlas-scripts/sudoku.ax'.
atlas> <<sudoku.ax
Starting to read from file '/home/marc/atlas/atlas-scripts/sudoku.ax'.
  Redefined filter: ([int]->((int->bool)->[int]))
  Redefined choice: (int,int,int->int)
  Redefined name_choice: (int->string)
  Redefined constraint0_of_choice: (int->int)
  Redefined choice_of_constraint0: (int,int->int)
  Redefined name_constraint0: (int->string)
  Redefined constraint1_of_choice: (int->int)
  Redefined choice_of_constraint1: (int,int->int)
  Redefined name_constraint1: (int->string)
  Redefined constraint2_of_choice: (int->int)
  Redefined choice_of_constraint2: (int,int->int)
  Redefined name_constraint2: (int->string)
  Redefined constraint3_of_choice: (int->int)
  Redefined choice_of_constraint3: (int,int->int)
  Redefined name_constraint3: (int->string)
  Variable co_of_ch: [(int->int)] (overriding previous instance, which had type [(int->int)])
  Variable ch_of_co: [(int,int->int)] (overriding previous instance, which had type [(int,int->int)])
  Variable name_co: [(int->string)] (overriding previous instance, which had type [(int->string)])
  Type name 'game_interface' redefined as ((int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->))
    with projectors: available, covered, options, opt_count, level, board, moves, best, choose, unchoose.
  Redefined setup_grid: (mat->(int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->))
  Redefined solve: ((int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->)->[mat])
  Declaring identifier 'game': ((int->bool),(int,int->bool),(int,int->[int]),(int,int->int),(->int),(->mat),(->vec),(int->int,int),(int->),(->))
  Redefined start: (mat->)
  Redefined place: (int,int,int->)
  Redefined step: (int->bool)
  Redefined advance: (int->int)
  Redefined advance: ([int]->int)
  Redefined backup: (int->)
  Redefined suggest: (->)
  Variable A: mat (overriding previous instance, which had type mat)
  Variable hard_one: mat (overriding previous instance, which had type mat)
Completely read file '/home/marc/atlas/atlas-scripts/sudoku.ax'.
atlas> >bla.out 3^3
atlas> <bla.out
Starting to read from file '/home/marc/atlas/atlas-scripts/bla.out'.
  Variable Value: int
Completely read file '/home/marc/atlas/atlas-scripts/bla.out'.
atlas> set x=7
Variable x: int (overriding previous instance, which had type KGBElt)
atlas> 4>x
Value: false
atlas> =5
Value: false
atlas> =0
Value: true
atlas> =SL(2,R)
Error in expression =(SL(2,R)) at <standard input>:15:0-8
  Failed to match '=' with argument type RealForm
Expression analysis failed
atlas> set succ (int n) = 
= > n+
+ > 1
Defined succ: (int->int)
atlas> (
( > [
([ > )
     ^
syntax error, unexpected ')', expecting '|'
atlas> for i:10
G > end
    ^^^
syntax error, unexpected END, expecting DO
atlas> (set
( > ]
    ^
syntax error, unexpected ']', expecting IDENT or '(' or '!'
atlas> set f(int n,vec v)= n*v
Defined f: (int,vec->[int])
atlas> set f(int n,vec v)= vec: n*v
Redefined f: (int,vec->vec)
atlas> set f(int n,vec v)= void: n*v
Redefined f: (int,vec->)
atlas> set f(int n,vec v)= vec: if n<0 then error("Halt") else n*v fi
Redefined f: (int,vec->vec)
atlas> f(-3,[])
Error during analysis of expression at <standard input>:30:0-8
Type error:
  Subexpression (-(3),[]) at <standard input>:30:1-8
  has wrong type: found (int,[*]) while (int,vec) was needed.
Expression analysis failed
atlas> f(-3,[3])
Runtime error:
  Halt
(in call at <standard input>:29:37-50 of error@string, built-in)
  [n=-3, v=[ 3 ]]
(in call at <standard input>:31:0-9 of f@(int,vec), defined at <standard input>:29:4-62)
Evaluation aborted.
atlas> set f(int n,vec v)= vec: if n<0 then n else n*v fi
Error during analysis of expression at <standard input>:32:4-50
Type error:
  Subexpression n at <standard input>:32:37-38
  has wrong type: found int while vec was needed.
Expression analysis failed
  Command 'set f' not executed, nothing defined.
atlas> set f(int n,vec v)= vec: if n>=0 then v := n*v fi; v
Redefined f: (int,vec->vec)
atlas> set f(int n,vec v)= vec: if n>=0 then v := n*v fi
Error during analysis of expression at <standard input>:34:4-49
Type error:
  Subexpression () at <standard input>:34:28-49
  has wrong type: found void while vec was needed.
Expression analysis failed
  Command 'set f' not executed, nothing defined.
atlas> set arg = (3, vec:[3,4])
Variable arg: (int,vec)
atlas> f(arg)
Value: [  9, 12 ]
atlas> arg.f
Value: [  9, 12 ]
atlas> let x=3 in x^x
Value: 27
atlas> let x=3
L > in
I > 4*x
Value: 12
atlas> x
Value: 7
atlas> forget x
Identifier 'x' forgotten
atlas> let x=3 in 4*x
Value: 12
atlas> x
Error during analysis of expression at <standard input>:45:0-1
  Undefined identifier 'x'
Expression analysis failed
atlas> let x=3
L > ]
    ^
syntax error, unexpected ']', expecting IN or THEN or ','
atlas> set x=3
Variable x: int
atlas> let x=3
L > ?
    ^
syntax error, unexpected '?', expecting IN or THEN or ','
atlas> set f (int n) = int: if n=2 then 0 else 1 fi
Added definition [2] of f: (int->int)
atlas> f(5)
Value: 1
atlas> set f (int n) = int: if n=2 then 0 fi
Error during analysis of expression at <standard input>:53:4-37
Type error:
  Subexpression () at <standard input>:53:24-37
  has wrong type: found void while int was needed.
Expression analysis failed
  Command 'set f' not executed, nothing defined.
atlas> set f (int n) = void: if n=2 then 0 fi
Redefined f: (int->)
atlas> set fac (int n) = let p=1 in while n>0 do p:=p*n; n:=n-1 od; p
Defined fac: (int->int)
atlas> fac(5)
Value: 120
atlas> fac(100)
Value: 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
atlas> set fac (int !n) = let p=1 in while n>0 do p:=p*n; n:=n-1 od; p
Error during analysis of expression at <standard input>:58:4-63
  Name 'n' is constant in assignment n:=-(n,1)
Expression analysis failed
  Command 'set fac' not executed, nothing defined.
atlas> let (a,b):pair = (2,5) in a+:=7 ; (a,b,pair)
Value: (9,5,(2,5))
atlas> [1,2,3]
Value: [1,2,3]
atlas> ["x","","long string"]
Value: ["x","","long string"]
atlas> whattype $ ?
                  ^
syntax error, unexpected '?', expecting '\n'
atlas> whattype $ 
type: [string]
atlas> $[2]
Value: "long string"
atlas> set a = #33
Variable a: [int]
atlas> a
Value: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]
atlas> a[5]:=8
Value: 8
atlas> a
Value: [0,1,2,3,4,8,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]
atlas> let a=0, b=1 in for :99 do a next set (a,b):=(b,a+b) od # b
Value: [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903,2971215073,4807526976,7778742049,12586269025,20365011074,32951280099,53316291173,86267571272,139583862445,225851433717,365435296162,591286729879,956722026041,1548008755920,2504730781961,4052739537881,6557470319842,10610209857723,17167680177565,27777890035288,44945570212853,72723460248141,117669030460994,190392490709135,308061521170129,498454011879264,806515533049393,1304969544928657,2111485077978050,3416454622906707,5527939700884757,8944394323791464,14472334024676221,23416728348467685,37889062373143906,61305790721611591,99194853094755497,160500643816367088,259695496911122585,420196140727489673,679891637638612258,1100087778366101931,1779979416004714189,2880067194370816120,4660046610375530309,7540113804746346429,12200160415121876738,19740274219868223167,31940434634990099905,51680708854858323072,83621143489848422977,135301852344706746049,354224848179261915075]
atlas> quit
Bye.
[marc@Pleiona ~/atlas/atlas-scripts]$