类型类、逻辑与哲学

起因

之前因为作业,写一个多项式计算的实现(来自课《计算机代数基础》,教材料《Ideals, Varieties and Algorithms》)。其实遇到了些问题,在data构建中,传入了太多子类型的参数,又将操作类型类化,导致实例化时出现了编译不通过(主要为无法deduce),根本原因在于对于一个forall的返回值类型,在其它函数中调用时,如果存在约束条件,是无法duduce的。哪怕不是约束,只要存在一定的类型限制就是不行的。这其中查找了相当的内容,也有解决方案,但并没有直接去修正。这源于我对类型类的一些理解问题。

haskell pettern synonyms and view

最近需要写一个多项式相关的东西(代数课练习),而正好看到一个人用pattern做的方程解析,就有点好奇是怎么做到的,然后查找各种资料后得出了结论,主要是用到了ghc的扩展,这里小记一下。

毕设遇到C语言相关记录

起因

最近做毕设,题目是以ARM与Linux为基础的一些设计,由于是第一次接触嵌入式设计,再加之C语言学完已经有快7年了,平时不怎么用。虽然当初刚学习的时候看了相当多C/C++的书籍,很多知识细节也知道,但真写起来还是遇了不少坑,在此记录一下。

minori解散感触

2019/02(上个月)底,gal制作公司minori宣布解散。

nixos使用与开发配置

开始上手nixos,nix与nixpkgs其实相对还好,都没有什么问题。但这之间遇到了相当多问题。大体分为几点。一个是开发环境,nix-shell的沙盒并不能很方便的对lsp等开发过程中使用的工具提供支持(我们不可能在shell.nix中去添加开发开发用的工具),另外一个大问题是部分第三方包的安装。