我希望能写出这样的东西:
reify (Proxy @True)) == True;
reify (Proxy @(Just 5)) == Just 5;
有可能通过一个全面的实施吗?我已经到了
class Reify (a :: k) where
reify :: Proxy a -> k
我不知道怎么写这个,除了手工写每个实例:一个实例表示True,一个实例表示False,等等。我不想全部手工编写,我也不想使用模板haskell为我编写。我能有一个例子来做吗?
或者可能还有别的方法?对我来说,用例是能够编写:
type DeriveHelper :: Settings ->
在java中,我可以写这样的东西
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
handler.post(this);
}
});
当我用Kotlin写类似的东西时,我会得到一个编译错误。lambda表达式中的this不像我预期的那样工作。我能做什么?
val handler = Handler()
handler.post{
handler.post(this) // this line thr
我试着在业余时间学习CQRS。假设我有这样一门课:
public class Person
{
private Guid Id {get; set;}
private Guid Name {get; set;}
private List<Order> orders;
//Methods and constructor go here
}
我正在考虑这样一个场景:将Person类持久化到写数据库(SQL Server),然后将person和order类持久化到读数据库(Mongodb)。
我需要在写端持久化Person类的唯一原因是从更改跟踪中获益。
对于写数据库