]> Lady’s Gitweb - Etiquette/log
Etiquette
18 months agoUse configurable metadata for model
Lady [Wed, 14 Jun 2023 02:48:09 +0000 (19:48 -0700)]
Use configurable metadata for model

Instead of hardcoding properties and methods, use a schema to generate
them. This makes the code significantly dry·er at the cost of some
slightly obtuse metaprogramming.

The schema format is somewhat minimal and makes some assumptions; this
is not intended as a generalist O·W·L processor or anything of the
sort.

Previously, `TagSystem::Tag` returned a bound class constructor. With
this commit, it instead returns a (manually‐defined) constructor
function which effectively does the partial application in its function
body. Each constructor has its own unique prototype object (inheriting
from `Tag.prototype`) and its own static methods (bound forms of `Tag`
static methods). Constructors themselves inherit from
`Function.prototype` (for now).

18 months agoAlways return (the same) objects for langstrings
Lady [Wed, 14 Jun 2023 02:02:55 +0000 (19:02 -0700)]
Always return (the same) objects for langstrings

Instead of returning a string literal in some cases and a `String`
object in others, always return an object when processing language
strings. Use a cache and registry to always return the same object for
any given value and language, to allow `Set` operations to work as
expected.

18 months agoAdd `::iriSpace` and use it in I·R·I handling
Lady [Mon, 29 May 2023 20:11:45 +0000 (13:11 -0700)]
Add `::iriSpace` and use it in I·R·I handling

This can be recorded as a VoID property and is necessary for converting
I·R·I’s back into their identifiers.

18 months agoReturn this on Tag add/delete methods
Lady [Mon, 29 May 2023 07:44:00 +0000 (00:44 -0700)]
Return this on Tag add/delete methods

18 months agoAllow “silent” persisting of tags
Lady [Mon, 29 May 2023 06:16:00 +0000 (23:16 -0700)]
Allow “silent” persisting of tags

This simplifies the algorithm a little bit in the case that no output
is needed. Diffs are still necessary for properties with inverses.

18 months agoInitial Tag model
Lady [Mon, 29 May 2023 05:18:55 +0000 (22:18 -0700)]
Initial Tag model

Work is still needed here to allow `TagSystem`s to replay the
activities generated by persisting tags, but the `Tag` part of this is
close and working.

18 months agoSmall improvements to storage
Lady [Mon, 29 May 2023 05:09:47 +0000 (22:09 -0700)]
Small improvements to storage

- Restructuring of I·D minting for readability.

- Test to ensure `Storage` must be called as a constructor.

- `000-0000` is now reserved (deleted) by default.

- Formatting and documentation improvements.

18 months agoInitial {memory ∣ storage} model
Lady [Sat, 27 May 2023 06:42:55 +0000 (23:42 -0700)]
Initial {memory ∣ storage} model

18 months agoInitial commit
Lady [Sat, 27 May 2023 06:40:15 +0000 (23:40 -0700)]
Initial commit

This page took 0.02317 seconds and 4 git commands to generate.