UCL The RSS feed for UCL.

A toy command language, similar to TCL.

  • UCL: Breaking And Continuation

    I’ve started trying to integrate UCL into a second tool: Dynamo Browse. And so far it’s proving to be a little difficult. The problem is that this will be replacing a dumb string splitter, with command handlers that are currently returning a tea.Msg type that change the UI in some way. UCL builtin handlers return a interface{} result, or an error result, so there’s no reason why this wouldn’t work. But tea. Continue reading β†’

  • UCL: The Simplifications Paid Off

    The UCL simplifications have been implemented, and they seem to be largely successful. Ripped out all the streaming types, and changed pipes to simply pass the result of the left command as first argument of the right. "Hello" | echo ", world" --> "Hello, world" This has dramatically improved the use of pipes. Previously, pipes could only be used to connect streams. But now, with pretty much anything flowing through a pipe, that list of commands has extended to pretty much every builtins and user-defined procs. Continue reading β†’

  • Simplifying UCL

    I’ve been using UCL for several days now in that work tool I mentioned, and I’m wondering if the technical challenge that comes of making a featureful language is crowding out what I set out to do: making a useful command language that is easy to embed. So I’m thinking of making some simplifications. The first is to expand the possible use of pipes. To date, the only thing that can travel through pipes are streams. Continue reading β†’

  • UCL: First Embed, and Optional Arguments

    Came up with a name: Universal Control Language: UCL. See, you have TCL; but what if instead of being used for tools, it can be more universal? Sounds so much more… universal, am I right? πŸ˜€ Yeah, okay. It’s not a great name. But it’ll do for now. Anyway, I’ve started integrating this language with the admin tool I’m using at work. This tool I use is the impetus for this whole endeavour. Continue reading β†’