Tcl is a Swift overlay over the embedded Tcl scripting language C interpreter library, exposing its constants and bindings on macOS. Use it to create and drive an interpreter through Tcl_Interp, work with Tcl values and objects via Tcl_Obj, Tcl_ObjType, and Tcl_Value, and manage scripting state with structures such as Tcl_Namespace, Tcl_CallFrame, Tcl_HashTable, and Tcl_DString. The overlay also surfaces lower-level facilities including regular-expression matching (Tcl_RegExpInfo, Tcl_RegExpIndices), command parsing (Tcl_Token, Tcl_Parse), channels and filesystems (Tcl_ChannelType, Tcl_Filesystem, Tcl_GlobTypeData), and the stub tables (TclStubs, TclPlatStubs, TclTomMathStubs) that bind to the C library.
Interpreter and Commands 4
The core interpreter state and command-registration structures that drive Tcl script execution.
- StTcl_InterpA structure that represents a Tcl interpreter instance used to evaluate scripts and hold execution state.
- StTcl_CmdInfoA structure that describes a registered Tcl command, including its callbacks and client data.
- StTcl_SavedResultA structure that preserves and later restores an interpreter's result during nested evaluation.
- StTcl_ConfigA structure that describes a configuration key-value pair embedded in a package or module.
Values and Objects 5
Reference-counted Tcl value objects and the type descriptors and numeric values that back them.
- StTcl_ObjA reference-counted Tcl value object that holds a string representation and a typed internal representation.
- StTcl_ObjTypeA structure that describes a Tcl object type, including its conversion and lifecycle procedures.
- StTcl_ValueA structure that holds a numeric value passed to or returned from a Tcl math function.
- StTcl_ValueTypeAn enumeration of the numeric kinds a Tcl_Value can hold, such as integer, double, or wide integer.
- Stmp_intA multiple-precision integer structure used by Tcl's arbitrary-precision arithmetic support.
Namespaces and Call Frames 2
Structures that represent scripting scope, namespaces, and the procedure call stack.
- StTcl_NamespaceA structure that represents a Tcl namespace and its commands, variables, and child namespaces.
- StTcl_CallFrameA structure that represents a single frame on the Tcl procedure call stack.
Hash Tables and Dictionaries 5
The associative-storage structures used for Tcl hash tables and dictionary iteration.
- StTcl_HashTableA structure that implements a Tcl hash table mapping keys to entries.
- StTcl_HashEntryA structure that represents a single key-value entry within a Tcl hash table.
- StTcl_HashKeyTypeA structure that describes how a hash table hashes, compares, and manages its keys.
- StTcl_HashSearchA structure that holds the state needed to iterate over the entries of a Tcl hash table.
- StTcl_DictSearchA structure that holds the state needed to iterate over the entries of a Tcl dictionary.
String Buffers 1
The dynamic string buffer used to accumulate and build text efficiently.
- StTcl_DStringA dynamic string buffer that grows automatically as text is appended.
Script Parsing 2
Structures that describe parsed command tokens and parse results.
- StTcl_TokenA structure that describes a single lexical token produced by parsing a Tcl command.
- StTcl_ParseA structure that holds the results of parsing a Tcl command into its tokens.
Regular Expressions 2
Structures that report regular-expression match results and subexpression indices.
- StTcl_RegExpInfoA structure that reports the results of a regular-expression match, including matched ranges.
- StTcl_RegExpIndicesA structure that holds the start and end indices of a matched regular-expression subexpression.
Channels, Filesystems, and Encodings 5
I/O channel, virtual filesystem, path, glob, and text-encoding descriptors.
- StTcl_ChannelTypeA structure that defines the behavior of a Tcl I/O channel through its driver procedures.
- StTcl_FilesystemA structure that defines a virtual filesystem by providing its path and file operations.
- StTcl_PathTypeAn enumeration that classifies a Tcl path as absolute, relative, or volume-relative.
- StTcl_GlobTypeDataA structure that specifies the file types and attributes used to filter a glob match.
- StTcl_EncodingTypeA structure that describes a text encoding and its conversion procedures.
Events and Notification 4
The event-loop, timing, and notifier structures that drive asynchronous Tcl processing.
- StTcl_EventA structure that represents an event queued for processing in the Tcl event loop.
- StTcl_QueuePositionAn enumeration that specifies where an event is inserted into the Tcl event queue.
- StTcl_TimeA structure that represents a point in time with seconds and microseconds for Tcl timers.
- StTcl_NotifierProcsA structure that holds the procedures implementing a custom Tcl event notifier.
Stub Tables 4
The function-pointer stub tables that bind the overlay to the embedded Tcl C library.
- StTclStubsA function-pointer table that exposes the core Tcl C library API to the overlay.
- StTclPlatStubsA function-pointer table that exposes platform-specific Tcl C library functions.
- StTclTomMathStubsA function-pointer table that exposes Tcl's bundled multiple-precision math library functions.
- StTclStubHooksA structure that links the core Tcl stub table to its platform and math stub tables.
Type Aliases 127
- TyClientData
- TyTcl_WideInt
- TyTcl_WideUInt
- TyTcl_AsyncHandler
- TyTcl_Channel
- TyTcl_ChannelTypeVersion
- TyTcl_Command
- TyTcl_Condition
- TyTcl_Dict
- TyTcl_EncodingState
- TyTcl_Encoding
- TyTcl_InterpState
- TyTcl_LoadHandle
- TyTcl_Mutex
- TyTcl_Pid
- TyTcl_RegExp
Show 111 more
- TyTcl_ThreadDataKey
- TyTcl_ThreadId
- TyTcl_TimerToken
- TyTcl_Trace
- TyTcl_Var
- TyTcl_ThreadCreateProc
- TyTcl_Stat_
- TyTcl_OldStat_
- TyTcl_AppInitProc
- TyTcl_AsyncProc
- TyTcl_ChannelProc
- TyTcl_CloseProc
- TyTcl_CmdDeleteProc
- TyTcl_CmdProc
- TyTcl_CmdTraceProc
- TyTcl_CmdObjTraceProc
- TyTcl_CmdObjTraceDeleteProc
- TyTcl_DupInternalRepProc
- TyTcl_EncodingConvertProc
- TyTcl_EncodingFreeProc
- TyTcl_EventProc
- TyTcl_EventCheckProc
- TyTcl_EventDeleteProc
- TyTcl_EventSetupProc
- TyTcl_ExitProc
- TyTcl_FileProc
- TyTcl_FileFreeProc
- TyTcl_FreeInternalRepProc
- TyTcl_FreeProc
- TyTcl_IdleProc
- TyTcl_InterpDeleteProc
- TyTcl_MathProc
- TyTcl_NamespaceDeleteProc
- TyTcl_ObjCmdProc
- TyTcl_PackageInitProc
- TyTcl_PackageUnloadProc
- TyTcl_TcpAcceptProc
- TyTcl_TimerProc
- TyTcl_SetFromAnyProc
- TyTcl_UpdateStringProc
- TyTcl_VarTraceProc
- TyTcl_CommandTraceProc
- TyTcl_CreateFileHandlerProc
- TyTcl_DeleteFileHandlerProc
- TyTcl_AlertNotifierProc
- TyTcl_ServiceModeHookProc
- TyTcl_InitNotifierProc
- TyTcl_FinalizeNotifierProc
- TyTcl_MainLoopProc
- TyTcl_HashKeyProc
- TyTcl_CompareHashKeysProc
- TyTcl_AllocHashEntryProc
- TyTcl_FreeHashEntryProc
- TyTcl_SetTimerProc
- TyTcl_WaitForEventProc
- TyTcl_GetTimeProc
- TyTcl_ScaleTimeProc
- TyTcl_DriverBlockModeProc
- TyTcl_DriverCloseProc
- TyTcl_DriverClose2Proc
- TyTcl_DriverInputProc
- TyTcl_DriverOutputProc
- TyTcl_DriverSeekProc
- TyTcl_DriverSetOptionProc
- TyTcl_DriverGetOptionProc
- TyTcl_DriverWatchProc
- TyTcl_DriverGetHandleProc
- TyTcl_DriverFlushProc
- TyTcl_DriverHandlerProc
- TyTcl_DriverWideSeekProc
- TyTcl_DriverThreadActionProc
- TyTcl_DriverTruncateProc
- TyTcl_FSStatProc
- TyTcl_FSAccessProc
- TyTcl_FSOpenFileChannelProc
- TyTcl_FSMatchInDirectoryProc
- TyTcl_FSGetCwdProc
- TyTcl_FSChdirProc
- TyTcl_FSLstatProc
- TyTcl_FSCreateDirectoryProc
- TyTcl_FSDeleteFileProc
- TyTcl_FSCopyDirectoryProc
- TyTcl_FSCopyFileProc
- TyTcl_FSRemoveDirectoryProc
- TyTcl_FSRenameFileProc
- TyTcl_FSUnloadFileProc
- TyTcl_FSListVolumesProc
- TyTcl_FSUtimeProc
- TyTcl_FSNormalizePathProc
- TyTcl_FSFileAttrsGetProc
- TyTcl_FSFileAttrStringsProc
- TyTcl_FSFileAttrsSetProc
- TyTcl_FSLinkProc
- TyTcl_FSLoadFileProc
- TyTcl_FSPathInFilesystemProc
- TyTcl_FSFilesystemPathTypeProc
- TyTcl_FSFilesystemSeparatorProc
- TyTcl_FSFreeInternalRepProc
- TyTcl_FSDupInternalRepProc
- TyTcl_FSInternalToNormalizedProc
- TyTcl_FSCreateInternalRepProc
- TyTcl_FSVersion
- TyTcl_UniChar
- TyTcl_LimitHandlerProc
- TyTcl_LimitHandlerDeleteProc
- Tymp_digit
- Tyulong64
- Tylong64
- Tymp_word
- Tymp_err
- Tyltm_prime_callback