type-systems
bap
type-systems | bap | |
---|---|---|
1 | 3 | |
40 | 1,981 | |
- | 1.2% | |
0.0 | 4.6 | |
over 2 years ago | 11 days ago | |
OCaml | OCaml | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
type-systems
-
Implementing Traits/Interfaces/Typeclasses in a type inference system?
I've recently implemented Algorithm W + Typeclasses here but now working on an alternative implementation which is based on HM(X) (see Type Inference with Constrained Types) which is more uniform and flexible (treats inference as constraint solving and thus can be extended with more types of constraints).
bap
-
Any standard algorithms for parsing (disassembling) machine code?
BAP (https://github.com/binaryanalysisplatform/bap), angr (https://angr.io/) and others already do what you're asking for as more purpose-built solutions for dynamic analysis. Angr specifically in python.
- You need to stop idolizing programming languages.
-
Starting ocaml
I find this pretty good https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/intro/ocaml.html. Fun projects include compilers (pattern matching and static types are why Ocaml is usually selected), binary analysis stuff https://github.com/BinaryAnalysisPlatform/bap, stuff that requires async so you can try out nomadic async stuff, or really anything you desire.
What are some alternatives?
VMProtect-devirtualization - Playing with the VMProtect software protection. Automatic deobfuscation of pure functions using symbolic execution and LLVM.
pyt - A Static Analysis Tool for Detecting Security Vulnerabilities in Python Web Applications
angr - A powerful and user-friendly binary analysis platform!
klee - KLEE Symbolic Execution Engine
MobileApp-Pentest-Cheatsheet - The Mobile App Pentest cheat sheet was created to provide concise collection of high value information on specific mobile application penetration testing topics.
ocamlformat - Auto-formatter for OCaml code
bolt - Bolt is a language with in-built data-race freedom!
tornado - Tornado is a BitTorrent client written entirely in OCaml.
hardcaml - Hardcaml is an OCaml library for designing hardware.
ataraxia - Simple and lightweight source-based multi-platform Linux distribution with musl libc.
reko - Reko is a binary decompiler.
ocaml-multicont - multi-shot continuations in OCaml