Stack is:module

Access to GHC's call-stack simulation
Utilities and wrappers for Stack manipulation in JS Land. In general, functions suffixed with a tick do the actual work, functions suffixed with an I are identical to the non-I versions but work on Idents The stack in JS land is held in the special JS array 'h$stack' and the stack pointer is held in 'h$sp'. The top of the stack thus exists at 'h$stack[h$sp]'. h$stack[h$sp + i] where i > 0, moves deeper into the stack into older entries, whereas h$stack[h$sp - i] moves towards the top of the stack. The stack layout algorithm is slightly peculiar. It makes an effort to remember recently popped things so that if these values need to be pushed then they can be quickly. The implementation for this is storing these values above the stack pointer, and the pushing will skip slots that we know we will use and fill in slots marked as unknown. Thus, you may find that our push and pop functions do some non-traditional stack manipulation such as adding slots in pop or removing slots in push.
TextShow instances for CallStack and SrcLoc values. Since: 3.0.1
A widget which controls the alignment and size of its child
GtkStack is a container which only shows one of its children at a time. In contrast to GtkNotebook, GtkStack does not provide a means for users to change the visible child. Instead, a separate widget such as StackSwitcher or StackSidebar can be used with GtkStack to provide this functionality. Transitions between pages can be animated as slides or fades. This can be controlled with stackSetTransitionType. These animations respect the Settings:gtkEnableAnimations setting. GtkStack maintains a StackPage object for each added child, which holds additional per-child properties. You obtain the GtkStackPage for a child with stackGetPage and you can obtain a GtkSelectionModel containing all the pages with stackGetPages.

GtkStack as GtkBuildable

To set child-specific properties in a .ui file, create GtkStackPage objects explicitly, and set the child widget as a property on it:

xml code

<object class="GtkStack" id="stack">
<child>
<object class="GtkStackPage">
<property name="name">page1</property>
<property name="title">In the beginning…</property>
<property name="child">
<object class="GtkLabel">
<property name="label">It was dark</property>
</object>
</property>
</object>
</child>

CSS nodes

GtkStack has a single CSS node named stack.

Accessibility

GtkStack uses the AccessibleRoleTabPanel for the stack pages, which are the accessible parent objects of the child widgets.
Access to GHC's call-stack simulation
Internal monad for the resolution algorithm
  • we keep some state for the list of created values
  • we collect the applied functions as Operations
  • we might exit with a Left value if we can't build a value
Utility functions for manipulating Maybe Stacks.
Shows one of its children at a time. <picture> <source srcset="stack-dark.png" media="(prefers-color-scheme: dark)"> <img alt="An example GtkStack" src="stack.png"> </picture> In contrast to GtkNotebook, GtkStack does not provide a means for users to change the visible child. Instead, a separate widget such as StackSwitcher or StackSidebar can be used with GtkStack to provide this functionality. Transitions between pages can be animated as slides or fades. This can be controlled with stackSetTransitionType. These animations respect the Settings:gtkEnableAnimations setting. GtkStack maintains a StackPage object for each added child, which holds additional per-child properties. You obtain the GtkStackPage for a child with stackGetPage and you can obtain a GtkSelectionModel containing all the pages with stackGetPages.

GtkStack as GtkBuildable

To set child-specific properties in a .ui file, create GtkStackPage objects explicitly, and set the child widget as a property on it:

xml code

<object class="GtkStack" id="stack">
<child>
<object class="GtkStackPage">
<property name="name">page1</property>
<property name="title">In the beginning…</property>
<property name="child">
<object class="GtkLabel">
<property name="label">It was dark</property>
</object>
</property>
</object>
</child>

CSS nodes

GtkStack has a single CSS node named stack.

Accessibility

GtkStack uses the AccessibleRoleTabPanel role for the stack pages, which are the accessible parent objects of the child widgets.
Main Stack tool entry point.
The AWS::CloudFormation::Stack type nests a stack as a resource in a top-level template. You can add output values from a nested stack within the containing template. You use the GetAtt function with the nested stack's logical name and the name of the output value in the nested stack in the format Outputs.NestedStackOutputName. When you apply template changes to update a top-level stack, AWS CloudFormation updates the top-level stack and initiates an update to its nested stacks. AWS CloudFormation updates the resources of modified nested stacks, but does not update the resources of unmodified nested stacks. For more information, see AWS CloudFormation Stacks Updates.
This module gives an alternative interface to build and run monad transformer stacks. Using this approach is supposed to improve error messages and reduce errors, such as forgetting to add TransparentT at the bottom of the stack.
The assignment of virtual registers to stack slots
Deprecated: Use Prettyprinter.Render.Util.StackMachine instead.
Deprecated: Writing your own stack machine is probably more efficient and customizable; also consider using »renderSimplyDecorated(A)« instead
Definitions to write renderers based on looking at a SimpleDocStream as an instruction tape for a stack machine: text is written, annotations are added (pushed) and later removed (popped).
A widget which controls the alignment and size of its child
GtkStackPage is an auxiliary class used by GtkStack.
A GtkStackSidebar uses a sidebar to switch between GtkStack pages. In order to use a GtkStackSidebar, you simply use a GtkStack to organize your UI flow, and add the sidebar to your sidebar area. You can use stackSidebarSetStack to connect the GtkStackSidebar to the GtkStack.

CSS nodes

GtkStackSidebar has a single CSS node with name stacksidebar and style class .sidebar. When circumstances require it, GtkStackSidebar adds the .needs-attention style class to the widgets representing the stack pages.