JeffreyBenjaminBrown / digraphs-with-text

BSD 3-Clause "New" or "Revised" License
65 stars 5 forks source link

Improve the UX #14

Open no-identd opened 5 years ago

no-identd commented 5 years ago

The current UX seems very "barebones".

This package:

https://hackage.haskell.org/package/brick-dropdownmenu

Offers some very simple ways to add dropdown menus. I think this could make things like e.g. making a better UI for disk operations a lot easier.

I also suspect that one could relatively easily implement Miller columns (See https://en.wikipedia.org/wiki/Miller_columns) for some of the UX.

JeffreyBenjaminBrown commented 5 years ago

I'm floored. Are you actually using it?

I agree, it needs some Brick.

I put DWT down a year or so ago because I was unsatisfied with the expressivity of queries in this Haskell implementation, and writing a general traversal engine is a really hard problem -- which languages like Prolog happen to have already solved. I intend to rewrite the app in Mercury. (Mercury is like Prolog but static-typed and fast.)

Mercury just gained an HTTP library, so eventually, probably, the goal will be to have Mercury serve the graph but Haskell handle the UI.

no-identd commented 5 years ago

I'm floored. Are you actually using it?

I admittedly half-heartedly tried a few times, but yesterday & today I tried again a lot more seriously - mostly to try to deal with a very esoteric linguistics 'problem'. (I put this in single quotes because I doubt most linguists would consider it one)

Reg. Prolog & Mercury: I assume that means you ditched the dyna plans mentioned in #12?

You might want to consider using Scala over Mercury - once Scala 3 hits the road, that is (Albeit I suppose one could use the pre-release version, too). See @jducoeur's Medium post for part of why:

https://medium.com/@jducoeur/what-is-transparent-in-scala-cf5c9e9350f3

This File in the Dotty Repo: https://github.com/lampepfl/dotty/blob/master/docs/docs/typelevel.md (Hacker News Comments here, but outdated: https://news.ycombinator.com/item?id=17469890)

And for more details on Scala 3 in general, see @odersky's keynote:

https://www.youtube.com/watch?v=nKZsHZIcReA

There's also @jaked's Scrolog, but it's significantly older (2011!) and not nearly as powerful:

http://ambassadortothecomputers.blogspot.com/2011/06/logic-programming-in-scala-part-3.html

P.S.: There also exist some powerful constraint programming facilities in Scala:

https://oscarlib.bitbucket.io/