コミットグラフ

8 コミット

作成者 SHA1 メッセージ 日付
Cory Slep b5d927c49f Properties now have serialization references to Types.
This setup allows properties to recur deserializing into types as
necessary, and sets the groundwork for successfully handling all kinds
of JSON-LD input.
2018-12-19 09:44:57 +01:00
Cory Slep a3c3a7b5fc Prepare TypeGenerator being a Kind for Properties.
Right now the two-pass tooling system has issues with establishing
doubly-linked data between Functiona/NonFunctional Properties (which
have Kinds abstractions) and Types (which have Property abstraction).

While the experimental tool compiles, it panics at runtime currently
because the TypeGenerator needs to look at properties with Range of
itself, but it is applying itself to properties with Domain of its type.
Which is wrong.

Will need to stew on this and think of how to avoid making even more
shortcuts and hacky solutions in the name of progress.
2018-12-17 23:11:55 +01:00
Cory Slep 73f7e3cf36 Experimental codegen works end to end.
Still plenty of missing features, and missing implementations in the
generated code. Also missing some functionality and flags for generating
references and/or well-known references (ex: XML, RDF values).
2018-12-09 21:23:32 +01:00
Cory Slep 069b8de820 Add initial convert (exp is broken at this commit)
Still need to flesh out the types for conversion. Also still need to add
the serialize and deserialize calls for individual types. Finally, will
need to put the finishing touches on writing the output files in the
desired directories. Then the experimental tool will be ready for end to
end testing.
2018-12-08 23:05:02 +01:00
Cory Slep 2709d26229 Ran gofmt in props dir 2018-11-28 21:39:11 +01:00
Cory Slep 2ebd905f76 experimental: More type improvements.
- Fixed extendedBy generated method behaving like extends
- Add the extends generated method
- Extends / extendedBy examine the parent / children as well
- Properties and types cache their generated structs, only creating the
  codegen types once
- Create convenience constructor methods
2018-11-04 19:05:56 +01:00
Cory Slep d08cc46275 experimental: Add ActivityPub types.
This begins adding types as standalone compositions of properties, along
with helper functions to manage the hierarchy better than the current v0
implementation.

I think it will still need to be focused on flexibility at compile time
over runtime; but this will still allow extensions to be generated
easily from existing code.

This is a natural extension of the v0 philosophy: many folks still
cannot understand the similarity that to deploy new meaningful behaviors
with interpreted javascript/python/etc then code still needs to be
written and deployed, just as this go code will need to be regenerated,
written against, and deployed.

Code generation plus type system means a lot of the heavy lifting and
potential errors are already thought through for an ActivityPub
developer.
2018-11-03 16:56:09 +01:00
Cory Slep e834879207 Experimental: restructure directories 2018-10-19 22:44:13 +02:00