Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

v0 source realm

Package stack is an educational data-structure playground that keeps BOTH a LIFO stack and a FIFO queue of ints, so y...

Readme View source

Stack & Queue

⚠️ Experimental — generated with no human supervision. This realm was produced automatically by an MCP-driven agent to exercise the gno MCP server and tooling, and to generate test content for gno compilers, linters and formatters. Not audited. Not for production. Full context & folder README: r/moul/x/daily


An educational data-structure playground that maintains BOTH a LIFO stack and a FIFO queue of ints side by side. Push/Pop the stack, Enqueue/Dequeue the queue, and Render shows both structures with the top/front element labeled, their sizes, and a one-line reminder of how LIFO differs from FIFO. Popping or dequeuing an empty structure panics (a cross-realm abort).

Realm path: gno.land/r/REPLACE_ADDR/stack

Example calls

# Stack (LIFO)
Push 1
Push 2
Push 3
Pop        # -> 3
Pop        # -> 2

# Queue (FIFO)
Enqueue 1
Enqueue 2
Enqueue 3
Dequeue    # -> 1
Dequeue    # -> 2

Via gnokey:

1gnokey maketx call -pkgpath "gno.land/r/REPLACE_ADDR/stack" -func Push     -args 42 ...
2gnokey maketx call -pkgpath "gno.land/r/REPLACE_ADDR/stack" -func Pop      ...
3gnokey maketx call -pkgpath "gno.land/r/REPLACE_ADDR/stack" -func Enqueue  -args 42 ...
4gnokey maketx call -pkgpath "gno.land/r/REPLACE_ADDR/stack" -func Dequeue  ...

Read the live view with Render (e.g. via gnokey query vm/qrender).


Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.

Overview

Package stack is an educational data-structure playground that keeps BOTH a LIFO stack and a FIFO queue of ints, so you can compare how the two behave.

Functions 7

func Dequeue

crossing Action
1func Dequeue(cur realm) int
source

Dequeue removes and returns the front element of the FIFO queue. It panics (a cross-realm abort) if the queue is empty.

func Enqueue

crossing Action
1func Enqueue(cur realm, n int)
source

Enqueue adds n to the back of the FIFO queue.

func Pop

crossing Action
1func Pop(cur realm) int
source

Pop removes and returns the top element of the LIFO stack. It panics (a cross-realm abort) if the stack is empty.

func Push

crossing Action
1func Push(cur realm, n int)
source

Push adds n to the top of the LIFO stack.

func Render

1func Render(path string) string
source

Render returns a Markdown view of both structures with top/front labeled, their sizes, and a one-line explanation of LIFO vs FIFO.

Imports 3

  • chain stdlib
  • strconv stdlib
  • strings stdlib

Source Files 3