msp-strath / typos Goto Github PK
View Code? Open in Web Editor NEWbeing an operating system for typechecking processes
being an operating system for typechecking processes
There are a number of types (like MachineStep in Options) that have both Show and Pretty instances. Is this on purpose?
Mostly just recording this here so we don't forget it, and because it is always satisfying to close issues: after Monday's increase in static analysis, which necessitated an increase in intention in the source language (e.g. declaring the syntactic categories of stashes, and fresh metavariables), the examples in the README are currently out of date with reality.
TypOS has a very simple raw syntax: pairs and atoms, bindings and variables, metavariable instantiations. We could just use raw terms for everything, but that offers considerable potential for subtle errors. I propose that we equip ourselves with the means to characterise sets of raw terms which are in some sense well formed. E.g., we might introduce the distinction between "checkable constructions" and "synthesizable computations". Thus equipped, we can say which sorts of thing go where in judgement forms.
What are syntaxes like? As a syntax designer, I should be able to
I thus have to say what patterns are like. Note the "Law of Explicit Discrimination": the only things we can tell apart are non-nil atoms.
We could go nuts and define something an awful lot like type theory.
Let's at least try to spend fewer bucks, as long as we get enough bang.
Sadly this line
https://github.com/msp-strath/TypOS/blob/main/Src/Actor.hs#L125
is not doing the right thing in general: in our stlctpp.act
example, we have scopeEnv env = 1
and sc = 3
when mangling the term before we send it, resulting in a thinning of size -2... What is fun is that versions of GHC < 9.0 silently truncates our use of shiftL
to 0, whereas newer GHC versions crashes with an arithmetic overflow
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.