Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 07 14:37

    promovicz on master

    Update to 2022.1 Cleanup Ignores and 1 more (compare)

  • Dec 07 00:19
    cgay synchronize #30
  • Dec 07 00:12
    cgay synchronize #30
  • Dec 06 20:37
    housel commented #1321
  • Dec 06 08:12
  • Dec 06 04:41
    housel closed #1468
  • Dec 06 04:41

    housel on master

    build: Fix rpath search for lib… Merge pull request #1468 from h… (compare)

  • Dec 05 05:20
    cgay opened #30
  • Dec 05 03:54

    cgay on master

    Hacker Guide: add post-release … Merge pull request #1466 from c… (compare)

  • Dec 05 03:54
    cgay closed #1466
  • Dec 05 03:53
    cgay synchronize #1466
  • Dec 05 03:52
    cgay synchronize #1466
  • Dec 03 06:22
    housel opened #1468
  • Dec 01 14:55

    cgay on master

    doc: move content from README t… Merge pull request #45 from cga… (compare)

  • Dec 01 14:55
    cgay closed #45
  • Dec 01 07:13
    cgay opened #45
  • Nov 30 06:49

    cgay on master

    README.md: pkg.json -> dylan-pa… doc: Note that the dylan tool i… (compare)

  • Nov 30 04:25
    cgay opened #1
  • Nov 30 00:12

    cgay on master

    Downloads: Remove 32-bit builds… (compare)

  • Nov 29 23:36

    cgay on master

    GitHub CI: use the 2022.1 relea… Merge pull request #1467 from c… (compare)

promovicz
@promovicz
I've been working on a command interface system called klish. it's an embedded product type of thing written in C and using XML command definitions.
Carl Gay
@cgay
prom, did you just get up or you're still up? :)
i'm off to bed. g'night!
promovicz
@promovicz
still. spent the night with a friend. good night though.
Bruce Mitchener
@waywardmonkeys
@promovicz I have a partial port to Rust as well somewhere.
promovicz
@promovicz
@waywardmonkeys of command-interface?
Peter S. Housel
@housel
or of klish?
Bruce Mitchener
@waywardmonkeys
Command-interface
I stopped when I ran into a philosophical issue of the nature of things.
promovicz
@promovicz
cool. i think the grammar/node/completion core is pretty good. I don't think I have any changes in my head for that. you used a proper line editor, right? ;)
Bruce Mitchener
@waywardmonkeys
I didn’t do the line editor part
The completion is where I ran into a philosophical problem.
promovicz
@promovicz
I'd like to hear your case. I've long been trying to figure out the ultimate abstraction for those things.
Bruce Mitchener
@waywardmonkeys
@promovicz Well, I want in the end something like CLIM where you maintain the relationship between a thing and its on-screen relationship ... and since types aren't values in Rust, I run into some issues there ... and I didn't have a solution that I liked at the time (some years ago now) for how to handle a system of types for values.
I think.
promovicz
@promovicz
ah. right. I think I get it. I've seen a (rust IIRC) shell somewhere that tries to be a bit like powershell. i wonder how they did it.
Bruce Mitchener
@waywardmonkeys
I think I also ran into the philosophical issue of "Why am I even doing anything when no one cares, and anything that I care about would require help from others to get to the point of being useful?" ... but that's separate.
1 reply
You probably mean nu ... I've submitted fixes for it in the past. They end up having a whole language and data type system, but it isn't actually all that powerful (the type system).
Such that doing almost anything I wanted to do would require significant foundational work.
I think I looked at that a few months ago, but it might've been last year already.
promovicz
@promovicz
dylan would have a much easier time doing what powershell is doing on windows. object pipelines. property filtering. informed table rendering.
Bruce Mitchener
@waywardmonkeys
Well, there's a lot of other stuff out there doing things.
Like you have DataFusion, which leverages Arrow and supports a bunch of the needed stuff at that level.
but Arrow is basically primitive types and I need something far richer atop that.
promovicz
@promovicz
I was about to say that dylan should have a much easier time representing all sorts of things in that arena...
I do have an idea of how to do all that generally, but I'm not committed to doing it yet.
Bruce Mitchener
@waywardmonkeys
I've done a few "user space" type systems over the years, some with compile time guarantees ... in Scala, less in Rust, etc ... I should give it a look again.
I also need to dig up my design notes on a data fingerprinting / detection system ... would be relevant to some contract work that I'm doing (in Rust).
Where given lexical values, determine which possible types they might be, especially in the context of a column of data and a possible header / key name.
Which is also useful in the command stuff, since you want to take lexical values and convert them to useful types.
promovicz
@promovicz
ideally the command language should have three grammar levels: lexical (obvious, improve existing lexer), phrasal (some simple parser, pipes and command sequences, maybe blocks) and the command grammar. I'm on the fence about blocks because that would be a clone of unix shell. but why not. it's "easy" to do.
and then do object pipes and some table printing. and at some point do it in graphics because I like PowerGUI.
"given the time". but what exists in command-interface fits into that.
shorter-term goal: file completion. locators can't do it. that's a solvable problem.
and I'm going to generalize and remix the shell/editor classes so they are easy to use. that involves a trivial activity system on the terminal.
Bruce Mitchener
@waywardmonkeys
At the lexical level, I mean things like being able to specify "radians" and constrain the value appropriately ... or "latitude,longitude" or "64 bit address" or "x86_64 register name"
promovicz
@promovicz
(activities like on android - a stack of interactive widgets)
yeah, that sort of lexical option is why I allow for command grammar ambiguosity. that is specifically to allow for using external parsers and spares the command interface from any sort of lexing beyond string quoting.
Bruce Mitchener
@waywardmonkeys
(but also knowing that something is-a integer or is-a float or is-a string ... I had stuff like that kind back in the late 90s in a different command system ... it is occasionally tempting to just go back to that.
and yeah .. it would be separate, but I needed to find a good trait / design for integrating with completion and never ended up doing that.
promovicz
@promovicz
nice. I'm gonna turn in soon, but I'm glad for the insight.
Bruce Mitchener
@waywardmonkeys
I'd thought about using xsd types, I think ... but they have their own issues! there's a good need for stuff in this space.
Good night.
promovicz
@promovicz
klish goes the C route. some regex option support. limited to being router-cli like with no real language, not even pipes.
Bruce Mitchener
@waywardmonkeys
My daughter doesn't know it yet, but she needs the ability to execute some commands on some Arduino hardware to control her robotic car project via means other than Bluetooth LE.
I'm thinking about changing her from a tiny bit of C code to some Rust ... since I already do Rust on ESP32 ...
promovicz
@promovicz
@waywardmonkeys it's not for arduino but "oops I did that" - https://github.com/promovicz/qcli/blob/master/main.c
that code comes from deep embedded so it has no real dependencies except for stdio.
and it's less than 4k on x86, libc excluded.
Bruce Mitchener
@waywardmonkeys
Don't even need stdio ... some extra functions and a command enum will be enough for her for now, I think.