Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
will_byrd
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
31.
▲
by
will_byrd
6y ago
One thing I love about this wonderful story is that it shows you can use constraint logic programming to solve a problem (in a hilariously roundabout way), by using a tower of languages: Level 0: PROLOG Level 1: (non-relational implementati
32.
▲
by
will_byrd
6y ago
Wait--it does run backwards!? I had thought that the non-logical features at the Prolog-implementation-of-Lisp level would lose relationality. And it does, at the level of the Lisp implementation. But you gain relationality at the micro
33.
▲
by
will_byrd
6y ago
This is a work of high art. Now make everything run backwards! :)
34.
▲
by
will_byrd
7y ago
Me too. We'll write one soon. Right now we are hacking on mediKanren to do drug re-purposing for COVID-19. I also work on miniKanren and am very interested in synthentic biology. We should talk! Please email me. --Will
35.
▲
by
will_byrd
10y ago
I spoke at PolyConf two year ago, and really enjoyed it! https://www.youtube.com/watch?v=eQL48qYDwp4 There was only one problem--beer instead of milkshakes at the reception. ;)
36.
▲
by
will_byrd
10y ago
Sorry for the slow reply. As I understand it, Solar-Lezama's approach is based on CEGIS (counter-example guided inductive synthesis), using a model checker or similar tool to generate counter examples from a specification. Barliman cu
37.
▲
by
will_byrd
10y ago
> If you'd prefer to take this discussion to email we can. Sure. I'll take a crack at these followup questions first, though! > I think that my question was a bit too ambiguous. I think that I meant like an area where logic
38.
▲
by
will_byrd
10y ago
I gave a short, semi-technical explanation of how Barliman performs synthesis in my answer to `YeGoblynQueenne`. I'm not sure if that description answers your question, though. I agree that relatively modest synthesis could be useful;
39.
▲
by
will_byrd
10y ago
Barliman's synthesis is based on the "relational interpreter" approach described in this 2012 Scheme Workshop paper: William E. Byrd, Eric Holk, and Daniel P. Friedman. miniKanren, Live and Untagged: Quine Generation via Rela
40.
▲
by
will_byrd
10y ago
> c.) Is there a particular area of problems that would really benefit from being solved with logic programming? E.g. I was surprised to learn that Windows used to have an embedded prolog interpreter for network configuration and I reali
41.
▲
by
will_byrd
10y ago
Thanks for the post, the pull requests, and the questions! I find that it's impossible to give enough context when answering high-level questions such as these, so some of my answers will probably seem more provocative or critical than
42.
▲
by
will_byrd
10y ago
Very nice! Thanks. You might be interested in this paper and code on the implementation of microKanren, a minimal implementation of core miniKanren. The core implementation is under 50 lines of Scheme code. Jason Hemann and Daniel P. Frie
43.
▲
by
will_byrd
10y ago
Yes, it's a prototype editor with interactive example-based synthesis. Barliman's synthesis can try to fill in "missing" sub-expressions in a Scheme definition. However, there is also a TDD component that might not be o
44.
▲
by
will_byrd
10y ago
Cool! What was the other post?
45.
▲
by
will_byrd
10y ago
Thanks for the great links! I really enjoyed the Statistical Relational Learning book. Rob Zinkov and I have worked on two prototypes of probKanren ( https://github.com/webyrd/probKanren ), a probabilistic version of min
46.
▲
by
will_byrd
10y ago
Good question! I'm not sure how easy it would be to compile Barliman under GNUStep. I would like to have a version of Barliman that runs on different platforms, perhaps using JavaScript/Clojurescript/whatever. The GUI part o
47.
▲
by
will_byrd
10y ago
Good questions! I'm fading, but hope to answer these questions, and the rest that have been posted, tomorrow. :)
48.
▲
by
will_byrd
10y ago
Inductive Logic Programming is really interesting. I'd really like to explore similarities between ILP and the synthesis used in Barliman--I suspect Barliman's example-based synthesis could get a real boost from ILP. One book I h
49.
▲
by
will_byrd
10y ago
Thanks for the question! I've heard of MPS but I don't know much about it. I need to watch the demos/screencasts! I'm very much interested in "tools for thought," which could include deduction assistants, but
50.
▲
by
will_byrd
10y ago
* Matt Matt -> Matt Might. Getting a little sleepy! ;)
51.
▲
by
will_byrd
10y ago
Yes, using templates for common patterns could be helpful. Or even using machine learning over existing code bases to infer such templates. Similar to the use of templates is Matt Might's suggestion of using Barliman for code repair--
52.
▲
by
will_byrd
10y ago
Yes, specifying behavior can be tricky. But I think there are ways to make it manageable. And, if you think type annotations, unit tests, property-based testing (as in Quickcheck), or contracts are useful, you are already specifying behav
53.
▲
by
will_byrd
10y ago
Good point! I like the idea of using a wavy red line. Thanks! Yeah the user interface is pretty budget right now. :) I've been teaching myself Swift and Cocoa programming, and still have lots to learn. And I've been concentra
54.
▲
by
will_byrd
10y ago
Hopefully my answer above makes this more clear. The high-level idea is that if you are going to take the trouble to specify the type of a function (as in Haskell), and tests that use the function (as in unit testing), and high-level proper
55.
▲
by
will_byrd
10y ago
Good questions! > It's my impression, as a programmer, that the difficult task is defining ones program logic without ambiguity. Certainly the unambiguous specification of a program's behavior is a difficult task! Barliman
56.
▲
by
will_byrd
10y ago
Thank you for posting the links! For anyone interested in how the relational interpreter powering Barliman works, here is a short talk I gave at PolyConf last year: https://www.youtube.com/watch?v=eQL48qYDwp4 And here is a
57.
▲
by
will_byrd
10y ago
Thanks! Yes, Barliman is ambitious. Both the synthesis capabilities and the interface will need to improve before Barliman might be useful for practicing programmers. One question Barliman is trying to explore is whether relatively modest
58.
▲
by
will_byrd
10y ago
Good question! Since I imagine hangouts based on improving/exploring/experimenting with Barliman, or other similar tools, knowledge of interface design, GUI programming, parallel programming, EC2, etc., should be just as useful as
59.
▲
by
will_byrd
10y ago
Thanks for the comment! I agree! The newer interface includes an "Illegal sexpression" messages, but still uses the sickly green color. I need to fix this--any suggestions? :)
60.
▲
by
will_byrd
10y ago
One more high-level comment. I'm thinking of starting a series of Google Hangouts to explain how Barliman works, and more importantly, to collaborate on making the underlying technology better and explore alternative interfaces. This
More ›