All Projects → MaxDesiatov → Typology

MaxDesiatov / Typology

Licence: Apache-2.0 License
Swift type checking and semantic analysis for developer tools

Programming Languages

swift
15916 projects
shell
77523 projects

Projects that are alternatives of or similar to Typology

Write You A Haskell
Building a modern functional compiler from first principles. (http://dev.stephendiehl.com/fun/)
Stars: ✭ 3,064 (+4405.88%)
Mutual labels:  type-checking, type-system, hindley-milner, type-inference
pyrser
A PEG Parsing Tool
Stars: ✭ 32 (-52.94%)
Mutual labels:  type-checking, type-system, type-checker
floweret
Runtime type annotations for CoffeeScript (and JavaScript too!)
Stars: ✭ 20 (-70.59%)
Mutual labels:  type-checking, type-system
visions
Type System for Data Analysis in Python
Stars: ✭ 136 (+100%)
Mutual labels:  type-system, type-inference
REInfer
Runtime Extended Inference for json data.
Stars: ✭ 23 (-66.18%)
Mutual labels:  type-system, type-inference
typist-json
A simple runtime JSON type checker.
Stars: ✭ 25 (-63.24%)
Mutual labels:  type-checking, type-checker
ftor
ftor enables ML-like type-directed, functional programming with Javascript including reasonable debugging.
Stars: ✭ 44 (-35.29%)
Mutual labels:  type-system, hindley-milner
anders
🧊 Модальний Гомотопічний Прувер
Stars: ✭ 5 (-92.65%)
Mutual labels:  type-system, type-checker
xml-semantic-external-parser
A semantic external parser for XML files that can be used together with GMaster, PlasticSCM or SemanticMerge. Supports various XML formats, such as the Visual Studio project format.
Stars: ✭ 15 (-77.94%)
Mutual labels:  semantic-analysis, semantic-analyzer
mockify
Easy, configurable API mocking you can change on-the-fly
Stars: ✭ 83 (+22.06%)
Mutual labels:  developer-tools
stack-attack
A WIP CLI tool that manages stacked pull requests. Using stacked PRs is now (many small) pieces of cake
Stars: ✭ 39 (-42.65%)
Mutual labels:  developer-tools
mixed-content-scanner-cli
A cli tool to check your site for mixed content
Stars: ✭ 82 (+20.59%)
Mutual labels:  developer-tools
Mac-OS-Setup-Applications
👾 All I need to setup a new Mac and the applications I use everyday as a Web Developper
Stars: ✭ 96 (+41.18%)
Mutual labels:  developer-tools
rhack
Temporary edit external crates that your project depends on
Stars: ✭ 104 (+52.94%)
Mutual labels:  developer-tools
tbot
Automation/Testing tool for Embedded Linux Development
Stars: ✭ 54 (-20.59%)
Mutual labels:  developer-tools
audion
Audion is a Chrome extension that adds a Web Audio panel to Developer Tools. This panel visualizes the web audio graph in real-time.
Stars: ✭ 276 (+305.88%)
Mutual labels:  developer-tools
AutoBrew
AutoBrew: Homebrew deployments made easy
Stars: ✭ 71 (+4.41%)
Mutual labels:  developer-tools
TyStrings
strings file tool for iOS / macOS developers
Stars: ✭ 15 (-77.94%)
Mutual labels:  developer-tools
localizer
⛵ A no-frills local development tool for service developers working in Kubernetes
Stars: ✭ 106 (+55.88%)
Mutual labels:  developer-tools
Shipr-Community-Android
Shipr Social is the Multi Platform Chat Project for Developers
Stars: ✭ 21 (-69.12%)
Mutual labels:  developer-tools

SWUbanner

Typology

CI status Coverage

Typology is a work in progress attempt to implement type checking of Swift in Swift itself. Currently it uses SwiftSyntax as a parser, but is ready to switch to other pure Swift parsers in the future when any are available.

Goals

  • Education: understanding how type checking can be implemented in a Swift compiler
  • User Experience: finding the best way to report type errors and to improve related developer tools
  • Research and Experimentation: prototyping advanced features that could be fully developed within Swift's type system.

How does it work?

Same as the type checker in Apple's Swift compiler, Typology relies on the fact that you can express type systems with a set of constraints on types that are resolved through unification.

See also

Type systems and type checkers

Error reporting

Optimizing type checker's performance for large projects

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].