active-group / active-group/active-clojure
Sum types with aliases
- 主要語言
- Clojure
- 星號
- 31
- 分支
- 4
- PR 合併指標
- 30 天內沒有已合併 PR
描述
Defining sum types does not work when aliasing types or predicates in match expressions, in ClojureScript at least:
```
(require '[active.clojure.sum-type :as st :include-macros true])
(require '[active.clojure.cljs.record :as rec :include-macros true])
(rec/define-record-type T {:rtd-record? true} (make-t) t? [])
(st/define-sum-type S1 s? [T])
(def S2 S1)
(st/define-sum-type S2 s? [T])
(def T2 T)
(st/define-sum-type S2 s? [T2])
Compile Exception: rtd-record or sum-type required, found: T2
```
A similar error is raised when using an alias of `t?` in a match expression.
This is quite a burden for code reuse/abstraction, and should be fixed if possible.
貢獻指南
這個儲存庫沒有索引到貢獻指南
評估
這個 Issue 還沒有評估資料。