diff --git a/app/main.go b/app/main.go index 9bd65db3..30a942b9 100644 --- a/app/main.go +++ b/app/main.go @@ -16,7 +16,8 @@ import ( pooltermdef "orglang/go-engine/pool/termdef" pooltypedef "orglang/go-engine/pool/typedef/adapter" pooltypeexp "orglang/go-engine/pool/typeexp/adapter" - proccommexch "orglang/go-engine/proc/commexch" + proccommexchadapter "orglang/go-engine/proc/commexch/adapter" + "orglang/go-engine/proc/compexec" "orglang/go-engine/proc/termdec" termdef "orglang/go-engine/proc/termdef/adapter" @@ -44,7 +45,8 @@ func main() { compvar.Module, typedef.Module, typeexp.Module, - proccommexch.Module, + + proccommexchadapter.Module, termdef.Module, termdec.Module, compexec.Module, diff --git a/pool/commturn/core.go b/pool/commturn/core.go index 0d6ee98f..c5bb1f18 100644 --- a/pool/commturn/core.go +++ b/pool/commturn/core.go @@ -16,8 +16,7 @@ import ( "orglang/go-engine/proc/termdec" ) -type API interface { -} +type API any // step (aka Sem) type TurnRec interface { diff --git a/pool/termexp/core/ds.go b/pool/termexp/core/ds.go index 1d6153ab..b601863c 100644 --- a/pool/termexp/core/ds.go +++ b/pool/termexp/core/ds.go @@ -1,7 +1,6 @@ package core -type Repo interface { -} +type Repo any type ExpSpecDS struct { K ExpKind `json:"k"` diff --git a/proc/commexch/adapter/di_fx.go b/proc/commexch/adapter/di_fx.go new file mode 100644 index 00000000..f336e6a7 --- /dev/null +++ b/proc/commexch/adapter/di_fx.go @@ -0,0 +1,13 @@ +package adapter + +import ( + "go.uber.org/fx" + + corecommexch "orglang/go-engine/proc/commexch/core" +) + +var Module = fx.Module("proc/commexch", + fx.Provide( + fx.Annotate(newDaoPgx, fx.As(new(corecommexch.Repo))), + ), +) diff --git a/proc/commexch/ds_pgx.go b/proc/commexch/adapter/ds_pgx.go similarity index 63% rename from proc/commexch/ds_pgx.go rename to proc/commexch/adapter/ds_pgx.go index ff26b01e..4c2b82de 100644 --- a/proc/commexch/ds_pgx.go +++ b/proc/commexch/adapter/ds_pgx.go @@ -1,4 +1,4 @@ -package commexch +package adapter import ( "log/slog" @@ -6,6 +6,8 @@ import ( "orglang/go-engine/adt/uniqsym" "orglang/go-engine/lib/db" "reflect" + + corecommexch "orglang/go-engine/proc/commexch/core" ) type daoPgx struct { @@ -18,11 +20,11 @@ func newDaoPgx(log *slog.Logger) *daoPgx { } // for compilation purposes -func newRepo() Repo { +func newRepo() corecommexch.Repo { return new(daoPgx) } -func (dao *daoPgx) AddRec(db.UoW, ExchRec) error { +func (dao *daoPgx) AddRec(db.UoW, corecommexch.ExchRec) error { panic("unimplemented") } @@ -30,10 +32,10 @@ func (dao *daoPgx) GetRefsByQNs(db.UoW, []uniqsym.ADT) (map[uniqsym.ADT]commsem. panic("unimplemented") } -func (dao *daoPgx) GetSnapByQry(db.UoW, ExchQry) (ExchSnap, error) { +func (dao *daoPgx) GetSnapByQry(db.UoW, corecommexch.ExchQry) (corecommexch.ExchSnap, error) { panic("unimplemented") } -func (dao *daoPgx) Modifyec(db.UoW, ExchMod) error { +func (dao *daoPgx) Modifyec(db.UoW, corecommexch.ExchMod) error { panic("unimplemented") } diff --git a/proc/commexch/core.go b/proc/commexch/core/core.go similarity index 97% rename from proc/commexch/core.go rename to proc/commexch/core/core.go index d2054305..ef0a10d1 100644 --- a/proc/commexch/core.go +++ b/proc/commexch/core/core.go @@ -1,4 +1,4 @@ -package commexch +package core import ( "orglang/go-engine/adt/commsem" diff --git a/proc/commexch/ds.go b/proc/commexch/core/ds.go similarity index 94% rename from proc/commexch/ds.go rename to proc/commexch/core/ds.go index b8c2133a..4dee2c6b 100644 --- a/proc/commexch/ds.go +++ b/proc/commexch/core/ds.go @@ -1,4 +1,4 @@ -package commexch +package core import ( "orglang/go-engine/lib/db" diff --git a/proc/commexch/di_fx.go b/proc/commexch/di_fx.go deleted file mode 100644 index cfa93862..00000000 --- a/proc/commexch/di_fx.go +++ /dev/null @@ -1,11 +0,0 @@ -package commexch - -import ( - "go.uber.org/fx" -) - -var Module = fx.Module("proc/commexch", - fx.Provide( - fx.Annotate(newDaoPgx, fx.As(new(Repo))), - ), -) diff --git a/proc/compexec/core.go b/proc/compexec/core.go index 5023f02f..20dbbef2 100644 --- a/proc/compexec/core.go +++ b/proc/compexec/core.go @@ -19,7 +19,7 @@ import ( "orglang/go-engine/adt/symbol" "orglang/go-engine/adt/uniqsym" "orglang/go-engine/adt/valkey" - "orglang/go-engine/proc/commexch" + commexch "orglang/go-engine/proc/commexch/core" commturn "orglang/go-engine/proc/commturn/core" compstep "orglang/go-engine/proc/compstep/core" "orglang/go-engine/proc/termdec" diff --git a/prog/me_echo.go b/prog/adapter/me_echo.go similarity index 87% rename from prog/me_echo.go rename to prog/adapter/me_echo.go index e8f6fb30..50b5ab60 100644 --- a/prog/me_echo.go +++ b/prog/adapter/me_echo.go @@ -1,4 +1,4 @@ -package prog +package adapter import ( "io" @@ -8,14 +8,16 @@ import ( "github.com/labstack/echo/v4" sdkprog "github.com/orglang/go-sdk/prog" + + coreprog "orglang/go-engine/prog/core" ) type controllerEcho struct { - api API + api coreprog.API log *slog.Logger } -func newControllerEcho(a API, l *slog.Logger) *controllerEcho { +func newControllerEcho(a coreprog.API, l *slog.Logger) *controllerEcho { name := slog.String("name", reflect.TypeFor[controllerEcho]().Name()) return &controllerEcho{a, l.With(name)} } diff --git a/prog/tc.go b/prog/adapter/tc.go similarity index 66% rename from prog/tc.go rename to prog/adapter/tc.go index 83b97238..03788dcc 100644 --- a/prog/tc.go +++ b/prog/adapter/tc.go @@ -1,34 +1,35 @@ -package prog +package adapter import ( "fmt" sdkpooltypedef "github.com/orglang/go-sdk/pool/typedef" sdkproctypedef "github.com/orglang/go-sdk/proc/typedef" - "github.com/orglang/go-sdk/prog" + sdkprog "github.com/orglang/go-sdk/prog" pooltypedef "orglang/go-engine/pool/typedef/adapter" proctypedef "orglang/go-engine/proc/typedef/adapter" + coreprog "orglang/go-engine/prog/core" ) -func MsgToSpec(dto prog.Spec) (Spec, error) { - spec := Spec{} +func MsgToSpec(dto sdkprog.Spec) (coreprog.Spec, error) { + spec := coreprog.Spec{} for _, msgExp := range dto.Exps { switch msgExp := msgExp.(type) { case sdkpooltypedef.DefSpec: poolDef, convErr := pooltypedef.MsgToDefSpec(msgExp) if convErr != nil { - return Spec{}, convErr + return coreprog.Spec{}, convErr } spec.Pools = append(spec.Pools, poolDef) case sdkproctypedef.DefSpec: procDef, convErr := proctypedef.MsgToDefSpec(msgExp) if convErr != nil { - return Spec{}, convErr + return coreprog.Spec{}, convErr } spec.Procs = append(spec.Procs, procDef) default: - return Spec{}, fmt.Errorf("unsupported program expression: %T", msgExp) + return coreprog.Spec{}, fmt.Errorf("unsupported program expression: %T", msgExp) } } return spec, nil diff --git a/prog/core.go b/prog/core/core.go similarity index 97% rename from prog/core.go rename to prog/core/core.go index 3dedbcd2..2e83f4b7 100644 --- a/prog/core.go +++ b/prog/core/core.go @@ -1,4 +1,4 @@ -package prog +package core import ( "log/slog"