UNPKG

jsx

Version:

a faster, safer, easier JavaScript

51 lines (41 loc) 772 B
/*EXPECTED 3 2 1 */ class Stack.<T> { var _contents : Stack.<T>.Cons; function constructor () { this._contents = null; } function push (x : T) : void { this._contents = new Stack.<T>.Cons(x, this._contents); } function pop () : T { var x = this._contents.head; this._contents = this._contents.tail; return x; } function peek () : T { return this._contents.head; } class Cons { var head : T; var tail : Stack.<T>.Cons; function constructor(head : T, tail : Stack.<T>.Cons) { this.head = head; this.tail = tail; } } } class _Main { static function main (args : string[]) : void { var stack = new Stack.<number>; stack.push(1); stack.push(2); stack.push(3); log stack.pop(); log stack.pop(); log stack.pop(); } }