butter
DISCONTINUED
Forscape
Our great sponsors
butter | Forscape | |
---|---|---|
2 | 16 | |
111 | 30 | |
- | - | |
8.9 | 7.8 | |
5 months ago | 8 days ago | |
Rust | C++ | |
Apache License 2.0 | MIT License |
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.
butter
-
August 2022 monthly "What are you working on?" thread
Butter has continued in development. Currently working on pretty printer so that I could test out typed ast before working on next stage: mid-level IR and lifetime analysis. It was in hiatus when I was in busy uni stuffs. But now I think I have more time now.
-
June 2021 monthly "What are you working on?" thread
Hello! I've been working on Butter programming language and it's starting to get shape. Butter is heavily influenced by Rust and I want it to be concise and high-level as much as possible.
Forscape
-
[Weekly] What is everybody working on? Share your progress, discoveries, tips and tricks!
Finally adding multi-file support to Forscape. The frontend UI aspects are completed and I'm quite happy with the result. The app is Unicode heavy and QString's UTF-16 encoding is an annoyance; I would much prefer if Qt relied on std::string even. But the signal/slot mechanism lets you achieve some complicated behaviour with minimal complexity, and Qt looks great.
-
Build Qt Project w/GitHub Actions
Here's an example from a project. The first step installs Qt, the second step clones my repo on the runner, then a bit more setup with Conan, then building and running.
-
C++ Show and Tell - November 2022
I've been working on the Key CAS project (Imgur Screenshot), CAS being an acronym for Computer Algebra System, and "Key" a judiciously chosen title. This was my third time attempting CAS- this iteration was a huge improvement, but I still find it to be a damn hard problem. The GUI comes from the open source project Forscape, a scientific computing environment written in C++.
-
What Operators Do You WISH Programming Languages Had? [Discussion]
It gets fun when you go beyond flat symbols and start supporting 2D notation, like fractions and matrices. Probably not worth the hassle for most things, but I think it makes matrix expressions more compact with better readability.
-
Forscape: what features are in your ideal scientific language?
Forscape is a scientific computing language in development. It supports first-class matrices and common matrix operations. The language reached a milestone when it achieved similar performance to other prominent scientific langs on a computationally involved numerical problem from my graduate school years. At this point, I am unsure where the development should go next and I would appreciate advice. What do you find missing in scientific computing languages? What are essential features that you need/enjoy?
-
August 2022 monthly "What are you working on?" thread
Forscape, currently entirely numerical, is only getting minor edits while I start on a standalone CAS project. It's based on an earlier attempt, and I find myself better suited for the work this time. The logic rules are implemented, like (A ∧ B) ∨ (A ∧ ¬B) ⇒ A. The last iteration taught me it's important to do the logic first, because for arithmetic there are conditional rules like x/x ⇒ 1 if x ≠ 0, else undefined. I am worried if a compiler using CAS for optimisations and features will have scaling problems on large programs, but the project will be an interesting experience at the least.
-
Does anyone really like what Mathematica achieves, but hates the syntax?
I have similar goals with Forscape, although it is a traditional desktop app and I hope to implement term rewriting fast enough to run interactively in the editor. Are you developing publicly, or keeping your lang under wraps for now?
-
May 2022 monthly "What are you working on?" thread
I managed to implement static dimensions for Forscape, as displayed by the tooltips where it is deduced that a variable is a member of ℝ³˟³. This is the last purely PL feature for a v1.0 of the language. The current static analysis step is a bit of a stop-gap; robust static evaluation will easily exceed the combined complexity of the editor, parser, symbol resolution, and interpreter built so far- which is a moving target beyond the initial design. I would like to add plotting and improve the editor interaction before a 1.0 release. The current feature set is an accomplishment, but there is still plenty of room for growth, if I can find the motivation and hope.
-
Should programming languages switch to special characters (gliphs) for it's code?
For specific domains like high-level scientific computing, special characters can help. I'm playing with a lang that uses IDE buttons and typing shortcuts to allow special characters, Forscape. You can execute code like:
What are some alternatives?
awesome-low-level-programming-languages - A curated list of low level programming languages (i.e. suitable for OS and game programming)
boba - A general purpose statically-typed concatenative programming language.
Argon - Argon programming language
xvm - Ecstasy and XVM
awesome-programming-languages - The list of an awesome programming languages that you might be interested in
ShnooTalk - ShnooTalk is a new programming language
sligh - Experimenting with a language for generating infrastructure code based on an infra-agnostic language
tailspin-v0 - A programming language with extreme data-pattern matching and data-declarative syntax, hopefully different enough to be interesting
MLStyle.jl - Julia functional programming infrastructures and metaprogramming facilities
tokay - Tokay is a programming language designed for ad-hoc parsing, inspired by awk.