Skip to content

Add warning on non-based atoms.#66

Closed
sigilante wants to merge 74 commits into
zorp-corp:masterfrom
sigilante:sigilante/based
Closed

Add warning on non-based atoms.#66
sigilante wants to merge 74 commits into
zorp-corp:masterfrom
sigilante:sigilante/based

Conversation

@sigilante
Copy link
Copy Markdown
Collaborator

No description provided.

Sigilante and others added 30 commits January 2, 2026 15:20
Analyzes current implementation against the spec from the
sigilante/freshwater-ray-finned-fish branch, documenting:
- Working features (compiler pipeline, basic types, classes, FFI)
- Missing features (type system, NockApp integration, tooling)
- Code architecture and technical debt
- Roadmap assessment and recommendations
- Add %struct AST node for struct definitions
- Add %struct type to jype-leaf for type representation
- Add got-type helper function for parsing type names
- Add struct parser for syntax: struct Name { field: Type, ... };
- Add struct mint (code generator) to compile structs to Nock
- Add struct-fields type with $+ indirection to prevent recursive loop in jype-leaf
- Add struct parser (no next=jock, composes like a class)
- Add got-type helper for parsing uppercase type names
- Add %struct stub in mint and type-to-default
- Filter Datadog metrics noise in Makefile

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Replace crash stub with code gen that builds struct jype
and produces bunt via type-to-default.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add struct-to-jype helper for expanding struct fields to cell jype
- Add %struct cases in axis-at-name and type-at-axis for field resolution
- Add %struct to match-inner-jock keyword forwarding
- Remove semicolon consumption from struct parser (compose owns it)
- Add clean-jam make target (clears hoonc cache)
- Print only lib names in jockc debug output
- Add struct-basic.jock test

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Aliases resolve the target type eagerly at definition time (not
evaluation time), supporting both built-in primitive types and
subject-defined types like structs. Alias chaining works across
compose boundaries since each alias captures the full resolved type.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
The class definition lookup (get-limb) returns the axis of the
battery (head of door), not the full door. Method dispatch needs
the full door [battery [sample context]] to fire arms via %9.

Fix: compute door-nock as parent of the battery axis (div axis 2),
so %8 pushes the full door instead of just the battery.

Also: strip name from class def jype (dyp(name %$)) so
axis-at-name can recurse into [state core] pair to find methods.

Also: improve runner.hoon error reporting with mole wrapper and
nock-result/nock-crashed traces.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
sigilante and others added 29 commits February 4, 2026 12:42
…ion.

New AST nodes (%index-empty, %index-has, %index-del, %index-pop, %index-put),
Stack type, bracket parser dispatch in both match-jock paths, hoon.hoon
map/set helper gates, and %index compilation for map-get and set-get.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Add comma-skipping in match-metatype for Map(K, V) type params
- Add mint stub cases for all new index AST nodes
- Fix parser bracket code: restructure == detection to avoid find.$
- Remove %stack from inner indexing guard (mint-vain)
- Add ;; casts for new AST nodes in parser loop

Co-Authored-By: Claude Opus 4.6 <[email protected]>
map-get and set-get helpers searched trees using gor (hash-based ordering),
which depends on mug/muk (Murmur3). Without jet acceleration in the jockc
Nock interpreter, these are too slow at runtime. Replaced with both-subtree
DFS search using ^- * to break wet gate type recursion. Also fixed map/set
literal compilation to extract values from [%1 *] constant Nock formulas,
and removed debug prints.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Add compilation for m[key?] (map has) and s[elem?] (set has) bracket
syntax, following the same Nock generation pattern as %index (get).
Update %index-del stub message to note it's blocked on gor/mug jetting.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Updated README to reflect the status of Jock and its development history.
Add status update for jockt test framework.
@sigilante sigilante closed this Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants