Explore projects
-
-
A collection of C ADTs (hash:str->str; longhash:str->long; intlist: list(int); strlist: list(str); set:str->boolean)
Updated -
Pancake numbers are an obscure number theory sequence, defined as:
pancake(n) = smallest number of "pancake stack flips" to get the worst case stack-of-n-pancakes sorted. p(1)=0; p(2)=1 [casse ba], p(3)=3]; p(18) unknown
Updated -
This is a fork of the kstart provided by Russ Allbery at http://www.eyrie.org/~eagle/software/kstart/ with minor tweaks to enable the static compilation for HTCondor using condor_compile and the static Heimdal Kerberos 5 libs.
Updated -
Written in C, this is a tiny compiler for a miniscule Haskell subset (essentially, Int -> Int functions) to Dafny translator. So many C tools (Yacc, Lex, my datadec, generic modules etc) used, only about 20% of the code is human-written.
Updated -
Updated
-
Updated
-
A cutdown version of part2 of my mailing list flattening C example, a specialised form of the general "computing transitive closures of a directed graph" method
Updated -
Updated
-
This is the official repository for Graphics 317. It contains the framework and description. Submission is via CATE.
Updated -
Updated
-
-
-
An attempt to graft some form of C++-style namespaces into C ("C with namespaces: aka C+N") via another simple-minded pre-processor/translator that could be built in a matter of hours.
Updated -
In LinkedIn's Plain Old C Programming group in , John Coloccia asked about whether "namespaces" would be a good idea for C. He explained that he meant some form of modularity, and I thought I've have a play - this is the result! A module generator!
Updated -
Implements the long awaited client-side of datadec: given datadec types like "expr = num(int n) or ...", let us write:
%when expr e is num(n) { return n; }Updated -
ANSI C data declaration module constructor: Datadec transforms a series of Haskell style recursive (or inductive) datatype declarations into a C module to implement them.
Updated -
-
-
UnID or Unified Identification is a smart way of storing and sharing just the data you need to use, through your phone, a special card or a web server. It should provide convenience and security through the use of blockchains.
Updated