Thautwarm’s Open Source Contributions¶
This is a collection of thautwarm(Taine Zhao/Wanghongxuan Zhao)’s open source contributions, but might not be that new.
Projects Owned By Other Individuals/Organizations¶
- Python/cpython
- better representation for
mmap
: https://github.com/python/cpython/pull/9891 dis
documentation update: https://github.com/python/cpython/pull/18550
- better representation for
- Python/typeshed
- correct typing for the AST
ImportFrom
: https://github.com/python/typeshed/pull/2517
- correct typing for the AST
- vstinner/bytecode
- fix calculating the stack effects: https://github.com/vstinner/bytecode/pull/43
- support more wide kinds of constants for
LOAD_CONST
instruction : https://github.com/vstinner/bytecode/pull/36 - figure out a new mechanism to simplify and enhance constant indexing for Python bytecode: https://github.com/vstinner/bytecode/pull/54
- support large scale basic blocks/compiling codes with large control flow graphs: https://github.com/vstinner/bytecode/pull/58
- ocaml/opam-repository
- a library for portable type inference: https://github.com/ocaml/opam-repository/pull/15463
- JuliaLang/Julia
- good at detecting bugs: https://github.com/JuliaLang/julia/issues/created_by/thautwarm
- JuliaCN/Py2Jl.jl
- as a maintainer. The Python to Julia transpiler.
- JuliaCN/MeetUpMaterials
- lectures of my talk in the 2019 meetup: https://github.com/JuliaCN/MeetUpMaterials/pull/20
- Microsoft/GraphEngine
- as a previous member and contributed a lot: https://github.com/Microsoft/GraphEngine/pulls/thautwarm
- cscherrer/Soss.jl
- as a collaborator: https://github.com/cscherrer/Soss.jl
- GiggleLiu/NiLangCore.jl, GiggleLiu/nilangpaper
- as a collaborator for these academic projects
- MasonProtter/ReplMaker.jl
- add an API for switching REPL modes: https://github.com/MasonProtter/ReplMaker.jl/pull/6
- YingboMa/AsmMacro.jl
- refactor codebase through pattern matching: https://github.com/YingboMa/AsmMacro.jl/pull/4
- QuantumBFS/YaoQASM.jl
- as a maintainer. A parser of QASM and a QASM compiler targeting QBIR.
- f0rki/mapping-high-level-constructs-to-llvm-ir
- ustclug/mirrorhelp
- improve Haskell help docs: https://github.com/ustclug/mirrorhelp/pull/130
- rocky/python-uncompyle6
- alexandrebarachant/muse-lsl
- fix unrunnable codes of README: https://github.com/alexandrebarachant/muse-lsl/pull/85
Leading Projects¶
- PureScript Python
A Python backend for PureScript.
Solve the problem for anyone who wants to write static Python with most advanced type system.
i.e., write Haskell, run in Python.
Can use all libraries from Python world, and all libraries from PureScript world not relying on JavaScript only(like true threads) language features.
MLStyle.jl A library provides advanced functional programming infrastructures(like, extensible pattern matching) for Julia.
- Yet Another Python Python
Suspended now.
Implement Python in Python to achieve wonderful language extensibility and compatibility.
Other Notable Personal Projects¶
- GeneralizedGenerated.jl: A library greatly enhances staged programming of Julia
- RBNF.hs
A language-independent parser generator.
Actually an advance based on the LL(k) parsing, but equipped with several extensions like
- left recursion resolutions(yes, for LL parsing),
- grammar inlining(without causing reduction conflicts),
- more advanced syntax-driven features,
- *(under research, unstable)context-sensitive stuffs like predicates according to global/local contexts,
- lookahead optimizations based on decision trees.
Additionally, the time complexity can regress to linear without using context-sensitive stuffs.
- PySExpr
Modular compiler utility/Build Python bytecode with s-expression abstract syntax.
- FSTan
A F# library providing a more usable light-weighted higher-kinded types.
- RSolve.hs
A Haskell library providing easy-to-use monadic interfaces for constraint solvers, bundled with examples like HM unifications.
- Sijuiacion Language
Modular compiler utility/An assembly language for CPython Virtual Machine.
- Remu-operator
Modular compiler utility/portable framework to support customized precedences and associativities for binary operators
- RSolve.py
A Python library providing easy-to-use and intuitive OOP interfaces for constraint solvers, bundled with examples like HM unifications.
- Idris-Cam
An abstract codegen backend for Idris programming language, bundled with backend implementations in Python and Julia.
The Python implementation: https://github.com/thautwarm/idris-python.
- Idris Quick Backend
The ultimate back end maker for Idris1, for making code generation back end in 15 minutes with high extensibility and reusability.
- restrain-jit
A more available JIT compilation for CPython.
- moshmosh
The Python syntax extensions, bundled with the fastest implementation of pattern matching in Python world.
According to the benchmark, the pattern matching is at least 4 times faster than that from the Pampy project.
Besides, unlike Pampy, moshmosh won’t introduce lots of APIs or lead to a steep learning curve.
- do-you-like-wan-you-si
Automatically playing Fate/Grand Order.
- CanonicalTraits.jl
Real traits/typeclasses implemented in Julia. With support of functional dependencies and default implementations.
- HigherKindedPolymorphisms.jl
Higher kinded types for Julia(light-weighted higher-kinded polymorphisms).
- muridesu language
To argue with guys who doesn’t respect PL/Compiler people, I made this pretty complete programming language within 3.5 hours.
- paperbnf
Generating code for rendering beautiful BNF for latex writing, with multiple backend support.
- wisepy2
One script implementation for sufficiently powerful, simplest, and elegant Python CLI, to distribute a Python function as a command.
- graphviz-artist
A library provides a higher level APIs for Graphviz in Python
- ml2scheme
An ML-like language(untyped) to DrRacket.
For more open source contributions, check my GitHub profile.