package tiny_appkits
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=7c636383d146d30ac6f2fa234a6253c8
sha512=c79f3823c5f8f57e5038eb640d487c61168b84aa07c61999d6622ef9fd0c890e2b03b4c6a7cdbbe9352a49e25dda00ac7bb14693cee8e3d7beeed251351a2af0
doc/index.html
tiny_appkits
What applications share, written from scratch for teaching: the engines under the Tiny applications, one idea per module, each interface explaining its idea. None of them draws with the Elm Playground: a document, a sheet, a drawing, a model are values, and the application draws them (the kits that draw, a File menu, compound documents, the browsers' drawing, are the Playground's, beside the apps they help). They stand on tiny_libs and tiny_languages.
Each is a library of its own, named tiny_appkits.<name> outside this repository, for example in a dune file:
(executable (name main) (libraries tiny_appkits.appkit_sheet tiny_appkits.browser_layout))
The libraries are unwrapped: their modules are used by their own names, Sheet.set, Box_layout.layout.
Documents
A document as a value, its undo and its clipboard (tiny_appkits.appkit_document):
The office
The spreadsheet's engine (tiny_appkits.appkit_sheet) and a sheet drawn in a rectangle (tiny_appkits.appkit_sheet_view); diagrams whose geometry is a sheet (tiny_appkits.appkit_diagram); text with looks, laid out on pages (tiny_appkits.appkit_richtext); a paragraph broken into lines, greedy or by Knuth and Plass (tiny_appkits.appkit_typeset); a presentation as an outline (tiny_appkits.appkit_slides); NLS's tree of statements (tiny_appkits.appkit_nls):
Pictures and drawings
MacPaint's bitmap (tiny_appkits.appkit_paint), Deluxe Paint's colour numbers and palette cycling (tiny_appkits.appkit_indexed), MacDraw's figures (tiny_appkits.appkit_draw), a 3D modeller's scene (tiny_appkits.appkit_modeler):
CAD
Sketchpad (tiny_appkits.appkit_sketch), AutoCAD (tiny_appkits.appkit_cad), SketchUp (tiny_appkits.appkit_pushpull):
SketchRelaxCad_geomCad_drawingCad_editCad_snapCad_sessionDxfSkp_modelSkp_inferSkp_viewBsp
Text mode
The editors as full-screen programs, vi, Emacs over its Lisp, Turbo Pascal's IDE (tiny_appkits.appkit_editor); a full-screen game (tiny_appkits.appkit_tui); the teletype's games (tiny_appkits.appkit_teletype):
Gap_bufferEmacs_editorEmacs_simpleTui_viTui_emacsTui_turboTurbo_modelTurbo_editTurbo_debugTurbo_menusTurbo_updateTurbo_viewTui_snakeTty_hangmanTty_guessTty_wumpus
Programming by blocks
Where each block lies and where a dragged stack snaps (tiny_appkits.appkit_blocks):
A web page's layout
Blocks and lines, tables, CSS's box model and flexbox, and the way back from a point to a link (tiny_appkits.browser_layout):
Time, the sky, money
iCalendar and vCard (tiny_appkits.appkit_pim), a planetarium's astronomy (tiny_appkits.appkit_astronomy), a checking account (tiny_appkits.appkit_money):