IFPSTools.NET/LibIFPSCC/Driver/HList.cs
zc e16c00799d ifpscc: initial commit
libifpscc: initial commit
readme: document ifpscc/libifpscc
license: add credits for ifpscc/libifpscc (derived from code also MIT licensed)
libifps: make additional fields/types public for libifpscc
libifps: fix field documentation for some opcodes
libifps: fix loading functions that are not exported
libifps: allow saving a nonexistant primitive type if the same primitive type was added already
libifps: fix parsing Extended constants
libifps: fix ushort/short being mapped to the wrong types in one table
csproj: set Prefer32Bit=false for release builds
2023-03-28 17:24:19 +01:00

19 lines
516 B
C#

public static class HList {
public static HNil HNil() => hnil;
public static HCons<H, T> HCons<H, T>(H head, T tail) where T : HList<T> => new HCons<H, T>(head, tail);
private static readonly HNil hnil = new HNil();
}
public class HList<T> { }
public class HNil : HList<HNil> { }
public class HCons<H, T> : HList<HCons<H, T>> where T : HList<T> {
public HCons(H head, T tail) {
this.head = head;
this.tail = tail;
}
public readonly H head;
public readonly T tail;
}