<arigato>
so far they don't have an actual evaluation strategy, which makes it all a bit pointless imho
<cfbolz>
arigato: right, and indeed the existing functional-logic languages like curry indeed had similar questiosn
<cfbolz>
and various curry implementations had different strategies, iirc
<arigato>
ah, the paper I link to contains a proof of confluence, which I think means that the strategy "pick a random rule next and hope it does not diverge" would be valid
<arigato>
yes, "If R is confluent then every term reduces to at most one normal form."
dmalcolm has quit [Ping timeout: 268 seconds]
dmalcolm has joined #pypy
[KOR]Solidarity has joined #pypy
[KOR]Solidarity has quit [Max SendQ exceeded]
[KOR]Solidarity has joined #pypy
[KOR]Solidarity has quit [Max SendQ exceeded]
KOR_Solidarity has quit [Ping timeout: 256 seconds]
[KOR]Solidarity has joined #pypy
dmalcolm has quit [Ping timeout: 256 seconds]
[KOR]Solidarity has quit [Max SendQ exceeded]
[KOR]Solidarity has joined #pypy
dmalcolm has joined #pypy
<fijal>
is functional programming easy to reason about?
Dejan has joined #pypy
Dejan has quit [Client Quit]
<jean-paul[m]>
some forms of pure functional programming are eas_ier_ to reason about than other programming techniques
<jean-paul[m]>
(where "easier" really means there are more tools available for doing so, as well as fewer pieces to keep track of)
dmalcolm_ has joined #pypy
dmalcolm has quit [Ping timeout: 252 seconds]
<arigato>
fijal: as far as I can see, it's pushing functional-logic programming in an interesting direction
<arigato>
they define the language with a set of rewrite rules, which is new for functional-logic programming
<arigato>
and that means it would be possible to reason about what the computer does step by step, instead of "I write my program that somehow describes what I'm looking for, but I have no reasonable way of knowing if the computer will manage to find the answer"
dmalcolm has joined #pypy
dmalcolm_ has quit [Ping timeout: 268 seconds]
<arigato>
(there are still several rules that apply in a given situation, and "convergence" means that you get the same answer whenever you do, but they still have to provide an evaluation strategy, otherwise applying the wrong rule might never terminate
<arigato>
)
<fijal>
right, so "easier"
<arigato>
just saying, I'm just not sure jean-paul[m] was answering to that paper at all. your question was about functional languages, this paper is about a specific functional-logic (!= functional) language
<fijal>
is that something more than "lambda calculus with logic variables"?
<arigato>
it's *something* that includes both lambda calculus and logic variables, which are not immediately compatible with each other
<arigato>
also it is "easier" to reason about only in the sense that functional-logic programming is typically impossible to. there is no way I'd say it is easier than python
<arigato>
(and as far as I can tell, the research group is hired by Epic Games and gives their language a name with a link to the Metaverse, but this part is guaranteed 100% nonsense)
<jean-paul[m]>
Indeed I have not read the paper.
dmalcolm_ has joined #pypy
dmalcolm has quit [Ping timeout: 246 seconds]
dmalcolm_ has quit [Ping timeout: 268 seconds]
dmalcolm_ has joined #pypy
dmalcolm__ has joined #pypy
dmalcolm_ has quit [Ping timeout: 256 seconds]
<fijal>
is this "you can do whatever you want as long as you name it something with the metaverse"?
<cfbolz>
i think the "verse" name for tim sweeney's lang ideas is much older than current metaverse hype. I heard the theory that it's a pun: "an epic [poem]" is written in "verse"