critcl(n)
β¨ NAME β critcl(n) β¨
critcl β Introduction To CriTcl. Hii bestie, this is the critcl(n) manual page, and itβs giving βwelcome to the C side of Tclβ energy. π
π DESCRIPTION π
Okay so welcome to the C Runtime In Tcl (short: CriTcl), a whole system for embedding and using C code from within Tcl [http://core.tcl-lang.org/tcl] scripts. π«Ά
Adding C code to Tcl [http://core.tcl-lang.org/tcl]/Tk [http://core.tcl-lang.org/tk] has never been easier. Literally.
- Improve performance by rewriting the performance bottlenecks in C. π₯
- Import the functionality of shared libraries into Tcl scripts. π¦
πΈ HISTORY & MOTIVATION πΈ
CriTcl started life as an experiment by Jean-Claude Wippler and was a self-contained Tcl package to build C code into a Tcl/Tk extension on the fly. It was somewhat inspired by Brian Ingersonβs Inline for Perl, but is considerably more lightweight. No cap. π
It is for the last 5% to 10% when pure Tcl, which does go a long way, is not sufficient anymore. I.e. for:
- when the last bits of performance are needed,
- access to 3rd party libraries,
- hiding critical pieces of your library or application, and
- simply needing features provided only by C.
π OVERVIEW π
To make the readerβs topics of interest easy to find this documentation is roughly organized by Quadrants [https://documentation.divio.com/], i.e.
- Practical:
- Study: Tutorials (Learning)
- Work: How-To Guides (Problem solving)
- Theoretical:
- Study: Explanations (Understanding)
- Work: References (Knowledge)
Note: At this point in time the documentation consists mainly of references, and a few how-to guides. Tutorials and Explanations are in need of expansion, this is planned. π
π KNOWN USERS π
These are the icons:
- AnKH β [
https://core.tcl-lang.org/akupries/ankh] - TclYAML β [
https://core.tcl.tk/akupries/tclyaml] - Linenoise β [
https://github.com/andreas-kupries/tcl-linenoise] - KineTcl β [
https://core.tcl.tk/akupries/kinetcl] - Inotify β [
https://chiselapp.com/user/andreas_kupries/repository/inotify] - TclMarpa β [
https://core.tcl.tk/akupries/marpa] - CRIMP β [
https://core.tcl.tk/akupries/crimp]
π· TUTORIALS - PRACTICAL STUDY - TO LEARN π·
This section is currently empty. π
π¦ EXPLANATIONS - THEORETICAL KNOWLEDGE - TO UNDERSTAND π¦
This section is currently empty. π
π HOW-TO GUIDES - PRACTICAL WORK - TO SOLVE PROBLEMS π
- How To Get The CriTcl Sources.
- How To Install CriTcl.
- How To Use CriTcl - A light introduction through examples.
- NEW: How To Adapt Critcl Packages for Tcl 9.
β REFERENCES - THEORETICAL WORK - TO GAIN KNOWLEGDE β
- The CriTcl License
- CriTcl Releases & Changes
- CriTcl Application Reference
- CriTcl Package Reference
- CriTcl cproc Type Reference
- CriTcl - Utilities
- CriTcl - C-level Utilities
- CriTcl - C-level Callback Utilities
- CriTcl - Wrap Support - String/Integer mapping
- CriTcl - Wrap Support - Bitset en- and decoding
- CriTcl - Wrap Support - Enum en- and decoding
- CriTcl - Code Gen - Constant string pools
- CriTcl - Code Gen - Tcl Interp Associations
- CriTcl - Code Gen - C Classes
- CriTcl Application Package Reference
- Guide To The CriTcl Internals
π AUTHORS π
Jean Claude Wippler, Steve Landers, Andreas Kupries. Legends only. π
π BUGS, IDEAS, FEEDBACK π
This document, and the package it describes, will undoubtedly contain bugs and other problems. π Please report them at [https://github.com/andreas-kupries/critcl/issues]. Ideas for enhancements you may have for either package, application, and/or the documentation are also very welcome and should be reported at [https://github.com/andreas-kupries/critcl/issues] as well. π«Ά
π KEYWORDS π
- C code
- Embedded C Code
- calling C code from Tcl
- code generator
- compile & run
- compiler
- dynamic code generation
- dynamic compilation
- generate package
- linker
- on demand compilation
- on-the-fly compilation
π§ CATEGORY π§
Glueing/Embedded C code
πΈ COPYRIGHT πΈ
Copyright (c) Jean-Claude Wippler
Copyright (c) Steve Landers
Copyright (c) 2011-2024 Andreas Kupries
π cute sign-off: source doc, version 3.3.1, manual critcl(n) β thatβs the footer, bestie. periodt. π
π¦ where this page comes from
- alpine 3.24: critcl-doc 3.3.1-r1 Β· TCL
- Copyright (c) 2011-2024 Andreas Kupries
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms