passerine
seed7
passerine | seed7 | |
---|---|---|
10 | 41 | |
1,029 | 181 | |
0.5% | - | |
0.0 | 9.8 | |
almost 2 years ago | 8 days ago | |
Rust | C | |
MIT License | GNU General Public License v3.0 only |
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.
passerine
- Passerine: A small functional scripting language with macros, powered by Rust
-
The absurd complexity of server-side rendering
It's still a long way from being complete, but I'm working on something like that[0]. Eventual plans are to have good Rust library interop (e.g. bindings to hyper for http) while also being able to compile to Wasm (to run on an erlang-style distributed runtime / the browser). The language is currently interpreted, but one I get typechecking working, I should be able to merge in the Wasm codegen backend I'm working on (with eventual plans for LLVM). Current compiler has zero external dependencies.
Language itself could be described as a mix of OCaml, Scheme, and Lua. Currently working on the hygienic procedural macro system and system injection through algebraic effects.
[0]: https://github.com/vrtbl/passerine
-
I wrote a Cozy Programming language
Passerine was the next language i decided to try to fit onto paka, but alas this one too was eventually put aside for the time being.
-
Scripting Languages of the Future
Tossing my hat in for Passerine [1]. Gorgeous ML inspired syntax. Built for scripting Rust applications.
Dreaming here: Lua is a fantastic scripting language, but the Rust FFI isn’t as ergonomic as it could be. Enter Luster [2], which is basically LuaJIT rewritten in Rust.
Embedding a scripting language in a Rust application gives you tons of power (e.g. scripting Rust structs from Lua [3]), and setting this up isn’t terribly difficult.
[1] https://github.com/vrtbl/passerine
[2]: https://github.com/kyren/luster
[3]: https://git.sr.ht/~ioiojo/kiwi
- GitHub - vrtbl/passerine: A small extensible programming language designed for concise expression with little code.
-
Extensible syntax?
Seed7 and https://github.com/vrtbl/passerine (and seemingly more as others have suggested) have direct / first-class support of syntax declaration/definition in a homoiconic way, as powerful as LISPs, but feels more "natural" compared to a LISP.
-
Achieving nullable ergonomics with a real optional type without special compiler privileges.
It used to work pretty well only if the core PL makes semicolons programmable, but given the development of effect systems, plus customizable syntax as in https://github.com/ThomasMertes/seed7 and https://github.com/vrtbl/passerine , I'd say, there are much more we can do about it.
-
Passerine: An extensible and expressive new programming language
git clone https://github.com/vrtbl/passerine
- Passerine — extensible functional scripting langauge — 0.9.0 Released!
seed7
-
Seed7 version 2023-07-09 released on GitHub and SF
This release is available at GitHub and SF. There is also a Seed7 installer for windows, which downloads the newest version from SF. The Seed7 Homepage stays at its usual place. There is also a mirror of the Seed7 Homepage at GitHub.
-
Version 2023-05-29 of the Seed7 programming language released on GitHub and SF
Seed7 at GitHub
-
Build from source issue
bugmagnet@LAPTOP-H6HBEGA9:~$ git clone https://github.com/ThomasMertes/seed7 Cloning into 'seed7'... remote: Enumerating objects: 21021, done. remote: Counting objects: 100% (4660/4660), done. remote: Compressing objects: 100% (1118/1118), done. remote: Total 21021 (delta 3677), reused 4454 (delta 3515), pack-reused 16361 Receiving objects: 100% (21021/21021), 15.95 MiB | 6.47 MiB/s, done. Resolving deltas: 100% (18593/18593), done. bugmagnet@LAPTOP-H6HBEGA9:~$ cd seed7 bugmagnet@LAPTOP-H6HBEGA9:~/seed7$ make -f src/mk_linux.mak depend make: *** No rule to make target 'chkccomp.c', needed by 'chkccomp'. Stop.
-
Seed7 version 2023-04-22 released on GitHub and SF
No. You can see at GitHub that I update Seed7 quite often. Approximately once a month I do a release and this release is announced at r/seed7 and here.
-
Question about installation
The packages are not updated so often. So you are more up-to-date with the releases (or even more up-to-date by pulling from GitHub).
-
Exercism related questions
I committed a corresponding change to GitHub (Support syntax statements without $ (dollar)).
-
Seed7 version 2023-03-05 released on GitHub and SF
This release is available at GitHub and SF. There is also a Seed7 installer for windows, which downloads the newest version from SF. The Seed7 Homepage stays at its usual place. There is also a mirror of the Seed7 Homepage which uses HTTPS.
-
Have you heard about the Seed7 programming language?
Yes, I am regularly working on improvements for Seed7. The changes are checked in at GitHub (see here for the list of commits) and once a month I do a release which is announced at r/seed7.
-
Core-js maintainer complains open source is broken
It all depends on the circumstances behind. In the beginning the core-js maintainer had no family and now he has. When I released Seed7 I already had a family. It was clear that my job had to support my family and my hobby (GitHub link).
-
Seed7 version 2022-06-26 released on GitHub and SF
Syntax highlighting for the Nano editor has been added. Many thanks to Duke Normandin for creating seed7.nanorc.
What are some alternatives?
dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
xvm - Ecstasy and XVM
dmd - dmd D Programming Language compiler
ghc - Mirror of the Glasgow Haskell Compiler. Please submit issues and patches to GHC's Gitlab instance (https://gitlab.haskell.org/ghc/ghc). First time contributors are encouraged to get started with the newcomers info (https://gitlab.haskell.org/ghc/ghc/wikis/contributing).
sbcl - Mirror of Steel Bank Common Lisp (SBCL)'s official repository
langs-in-rust - A list of programming languages implemented in Rust, for inspiration.
PyBasic - Simple interactive BASIC interpreter written in Python
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
carnet - A Tool for Sandboxing Cargo and Buildscripts
piccolo - An experimental stackless Lua VM implemented in pure Rust
dolfinx - Next generation FEniCS problem solving environment