unison
lawvere
Our great sponsors
unison | lawvere | |
---|---|---|
17 | 16 | |
5,555 | 291 | |
1.4% | - | |
9.9 | 5.5 | |
3 days ago | 3 months ago | |
Haskell | ||
GNU General Public License v3.0 or later | - |
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.
unison
- Unison Programming Language
-
Unison Cloud
Short version: no type classes (yet)
Longer version:
Building upon what Quekid5 mentioned, Unison abilities are an implementation of what is referred to as algebraic effects in programming language literature. They represent capabilities like IO, state, exceptions, etc. They aren't really a replacement for type classes, though in some cases you can shoehorn abilities in where you might otherwise use a type class.
For someone coming from a Haskell background, I think that abilities are closer to a replacement for monad transformers. But in my opinion they are much more ergonomic.
Discusson of type classes comes up a lot. Here is a long-standing GitHub issue: https://github.com/unisonweb/unison/issues/502
For what it's worth, I've written Unison quite a lot over the past few years and while I've missed type classes at times, I think that reading unfamiliar code is easier without them. There's no implicit magic; you can see exactly what is being passed into a function. So far I've been happy with a bit more verbosity for the sake of readability.
-
Show HN: Winglang – a new Cloud-Oriented programming language
I've been following the Unison lang [1] for quite some. Wing seem to set similar goals? From the first glance Wing looks more polished, but there's "The Big Idea" behind Unison - is there something similar?
[1]: https://github.com/unisonweb/unison
- Unison Language
-
C++ evolution vs C++ successor languages. Circle's feature pragmas let you select your own "evolver language."
in haskell it looks like this, you specify the language extensions you want at the top of the source files: https://github.com/unisonweb/unison/blob/trunk/unison-core/src/Unison/ABT.hs
-
Looking for a new language to learn for Advent of Code that's unlike anything you've tried before? Check out Unison!
they adjusted my ticket to be a bug fix on their part.
-
Syntax Design
I think Unison is going in this direction. Imo this is a mistake, as a program language functions not just as specification for the machine, but also as communication between programmers. Allowing the introduction of arbitrary dialects to suit individual preferences seems like it would interfere with that communication.
- Unison
- Unison Milestone 3
- What if Git worked with Programming Languages?
lawvere
-
Conditioning Is Grouping By
A conditional probability is a probabilistic function.
It goes from a value x to a probability distribution of Y.
It is more general than a non-deterministic computation. You get a list of results with weights attached to it. (ignoring continuous distributions)
Grouping can be regarded as a non-deterministic computation.
It goes from a value x to a list of Y.
Computing averages or other aggregations from lists or distributions is another step.
https://dennybritz.com/posts/probability-monads-from-scratch...
https://github.com/mattearnshaw/lawvere/blob/master/pdfs/196...
-
Conceptual Mathematics
The study of conceptual mathematics can be motivated by noting the conceptual nature of comprehension and by recognizing the learnable-and-teachable nature of mathematics.
- History and Philosophy of Mathematic Reform
-
/\ Professor F. William Lawvere /\
Category of Categories https://github.com/mattearnshaw/lawvere/blob/master/pdfs/1966-category-of-categories-as-a-foundation-for-mathematics.pdf
-
Reconstituting Reality :)
P.S. Reality consists of reflective parts (Lawvere & Schanuel, Conceptual Mathematics, 2nd ed., pp. 84-85).
-
Thought vis-a-vis Quantity
(plz see F. William Lawvere, Perugia Notes, pp. iii-iv)
-
Mining another zero
We all know one zero: quantity 0. There's another zero we need: quality 0. Can r/OpenAI help us in this longstanding mathematical quest (pure 😉 To put it all in perspective, mathematics is about qualities (resulting from quantitative changes) represented as structures (geometric objectification of concepts) in a structureless background. Ideally, one would like to print on a blank page, with the blankness being zero cohesion and zero change i.e., quality 0 (see F. William Lawvere, Axiomatization and Education).
-
Against Reality (rush ;)
In spite of the fact that variable quantities provide a more accurate description of reality, constant quantities---both historically and conceptually---are primary in the theory of variable quantities (Lawvere, 1972, Perugia Notes, p. iii).
-
Potential versus actual infinity
And here are some papers by Lawvere which claim to be inspired by Hegel's Science of Logic: https://github.com/mattearnshaw/lawvere/blob/master/pdfs/1992-categories-of-space-and-quantity.pdf
-
"A structured history of time" - "the film version of a structural realist process philosophy"
Speaking of TIME, "in Indo-European languages 'time' is not typically just an abstract one-dimensional continuum; the abstract time is a dialectical negation of the idea of time as the rich environment of external conditions that may influence our system, but which we can influence only negligibly: In Italian tempo (time) also means weather, in Danish the word for time is tid, which is old English for tide. In a Zeit-ung like the Times the tidings describe the whole tempestuous march of events over which the reader has little control. In English we have 'the worst of times' and 'the best of times', and 'the times are a-changing', something a mere smooth line cannot be or do" (https://github.com/mattearnshaw/lawvere/blob/master/pdfs/2001-categorical-algebra-for-continuum-micro-physics.pdf, p. 278).
What are some alternatives?
nvim-treesitter-context - Show code context
pocl - pocl - Portable Computing Language
dark - Darklang main repo, including language, backend, and infra
project-m36 - Project: M36 Relational Algebra Engine
cone - Cone Programming Language
nbdime - Tools for diffing and merging of Jupyter notebooks.
structured-haskell-mode - Structured editing minor mode for Haskell in Emacs
UwUpp - The next generation esoteric language
structured-haskell-m
syntactic_versioning - What if Git worked with Programming Languages?
lawvere - A categorical programming language with effects
git-merge-driver - Example of how to configure a custom git merge driver