FORTRAN SOFTWARE CATALOG

Repository owner: ZUO Zhihua (zoziha)

slinked-list

Generic singly linked list with reusable storage for small datasets.

Repository · Pinned source (aa04fcb39246) · Try in playground · Checked package example

GAMS classifications

About this package

Category
Data structures
License
MIT

Topics: containers, data-structures, fortran, fortran-package-manager, linked-list, linked-lists, polymorphism, singly-linked-list

Classification scope and review notes

Generic singly linked list for small datasets. The main checks integer and real payloads in insertion order, list size, iteration count, emptying, retained capacity and the value stored after reuse; iterator and list cleanup are explicit. A checksum-guarded compatibility edit removes PURE from node_init, whose result has a polymorphic allocatable component. Constructor allocation and copying are unchanged, and the call sites are impure. This patched root retains its own small archive instead of sharing an unmodified graph export. No display dependency is needed for the custom consumer. Large-data performance, all mutation operations and ownership of pointer-containing derived types are not validated.

Package dependencies

Resolved GitHub repositories used by the verified playground build, combining direct and indirect dependencies. This list does not describe internal module dependencies or native system libraries.

Required by this build

No additional GitHub package dependencies were recorded for this verified build.

Build record verified 2026-10-29.

Used by (0 selected packages)

No other selected build records this repository as a dependency. This is not a measure of usage outside the catalog.

Reviewed procedures

These mappings have pinned source evidence. A checked package example may exercise only some of them; source review is not a numerical benchmark.

sll%push_back / empty / size / iterator%next

Module: sll_module

N4

N4: verified

Derivatives / callbacks: not applicable

Generic singly linked list for small datasets. The main checks integer and real payloads in insertion order, list size, iteration count, emptying, retained capacity and the value stored after reuse; iterator and list cleanup are explicit. A checksum-guarded compatibility edit removes PURE from node_init, whose result has a polymorphic allocatable component. Constructor allocation and copying are unchanged, and the call sites are impure. This patched root retains its own small archive instead of sharing an unmodified graph export. No display dependency is needed for the custom consumer. Large-data performance, all mutation operations and ownership of pointer-containing derived types are not validated. Dedicated N4 driver: 20 heterogeneous linked-list cycles checking exact typed values and insertion order, replacing dynamic types in retained nodes, retained capacity, iterator exhaustion, empty/reuse and explicit finalization. Empty-list iterator creation and mutation during iteration unverified.

Pinned source: src/sll_linked_list.f90 · src/sll_iterator.f90 · src/sll_node.f90

Author examples/tests: example/example_reuse.f90

Load checked GAMS driver: gams-linked-list-reference