Oh, hello hacker news!<p>Also potentially interesting to this crowd are the underlying editor, which I split out from the online Dusa editor and called "sketchzone" (<a href="https://github.com/robsimmons/sketchzone">https://github.com/robsimmons/sketchzone</a>). Some of my motivations and hopes for sketchzone are blogged here: <a href="https://typesafety.net/rob/blog/endless-sketchzone" rel="nofollow">https://typesafety.net/rob/blog/endless-sketchzone</a><p>Also, I more-or-less did Advent of Code 2024 in Dusa: journal entries and links to solutions are at <a href="https://typesafety.net/rob/blog/advent-of-dusa-2024" rel="nofollow">https://typesafety.net/rob/blog/advent-of-dusa-2024</a>
As someone whose day job involves a lot of graph analysis and logic programming[0], I'm always excited to see new applied research in this area. More energy is needed here.<p>Logic systems will be a key part of solving problems of hybrid data analysis (e.g. involving both social graphs, embedding spaces, and traditional relational data) - Cozo[1] sticks out as a great example.<p>[0] <a href="https://codeql.github.com/docs/ql-language-reference/about-the-ql-language/" rel="nofollow">https://codeql.github.com/docs/ql-language-reference/about-t...</a><p>[1] <a href="https://www.cozodb.org/" rel="nofollow">https://www.cozodb.org/</a>
Is there an implicit algorithm for how this language is evaluated? It seems hard to use without having an understanding of the likely performance of your code.
Genuinely asking: what are the advantages of this approach with other approaches like Prolog? How is the interplay between current state-of-the-art, and finite-choice logic programming over what was previously known about logic programming?
From <a href="https://dusa.rocks/docs/introductions/asp/" rel="nofollow">https://dusa.rocks/docs/introductions/asp/</a> :<p>> Answer set programming is a way of writing Datalog-like programs to compute acceptable models (answer sets) that meet certain constraints. Whereas traditional datalog aims to compute just one solution, answer set programming introduces choices that let multiple possible solutions diverge.<p>Fascinating! I could see useful applications in litigation (e.g., narrowing potential claims; developing the theory of the case; finding impeaching lines of questioning).
> Note that this if-then statement is written backwards from how it’s written in English: the “then” part, the conclusion is written first, followed by the :- symbol. After the :- symbol come the premises<p>Why not write it like it’s written in English? It could be one less thing to learn for people trying to adopt the language.<p><a href="https://dusa.rocks/docs/introductions/graph/" rel="nofollow">https://dusa.rocks/docs/introductions/graph/</a>
not only do I think that choice is a really important tool for writing pragmatic logic programs, this is a key piece to a really interesting goal - unifying logical and procedural programming (see verse)
Have to admit as a “regular”
developer using general purpose languages such as Java, C, Ruby, Perl, etc., most of this goes over my head, but at the same time I find the mix of Prolog and VB syntax fascinating and confusing.
My mind is blown, a new language where I can see new reach. Back in the day, APL was good at multidimensional arrays, and from there could outstrip Fortran shops at anything. A surprising swath of discrete reality can be viewed as a graph, or graphs of graphs. For me, computational group theory, combinatorial enumeration, canonical forms... All topics Claude 3.5 Sonnet happens to be exceptional at.<p>Even a month ago, I'd have asked "Where's the parallelism?" looking at any new language. AI has upended my world. My subscriptions are getting out of hand, they're starting to look like some peoples' sports channel cable bills. I'll be experimenting with the right specification prompt to get AI to write correct programs in three languages side by side, in either Cursor or Windsurf. Then ask it to write a better prompt, and go test that in the other editor. I'm not sleeping much, it's like buying my first Mac.<p>One constant debate I have with Claude is how much the choice of language affects AI reasoning ability. There's training corpus, but AI is even more appreciative of high level reasoning constructs than we are. AI doesn't need our idioms; when it taught itself the game Go it came up with its own.<p>So human documentation is nice, but who programs that way anymore? Where's the specification prompt that suffices for Claude to code whatever we want in Dusa?