It's still early, but what do you all think about ...
# share-your-work
j
It's still early, but what do you all think about https://levlo.com? Any feedback is welcome, but I'd especially love to hear how do you understand the product based on the messaging on the site. What would you build with it?
a
'textual no-code' looks a lot like code to me! what am I missing?
j
yeah, it's a bit difficult term, but the best I came up with.. The point is that you're not actually writing text, but using a graphical user interface that, among other things, only allows you to input valid tokens for any given location.
there is no parsing, so the 'code' can look a lot more like natural language. "Programming in plain English" is another label I've used for it.
a
Fair enough! I'm being picky. I think if you squinted I think you could say any text editor "only allows you to input valid tokens for any given location". I'm not sure if it's plain English. I think this might be called a 'structure editor'?
j
I'd say basically all text editors allow you to type anything anywhere. Like you can type "1 ++" into your codebase even if anything you would add afterwards wouldn't make it valid code. And yes, this is structured/projectional editing.
a
I mean you can only type characters in a particular set (e.g. ascii, unicode) within a fixed grid.
f
I think the term you might be looking for is literate programming?
j
Well that's the programming language research field term yes, but would tell absolutely nothing to potential users 🙂
m
Hmm, yeah it's still code with if/else/+/-// tokens. If there's a small grammar, it could be nice to use, but for example AppleScript... I can't stand it, as a developer or non-developer. There are so many rules to the grammar that it makes it impossible to remember how to write it correctly. ... set AppleScript's text item delimiters to theSearchString The order of nouns, prepositions, verbs, plurality, it's not just longer than code, it's more confusing.
How do you build a UI with it? What does a simple application such as a To-do list look like?
Will there be support for numerical units? "travel distance > 10". 10 what? I think I understand it more.. it's like a textual (vs grid) spreadsheet?
j
I suppose it's bit of an academic discussion that what is code and what's not. I do still like to refer to what's written with Levlo as "Levlo code" too. I'd just point out that natural English does have if/else and mathematical operators when used in specific domains. The operators could easily be replaced with words in Levlo, but I thought it'd be unnecessarily verbose. Initially the idea is to target use-cases where a custom UI is not necessary (such as spreadsheet use-cases), however you'll be able to hide parts of the code and apply some styling to end up with a form UI. You can also host your Levlo App as a REST API so that it takes some of the inputs as query parameters and returns some of the computed values as results. This would allow you to build a completely custom UI for the logic implemented with Levlo.
You're probably right that if the grammar ends up being massive with many ways to write the same thing, it'll probably get difficult to use. But Levlo is not parsed so there's a lot more flexibility in designing the grammar than what AppleScript developers had. Also Levlo is able to offer the user an exhaustive list of valid tokens for any given location, so 'browsing' how to continue should be a lot easier.
Also, yes, my intention is to take the type system very far with numerical units, ranges, sets, and verified computations between different units.
m
Maybe it's not "code", but it is logic (logical and/or) and math, which code also uses. A structured editor that feels free-form is always nice. Some possibly related links: https://news.ycombinator.com/item?id=28009218 https://www.ibm.com/products/operational-decision-manager
j
Yeah, it's certainly logic and maybe I'd call any textual definition of logic "code", but then no-code refers to "not general purpose programming language code", not "not definition of logic", and textual doesn't mean a sequence of unicode/ascii/etc, but something that you can read as you read text. 😅 Interesting links! Thanks! Although, I'll pick Levlo over any of the tech listed 😄
m
It is sounding more like https://en.wikipedia.org/wiki/Logic_programming, with rules/clauses, formal logic.
j
Updated the site based on some feedback: https://levlo.com/
m
The new site does look nice and more precise. The other was a bit distracting.