Here's an example of composable CLI/HTTP/TCP/socket Morloc tools: medium.com/@morloc/maki....
26.02.2026 23:16 — 👍 0 🔁 0 💬 0 📌 0Here's an example of composable CLI/HTTP/TCP/socket Morloc tools: medium.com/@morloc/maki....
26.02.2026 23:16 — 👍 0 🔁 0 💬 0 📌 0This image shows a morloc build command on code that has a type error (the addition of a string to a number). The error is described and the source code of the offending line is shown.
For seven years I have procrastinated writing proper error formatting. There was always something more pressing to do. But now it is finally here. Well, at least the formatting. Still more work needed to make the error analysis more informative.
09.02.2026 01:33 — 👍 0 🔁 0 💬 0 📌 0This image shows the morloc code defining a custom binary operator for composing functions. It is set to be left associative with a precedence of 9.
Releasing #morloc v0.60.0! This release introduces custom binary operator support. The root libraries have been rewritten to offer standard arithmetic, logical, and comparison binary operators. The composition operator (see image) is now defined in #morloc code, not hard wired.
08.02.2026 03:21 — 👍 0 🔁 1 💬 0 📌 0A side-by-side view of Morloc code, left, and Python code, right. The python code defines a small app with uvicorn and fastapi and exports the functions, run_app, that starts the app. The Morloc code imports run_app, defines docstrings specifying how the two arguments (host and port) map to CLI arguments, and rexports it.
Here is a template Morloc app. With a few more lines, we can pass in strongly-typed, polyglot Morloc libraries. I'll make a larger demo using an Elm-like architecture soon.
08.01.2026 23:34 — 👍 0 🔁 0 💬 0 📌 0The #morloc paper is now available on @PeerJCompSci peerj.com/articles/cs-.... Huge thanks to the two reviewers and the PeerJ editors!
02.01.2026 12:18 — 👍 0 🔁 0 💬 0 📌 0With morloc-manager v0.5.2 we can now define our own containerized #morloc environments.
02.01.2026 07:06 — 👍 1 🔁 0 💬 0 📌 0Release #morloc v0.58.2! Now docstrings can specify how CLIs are generated. Arguments may be optional and have defaults. Records can be translated to groups of arguments.
29.12.2025 02:22 — 👍 0 🔁 0 💬 0 📌 0The new #morloc getter and setter patterns are the most radical of the new changes in v0.57.1. They offer a succinct syntax for generating functions that access or update data. They replace the many little helper functions #morloc previously required. Here are a few examples:
13.11.2025 03:13 — 👍 0 🔁 1 💬 0 📌 0An image of code showing a multi-line string and describing the rules used to trim whitespace: 1. If the first character in the string is a newline, it will be removed 2. If the final character in the string is a newline, it will be removed 3. An equal number of leading whitespace characters is removed from each line such that the line with the fewest leading whitespace characters is flush left.
*multi-line strings* allow triple-quotes to enclose strings that span multiple lines and automatically trims whitespace. See example below where the trimmed whitespace is highlighted:
13.11.2025 03:01 — 👍 0 🔁 1 💬 0 📌 0The expression `hellowWorld x = "Hello #{x}"`, which shows how morloc expressions can be substituted into string expressions.
*string interpolation* allows #morloc expressions to be substituted into strings. Currently the behavior is quite minimal and works only for expressions that evaluate to strings. In the future more formatting options will be added.
13.11.2025 02:49 — 👍 0 🔁 1 💬 0 📌 0Show the expression `map (sub _ 1) [1,2,3]` which produces [0,1,2] and the expression `map (_,42) [1,2,3]` which generates the list of tuples [(1,42),(2,42),(3,42)].
*placeholder syntax* allows expressions with underscores to be translated into lambas expression. For example:
13.11.2025 02:45 — 👍 0 🔁 1 💬 0 📌 0Releasing Morloc version 0.57.1! There are 5 major new features: placeholder syntax, string interpolation, multi-line strings, and getter and setter patterns. I'll introduce all of each of these in dedicated posts.
13.11.2025 02:37 — 👍 0 🔁 1 💬 0 📌 0Releasing #morloc v0.55.1! Many bug fixes and a whole new module system. Also, here's one test suite running in three languages:
30.09.2025 03:39 — 👍 0 🔁 0 💬 0 📌 0
#morloc meetup this Saturday and Tuesday are canceled, we'll resume the week after. I've been under the rocks trying to fix Morloc's language selection algorithm -- brain's too fried to English.
Also, I've been thinking about strongly typed functional programming and AI. #hackathon #foreshadowing
It should also work on zsh, bash, fish, and every other conceivable shell. After creating the bin folder, it updates the relevant shell config file, and sources it.
20.08.2025 04:01 — 👍 0 🔁 0 💬 0 📌 0The morloc-manager install subcommand in the terminal. Before updating config files and the PATH, it politely asks permission.
Now, as per @j23414.bsky.social suggestion, the #morloc installer asks permission before altering paths and places them in the ~/.morloc/bin directory.
20.08.2025 03:59 — 👍 0 🔁 0 💬 1 📌 0Thanks all! Lots of good feedback on the install scripts. One being, why use containers at all? For now I'll fix my script. Hopefully next time we can do less installation and more programming. Long-term, I need to ship binaries and add Morloc to all the package managers.
19.08.2025 23:27 — 👍 0 🔁 0 💬 1 📌 0
Meetup tomorrow at 5pm ET (Aug 19). I'll introduce the install manager, review the composable CLI tools from last week and demo a FASTQ trimmer.
I'd also like to hear your thoughts on what #morloc would need for you to use it in your workplace.
See you on discord: t.co/PBu4CyrvZe
Thanks everyone for joining! Main takeaways: new install manager seems to be working, I need to update #morloc on #hackage (I'm about 5 years out of date), and #vlang looks like a good thing.
We might changes times for next Saturday meeting, I'll keep you posted.
#morloc #meetup today at 1pm ET (Sat, Aug 16)! We'll talk about composable CLI tools and the new installation manager. Anyone is welcome, just show up and join the public chat.
On Discord: discord.gg/dyhKd9sJfF
An image from the command line showing the `morloc-manager install` command pulling containers and setting up the Morloc executables.
#morloc now has an install script that streamlines container installation, container selection (podman or docker), morloc home setup, and executable generation. See the GitHub repo (github.com/morloc-proje...) and the manual (morloc-project.github.io/docs/#_insta...).
15.08.2025 00:32 — 👍 0 🔁 0 💬 0 📌 0Now, the downside is that after finally getting this grammar working I find that I can't PR to GitHub linguistic, the requirement for GitHub syntax highlighting, until I have 200+ repos using #morloc code. So ... back to community building.
09.08.2025 00:17 — 👍 0 🔁 0 💬 0 📌 0Highlighted morloc code and oh so loverly concrete syntax tree
To update, Tree-sitter grammar is now fully working. All code in the #morloc test suite passes the grammar without error.
Feast your eyes on this colorful code and sexy tree:
The source code for three Morloc modules, the first two import functions from Python or R. The last module imports the first two modules.
The Morloc code for this is as follows:
08.08.2025 16:09 — 👍 0 🔁 0 💬 0 📌 0Usage statements generated for two command line tools (one that displays a calendar and one that rolls dice). The two command lines tools are composed into a single tool exporting the pooled arguments.
Composable command line interface tools with #morloc!
08.08.2025 16:08 — 👍 0 🔁 0 💬 1 📌 0You might notice there is a mysterious "comment" node at the end ... that's not supposed to be there 😒
01.08.2025 00:24 — 👍 0 🔁 0 💬 1 📌 0A tree-sitter run produces highlighted code and a concrete syntax tree
Almost got the #Treesitter grammar working!
github.com/morloc-proje...
Just needs a little cleaning and testing. Next I can do a little PR to GitHub and then will finally have colors in my repo code. This also can be used in editors like Zed and Neovim.
Morloc code highlighted in VS Code
#Morloc #VSCode extension is alive!
Thanks to @j23414.bsky.social for helping with the setup!
Release v0.54.1 - bug fixes and a simplified README
27.07.2025 04:17 — 👍 0 🔁 0 💬 0 📌 0
/ 👏 Special shoutouts:
Sanket Wagle and Sriram Vijendran: for nix-shell packaging & #WASM ideas
Jennifer Chang, Scott Chamberlain, Arun Seetharam, Paul Scheid, and Jon Sundin: for testing installation and vetting examples
Andrew Wilkey for creating a Morloc syntax-highlighting Discord bot