The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 14 sml Open-Source Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Anyway the need is not complicated, I need both entry and exit functions from every state, optionally allowing these functions to be coroutines (that's special sauce but for later), and an explicit state transition table which also have a way to say that a state can be accessed at any point. Also allow states to be state machines, optional FSM hierarchies. If you ignore the coroutine stuff it's pretty standard features these days, except that - Boost.MSM is quite archaic now (it was so novel when it was first released...) although it allows most of the features I talked about, I just think it will complicate my code unneecessarilly; - Boost-Ext.SML (not Boost) is almost perfect except it doesnt have entry/exit functions on states for some reason. Also last time we (as in in livestream) tried it in prototypes it didnt compile on msvc XD - Boost-Ext.SML2 is even better but still doesnt have entry/exit functions although it's in the plans.
https://github.com/MLton/mlton/issues/473
Is there sufficient use of MLTon "native" backend out there to consider it mature? or Do people prefer the LLVM or C backend instead in general?
Project mention: The Deep Link Equating Math Proofs and Computer Programs | news.ycombinator.com | 2023-10-11If I understand what you are asking about correctly, then I do think you are mistaken.
As a sibling comment observed, you would be proving something about a program, but proving things about programs is both possible and done.
This ranges from things like CakeML (https://cakeml.org/) and CompCert (compilers with verified correctness proofs of their optimizations) to something simple like absence of runtime type errors in statically strongly soundly-typed languages.
Of note is that you are proving properties of your program, not proving them perfect in every way. The properties of your program that you prove can vary wildly in both difficulty and usefulness. A sufficiently advanced formally verified compiler like CakeML can transfer a high-level proof about your source code to a corresponding proof about the behavior of the generated machine-executable code.
I'm one of the authors of this work -- I can explain a little.
"Provably efficient" means that the language provides worst-case performance guarantees.
For example in the "Automatic Parallelism Management" paper (https://dl.acm.org/doi/10.1145/3632880), we develop a compiler and run-time system that can execute extremely fine-grained parallel code without losing performance. (Concretely, imagine tiny tasks of around only 10-100 instructions each.)
The key idea is to make sure that any task which is *too tiny* is executed sequentially instead of in parallel. To make this happen, we use a scheduler that runs in the background during execution. It is the scheduler's job to decide on-the-fly which tasks should be sequentialized and which tasks should be "promoted" into actual threads that can run in parallel. Intuitively, each promotion incurs a cost, but also exposes parallelism.
In the paper, we present our scheduler and prove a worst-case performance bound. We specifically show that the total overhead of promotion will be at most a small constant factor (e.g., 1% overhead), and also that the theoretical amount of parallelism is unaffected, asymptotically.
All of this is implemented in MaPLe (https://github.com/mpllang/mpl) and you can go play with it now!
Project mention: My electricity provider’s consumption interface wasn’t flexible enough, so I went for the jugular and started retrieving real-time usage by attaching a photoresistor to my meter’s light that blinks 1000 times per kilowatt-hour. | /r/arduino | 2023-12-07You could use something like this: https://github.com/mruettgers/SMLReader
Project mention: Small ML language (SMLL): small general purpose language for the JVM | news.ycombinator.com | 2024-02-19
sml related posts
- Garbage Collection for Systems Programmers
- MPL: Automatic Management of Parallelism
- Sharing Saturday #496
- My electricity provider’s consumption interface wasn’t flexible enough, so I went for the jugular and started retrieving real-time usage by attaching a photoresistor to my meter’s light that blinks 1000 times per kilowatt-hour.
- Flunct: Well-typed, fluent APIs in SML
- State machines with C++20 coroutines and Asio/Boost Async
- When Debug Symbols Get Large
-
A note from our sponsor - WorkOS
workos.com | 19 Apr 2024
Index
What are some of the best open-source sml projects? This list will help you:
Project | Stars | |
---|---|---|
1 | sml | 1,067 |
2 | mlton | 912 |
3 | cakeml | 911 |
4 | mpl | 284 |
5 | SMLReader | 281 |
6 | reviews | 260 |
7 | SOSML | 169 |
8 | smlnj | 158 |
9 | smlpkg | 157 |
10 | sml-analyzer | 23 |
11 | ML | 11 |
12 | install-mlkit | 5 |
13 | sml-parseq | 4 |
14 | smlnj-viscomp-example | 4 |