TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Curry: A functional logic programming language

172 点作者 hyperbrainer21 天前

8 条评论

abathologist21 天前
Any one know how Curry (which has a Haskell-like syntax extended to support prologish features) compares with Mercury (which has a Prolog-like syntax extended to support Haskellish features)?
评论 #43798494 未加载
评论 #43798220 未加载
badmonster21 天前
How does Curry manage ambiguity in non-deterministic computations—especially when multiple valid instantiations exist for a free variable?
评论 #43797594 未加载
taeric21 天前
That example for "some permutation" is not at all easy for me to understand. I'm assuming I'm just not familiar with the general style?
评论 #43799960 未加载
currando21 天前
The documentation, current-report, is good for learning Curry.<p><a href="https:&#x2F;&#x2F;curry-lang.org&#x2F;docs&#x2F;report&#x2F;curry-report.pdf" rel="nofollow">https:&#x2F;&#x2F;curry-lang.org&#x2F;docs&#x2F;report&#x2F;curry-report.pdf</a><p>Interesting, the email at the end of this thread: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12668591">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12668591</a>
评论 #43798524 未加载
otherayden21 天前
Imagine having your first and last names turn into two separate programming languages lol
评论 #43800146 未加载
评论 #43799760 未加载
评论 #43801267 未加载
评论 #43798804 未加载
评论 #43800487 未加载
pmarreck21 天前
As is usual with any language that is new to me, would love a comparison of this language, in terms of a number of commonly-valued dimensions, with other languages:<p>speed, compare code samples of small algorithms, any notable dependencies, features (immutable data, static typing etc.), etc.
评论 #43797833 未加载
johnnyjeans21 天前
The comparisons they&#x27;re making don&#x27;t make sense to me. I don&#x27;t think I&#x27;ve ever even seen a logic language without nested expressions. Also VERY weird they give non-determinism as a feature of logic programming. Prolog is the only one off the top of my head that allows for it. Even most Prolog derivatives drop the cut and negation operations. In the broader scope of logic languages, most aren&#x27;t even turing complete, like Datalog or CLIPS.<p>I really feel like Prolog and its horn clause syntax are underappreciated. For as much as lispers will rant and rave about macros, how their code is data, it always struck me as naive cope. How can you say that code is data (outside of the obvious von neumann meaning), but still require a special atomic operation to distinguish the two? In Prolog, there is no such thing as a quote. It literally doesn&#x27;t make sense as a concept. Code is just data. There is no distinguishing between the two, they&#x27;re fully unified as concepts (pun intended). It&#x27;s a special facet of Prolog that only makes sense in its exotic execution model that doesn&#x27;t even have a concept of a &quot;function&quot;.<p>For that reason, I tend to have a pessimistic outlook on things like Curry. Static types are nice, and they don&#x27;t work well with horn clauses (without abusing atoms&#x2F;terms as a kind of type-system), but it&#x27;s really not relevant enough to the paradigm that replacing beautiful horn clauses with IYSWIM&#x2F;ML syntax makes sense to me. Quite frankly, I have great disdain even for Elixir which trades the beautiful Prolog-derived syntax of Erlang for a psuedo-Ruby.<p>One thing I really would like to see is further development of the <i>abstract architectures</i> used for logic programming systems. The WAM is cool, but it&#x27;s absolute ancient and theory has progressed lightyears since it was designed. The interaction calculus, or any graph reduction architecture, promises huge boons for a neo-prolog system. GHC has incidentally paved the way for a brand new generation of logic programming. Sometimes I feel crazy for being the only one who sees it.
评论 #43800304 未加载
评论 #43801470 未加载
Zambyte21 天前
Related:<p><a href="https:&#x2F;&#x2F;www.haskell.org" rel="nofollow">https:&#x2F;&#x2F;www.haskell.org</a><p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Haskell_Curry" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Haskell_Curry</a>