Sign in

morloc

@morloc-project.bsky.social
9 followers 4 following 37 posts

The project page for morloc, a language where you can compose functions across languages under a common type system

PostsRepliesMedia
morloc @morloc-project.bsky.social · 12/08/2026
#morloc can now generate MCPs. I posted on this over at dev.to dev.to/arendsee/mak...
000
morloc @morloc-project.bsky.social · 03/08/2026
#morloc now supports the #rust and #futhark languages. Here is a Futhark-generated sobel transform of my favorite propaganda poster.
000
morloc @morloc-project.bsky.social · 15/07/2026
Just presented #morloc at #ismb #bosc! I've been under the rocks for last few months hammering out some very cool new features. I'll share them over the next few belated posts.
111
morloc @morloc-project.bsky.social · 26/02/2026
Here's an example of composable CLI/HTTP/TCP/socket Morloc tools: medium.com/@morloc/maki....
medium.com
Making composable interfaces with Morloc
In this post, I will describe how to use Morloc to transform simple functional libraries into composable CLI tools, HTTP/TCP APIs, and UNIX…
000
morloc @morloc-project.bsky.social · 09/02/2026
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.
This 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.
000
morloc @morloc-project.bsky.social · 08/02/2026
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.
This 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.
001
morloc @morloc-project.bsky.social · 08/01/2026
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.
A 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.
000
morloc @morloc-project.bsky.social · 02/01/2026
The #morloc paper is now available on @PeerJCompSci peerj.com/articles/cs-.... Huge thanks to the two reviewers and the PeerJ editors!
peerj.com
morloc: a workflow language for multi-lingual programming under a common type system
A conventional scientific workflow consists of many applications with untyped data flowing between them. Each application builds an internal data structure from input files, performs an operation, and...
000
morloc @morloc-project.bsky.social · 02/01/2026
With morloc-manager v0.5.2 we can now define our own containerized #morloc environments.
010
morloc @morloc-project.bsky.social · 29/12/2025
Release #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.
000
morloc @morloc-project.bsky.social · 13/11/2025
The 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:
001
morloc @morloc-project.bsky.social · 13/11/2025
*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:
An 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.
001
morloc @morloc-project.bsky.social · 13/11/2025
*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.
The expression `hellowWorld x = "Hello #{x}"`, which shows how morloc expressions can be substituted into string expressions.
001
morloc @morloc-project.bsky.social · 13/11/2025
*placeholder syntax* allows expressions with underscores to be translated into lambas expression. For example:
Show 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)].
001
morloc @morloc-project.bsky.social · 13/11/2025
Releasing 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.
001
morloc @morloc-project.bsky.social · 30/09/2025
Releasing #morloc v0.55.1! Many bug fixes and a whole new module system. Also, here's one test suite running in three languages:
000
morloc @morloc-project.bsky.social · 23/08/2025
#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
000
morloc @morloc-project.bsky.social · 19/08/2025
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
100
morloc @morloc-project.bsky.social · 16/08/2025
#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
discord.gg
Join the morloc Discord Server!
Check out the morloc community on Discord - hang out with 14 other members and enjoy free voice and text chat.
100
morloc @morloc-project.bsky.social · 15/08/2025
#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...).
An image from the command line showing the `morloc-manager install` command pulling containers and setting up the Morloc executables.
000
morloc @morloc-project.bsky.social · 08/08/2025
Composable command line interface tools with #morloc!
Usage 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.
100
morloc @morloc-project.bsky.social · 01/08/2025
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.
A tree-sitter run produces highlighted code and a concrete syntax tree
100
morloc @morloc-project.bsky.social · 29/07/2025
#Morloc #VSCode extension is alive! Thanks to @j23414.bsky.social for helping with the setup!
Morloc code highlighted in VS Code
032
morloc @morloc-project.bsky.social · 27/07/2025
Release v0.54.1 - bug fixes and a simplified README
000
morloc @morloc-project.bsky.social · 20/07/2025
🌟 Huge thanks to everyone who joined the first virtual #morloc #hackathon yesterday! We spent the day beta-testing the Morloc language, smoothing out install issues and running our first programs together. 🚀 Morloc execution is now tested on Linux, MacOS, and Windows (via WSL)!
102
morloc @morloc-project.bsky.social · 01/07/2025
Sharing the #morloc language! Compose functions across languages under a common type system. In #bioinformatics, build better workflows by switching from the file/application-based paradigm to a native function paradigm. Looking for adventurous first adopters! [Paper pre-release](shorturl.at/q10tO)
shorturl.at
ZWA
111