<commit_before>package boardgame

import (
	"encoding/json"
	"errors"
	"strconv"
)

//ImmutableBoard represents an array of growable Stacks. They're useful for
//representing spaces on a board, which may allow unlimited components to
//reside in them, or have a maxium number of occupants. If each board's space
//only allows a single item, it's often equivalent--and simpler--to just use a
//single Stack of a FixedSize. Get one from deck.NewBoard(). See also Board,
//which is the same, but adds mutator methods.
type ImmutableBoard interface {
	ImmutableSpaces() []ImmutableStack
	ImmutableSpaceAt(index int) ImmutableStack
	Len() int
	state() *state
	setState(st *state)
}

//Board represents a mutable array of growable stacks. See the documentation
//for ImmutableBoard for more.
type Board interface {
	ImmutableBoard
	Spaces() []Stack
	SpaceAt(index int) Stack<commit_msg>Tweaked documentation for ImmutableBoard. Part of #562.<commit_after>package boardgame

import (
	"encoding/json"
	"errors"
	"strconv"
)

//ImmutableBoard is a version of a Board without any of the mutator methods.
//See Board for more.
type ImmutableBoard interface {
	ImmutableSpaces() []ImmutableStack
	ImmutableSpaceAt(index int) ImmutableStack
	Len() int
	state() *state
	setState(st *state)
}

//Board represents an array of growable Stacks. They're useful for
//representing spaces on a board, which may allow unlimited components to
//reside in them, or have a maxium number of occupants. If each board's space
//only allows a single item, it's often equivalent--and simpler--to just use a
//single Stack of a FixedSize. Get one from deck.NewBoard(). See also
//ImmutableBiard, which is the same, but without mutator methods.
type Board interface {
	ImmutableBoard
	Spaces() []Stack
	SpaceAt(index int) Stack
{'fraction_non_alphanumeric': 0.08296213808463251, 'fraction_numerical': 0.0016703786191536749, 'mean_word_length': 4.495412844036697, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6548862', 'n_tokens_mistral': 528, 'n_tokens_neox': 512, 'n_words': 229}