| Newsgroups |
gmane.comp.lang.concatenative |
| Message-ID |
<CACe=ECp=La31Eu2X+WH1wJoAO6hKJXDBHMY92gvbMB-ojGoUOw@mail.gmail.com> |
--RsvTMrc5Uxet7Bu3XK3akDKEWANZYZV0ROUpF7t
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
]> Where's formal proof of Haskell's claim to be able to avoid the need to
]> tell the machine what to do step-by-step, and just provide it with a
]> <description of the problem>, and allow it to workout/search for a route
]> to the solution?
]
] Do you have a specific quote in context for the claim for better
] understanding of the question?
http://blog.wolfram.com/2015/02/11/qa-with-michael-tiller-
author-of-modelica-by-example/
Modelica is important because, as I mentioned previously, it
captures a representation of people's models in an open way and in a
way that can be reasoned about. This comes from the fact that
= Modelica is a declarative language, not an imperative language. When
you deal with typical programming languages, the imperative
constructs (e.g., do this, now do that, now loop until this is true,
then overwrite that result) make it nearly impossible to actually
extract the high-level intention of the user (at least not without a
tremendous amount of discipline). Modelica is not a language of
statements and operations, it is a language of relationship: how
variables relate to each other through an equation, how the values
of a variable are related to a type (and its physical units), how a
resistor is related to a capacitor through connections in a
schematic diagram. The point is that the structure of the model and
all of these relationships are always preserved in Modelica.
This property has been leveraged extensively to create very fast
simulations by being able to reason about these relationships. We
can see which variables depend on which other variables and use this
to efficiently perform calculations, minimize the number of
variables involved in solving nonlinear systems, recognize which
signals are synchronized with other signals to ensure determinism in
results, and so on.
----------------------------------------
This chant which is apparently based on psychology/cognition is often seen.
The above author is also unable to analyse his own mental processes,
so he's just saying "it's nice" - in many words.
Only recently, decades after grad: CS+Maths have I discovered the
productivety of the composition of functions.
Unfortunately, the syntax of unix piping is an ad hoc mess [as well
criticised by Xhalee], but the economy of effort is remarkable.
My analysis: why "it's nice"; is that it's cost effective of my effort/pain,
because seldom do you need to abandon your invested effort and restart,
[which IMO is M$ secret: DOS users could extend their investment to Win]
because you can confirm the results at each of N stages,
and the original cost of each of the functions is amortised over many jobs,
[which is the tool box metaphor of unix].
The details of <impedance-matching/currying> between stages etc, only comes
after the TOP LEVEL justification has been stated; instead of starting with
examples.
Here's my latest example [to find the smallest *.nb in a big-dir-tree]:-
list the zillion *.nb files in the dir-tree, showing their sizes
+ extract the size-field to the left [most significant] position
+ sort them
+ show me just the first 3.
So there are only 4 concepts to burden the user.
And the whole job can be progressively tested.
A pointer from this forum, to a publication on the <effectiveness of
combinators> which started correctly, by recognising the goal of labour
saving, took as it's example: pretty printing; but unfortunately for
me, is based on haskell tools. So I opened the haskell can-O-worms.
So I want to know UP FRONT haskell's basis of it's claim to superiority
over eg. Pascal.
== Chris Glur.
--RsvTMrc5Uxet7Bu3XK3akDKEWANZYZV0ROUpF7t
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body style="background-color: #fff;">
<span style="display:none"> </span>
<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
<div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->
<div id="ygrp-text" >
<p>]> Where's formal proof of Haskell's claim to be able to avoid the need to<br>
]> tell the machine what to do step-by-step, and just provide it with a<br>
]> <description of the problem>, and allow it to workout/search for a route<br>
]> to the solution?<br>
]<br>
] Do you have a specific quote in context for the claim for better<br>
] understanding of the question?<br>
<br>
http://blog.wolfram.com/2015/02/11/qa-with-michael-tiller-<br>
author-of-modelica-by-example/<br>
<br>
Modelica is important because, as I mentioned previously, it<br>
captures a representation of people's models in an open way and in a<br>
way that can be reasoned about. This comes from the fact that<br>
= Modelica is a declarative language, not an imperative language. When<br>
you deal with typical programming languages, the imperative<br>
constructs (e.g., do this, now do that, now loop until this is true,<br>
then overwrite that result) make it nearly impossible to actually<br>
extract the high-level intention of the user (at least not without a<br>
tremendous amount of discipline). Modelica is not a language of<br>
statements and operations, it is a language of relationship: how<br>
variables relate to each other through an equation, how the values<br>
of a variable are related to a type (and its physical units), how a<br>
resistor is related to a capacitor through connections in a<br>
schematic diagram. The point is that the structure of the model and<br>
all of these relationships are always preserved in Modelica.<br>
<br>
This property has been leveraged extensively to create very fast<br>
simulations by being able to reason about these relationships. We<br>
can see which variables depend on which other variables and use this<br>
to efficiently perform calculations, minimize the number of<br>
variables involved in solving nonlinear systems, recognize which<br>
signals are synchronized with other signals to ensure determinism in<br>
results, and so on.<br>
----------------------------------------<br>
This chant which is apparently based on psychology/cognition is often seen.<br>
The above author is also unable to analyse his own mental processes,<br>
so he's just saying "it's nice" - in many words.<br>
<br>
Only recently, decades after grad: CS+Maths have I discovered the<br>
productivety of the composition of functions.<br>
Unfortunately, the syntax of unix piping is an ad hoc mess [as well<br>
criticised by Xhalee], but the economy of effort is remarkable.<br>
<br>
My analysis: why "it's nice"; is that it's cost effective of my effort/pain,<br>
because seldom do you need to abandon your invested effort and restart,<br>
[which IMO is M$ secret: DOS users could extend their investment to Win]<br>
because you can confirm the results at each of N stages,<br>
and the original cost of each of the functions is amortised over many jobs,<br>
[which is the tool box metaphor of unix].<br>
<br>
The details of <impedance-matching/currying> between stages etc, only comes<br>
after the TOP LEVEL justification has been stated; instead of starting with<br>
examples.<br>
Here's my latest example [to find the smallest *.nb in a big-dir-tree]:-<br>
<br>
list the zillion *.nb files in the dir-tree, showing their sizes<br>
+ extract the size-field to the left [most significant] position<br>
+ sort them<br>
+ show me just the first 3.<br>
<br>
So there are only 4 concepts to burden the user.<br>
And the whole job can be progressively tested.<br>
<br>
A pointer from this forum, to a publication on the <effectiveness of<br>
combinators> which started correctly, by recognising the goal of labour<br>
saving, took as it's example: pretty printing; but unfortunately for<br>
me, is based on haskell tools. So I opened the haskell can-O-worms.<br>
<br>
So I want to know UP FRONT haskell's basis of it's claim to superiority<br>
over eg. Pascal.<br>
<br>
== Chris Glur.<br>
</p>
</div>
<!--~-|**|PrettyHtmlStart|**|-~-->
<div style="color: #fff; height: 0;">__._,_.___</div>
<div style="clear:both"> </div>
<div id="fromDMARC" style="margin-top: 10px;">
<hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
Posted by: chris glur <[email protected]> <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
</div>
<div style="clear:both"> </div>
<table cellspacing=4px style="margin-top: 10px; margin-bottom: 10px; color: #2D50FD;">
<tbody>
<tr>
<td style="font-size: 12px; font-family: arial; font-weight: bold; padding: 7px 5px 5px;" >
<a style="text-decoration: none; color: #2D50FD" href="https://groups.yahoo.com/neo/groups/concatenative/conversations/messages/5026;_ylc=X3oDMTJwanYxdXB1BF9TAzk3MzU5NzE0BGdycElkAzE4MzkyNzQEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzUwMjYEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxNDI1OTExNzEx?act=reply&messageNum=5026">Reply via web post</a>
</td>
<td>•</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
<a href="mailto:[email protected]?subject=Re%3A%20%5Bstack%5D%20Where%27s%20formal%20proof%20of%20Haskell%27s%20claim%20to%2E%2E%2E%3F" style="text-decoration: none; color: #2D50FD;">
Reply to sender </a>
</td>
<td>•</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;">
<a href="mailto:[email protected]?subject=Re%3A%20%5Bstack%5D%20Where%27s%20formal%20proof%20of%20Haskell%27s%20claim%20to%2E%2E%2E%3F" style="text-decoration: none; color: #2D50FD">
Reply to group </a>
</td>
<td>•</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
<a href="https://groups.yahoo.com/neo/groups/concatenative/conversations/newtopic;_ylc=X3oDMTJlbXJiMmgxBF9TAzk3MzU5NzE0BGdycElkAzE4MzkyNzQEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTQyNTkxMTcxMQ--" style="text-decoration: none; color: #2D50FD">Start a New Topic</a>
</td>
<td>•</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;color: #2D50FD;" >
<a href="https://groups.yahoo.com/neo/groups/concatenative/conversations/topics/5024;_ylc=X3oDMTM0ZjZucDQ3BF9TAzk3MzU5NzE0BGdycElkAzE4MzkyNzQEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzUwMjYEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxNDI1OTExNzExBHRwY0lkAzUwMjQ-" style="text-decoration: none; color: #2D50FD;">Messages in this topic</a>
(3)
</td>
</tr>
</tbody>
</table>
<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
<span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; "><a href="https://groups.yahoo.com/neo/groups/concatenative/info;_ylc=X3oDMTJlMGd2dXB2BF9TAzk3MzU5NzE0BGdycElkAzE4MzkyNzQEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTQyNTkxMTcxMQ--" style="text-decoration: none;">Visit Your Group</a></span>
<ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
</ul>
</div>
<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
<a href="https://groups.yahoo.com/neo;_ylc=X3oDMTJkN2tpNmo4BF9TAzk3MzU5NzE0BGdycElkAzE4MzkyNzQEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxNDI1OTExNzEx" style="float: left;"><img src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
<div style="color: #747575; float: right;"> • <a href="https://info.yahoo.com/privacy/us/yahoo/groups/details.html" style="text-decoration: none;">Privacy</a> • <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> • <a href="https://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: none;">Terms of Use</a> </div>
</div>
<br>
<!-- |**|end egp html banner|**| -->
</div> <!-- ygrp-msg -->
<!-- Sponsor -->
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">
<!-- Start Recommendations -->
<div id="ygrp-reco">
</div>
<!-- End Recommendations -->
</div> <!-- |**|end egp html banner|**| -->
<div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>
<img src="http://geo.yahoo.com/serv?s=97359714/grpId=1839274/grpspId=1705006764/msgId=5026/stime=1425911711" width="1" height="1"> <br>
<img src="http://y.analytics.yahoo.com/fpc.pl?ywarid=515FB27823A7407E&a=10001310322279&js=no&resp=img" width="1" height="1">
<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</body>
<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
<style type="text/css">
<!--
#ygrp-mkp {
border: 1px solid #d8d8d8;
font-family: Arial;
margin: 10px 0;
padding: 0 10px;
}
#ygrp-mkp hr {
border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd {
color: #628c2a;
font-size: 85%;
font-weight: 700;
line-height: 122%;
margin: 10px 0;
}
#ygrp-mkp #ads {
margin-bottom: 10px;
}
#ygrp-mkp .ad {
padding: 0 0;
}
#ygrp-mkp .ad p {
margin: 0;
}
#ygrp-mkp .ad a {
color: #0000ff;
text-decoration: none;
}
#ygrp-sponsor #ygrp-lc {
font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd {
margin: 10px 0px;
font-weight: 700;
font-size: 78%;
line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad {
margin-bottom: 10px;
padding: 0 0;
}
#actions {
font-family: Verdana;
font-size: 11px;
padding: 10px 0;
}
#activity {
background-color: #e0ecee;
float: left;
font-family: Verdana;
font-size: 10px;
padding: 10px;
}
#activity span {
font-weight: 700;
}
#activity span:first-child {
text-transform: uppercase;
}
#activity span a {
color: #5085b6;
text-decoration: none;
}
#activity span span {
color: #ff7900;
}
#activity span .underline {
text-decoration: underline;
}
.attach {
clear: both;
display: table;
font-family: Arial;
font-size: 12px;
padding: 10px 0;
width: 400px;
}
.attach div a {
text-decoration: none;
}
.attach img {
border: none;
padding-right: 5px;
}
.attach label {
display: block;
margin-bottom: 5px;
}
.attach label a {
text-decoration: none;
}
blockquote {
margin: 0 0 0 4px;
}
.bold {
font-family: Arial;
font-size: 13px;
font-weight: 700;
}
.bold a {
text-decoration: none;
}
dd.last p a {
font-family: Verdana;
font-weight: 700;
}
dd.last p span {
margin-right: 10px;
font-family: Verdana;
font-weight: 700;
}
dd.last p span.yshortcuts {
margin-right: 0;
}
div.attach-table div div a {
text-decoration: none;
}
div.attach-table {
width: 400px;
}
div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
text-decoration: none;
}
div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
text-decoration: none;
}
div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
font-family: Verdana;
font-size: 10px;
font-weight: normal;
}
.green {
color: #628c2a;
}
.MsoNormal {
margin: 0 0 0 0;
}
o {
font-size: 0;
}
#photos div {
float: left;
width: 72px;
}
#photos div div {
border: 1px solid #666666;
height: 62px;
overflow: hidden;
width: 62px;
}
#photos div label {
color: #666666;
font-size: 10px;
overflow: hidden;
text-align: center;
white-space: nowrap;
width: 64px;
}
#reco-category {
font-size: 77%;
}
#reco-desc {
font-size: 77%;
}
.replbq {
margin: 4px;
}
#ygrp-actbar div a:first-child {
/* border-right: 0px solid #000;*/
margin-right: 2px;
padding-right: 5px;
}
#ygrp-mlmsg {
font-size: 13px;
font-family: Arial, helvetica,clean, sans-serif;
*font-size: small;
*font: x-small;
}
#ygrp-mlmsg table {
font-size: inherit;
font: 100%;
}
#ygrp-mlmsg select, input, textarea {
font: 99% Arial, Helvetica, clean, sans-serif;
}
#ygrp-mlmsg pre, code {
font:115% monospace;
*font-size:100%;
}
#ygrp-mlmsg * {
line-height: 1.22em;
}
#ygrp-mlmsg #logo {
padding-bottom: 10px;
}
#ygrp-msg p a {
font-family: Verdana;
}
#ygrp-msg p#attach-count span {
color: #1E66AE;
font-weight: 700;
}
#ygrp-reco #reco-head {
color: #ff7900;
font-weight: 700;
}
#ygrp-reco {
margin-bottom: 20px;
padding: 0px;
}
#ygrp-sponsor #ov li a {
font-size: 130%;
text-decoration: none;
}
#ygrp-sponsor #ov li {
font-size: 77%;
list-style-type: square;
padding: 6px 0;
}
#ygrp-sponsor #ov ul {
margin: 0;
padding: 0 0 0 8px;
}
#ygrp-text {
font-family: Georgia;
}
#ygrp-text p {
margin: 0 0 1em 0;
}
#ygrp-text tt {
font-size: 120%;
}
#ygrp-vital ul li:last-child {
border-right: none !important;
}
-->
</style>
</head>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->
--RsvTMrc5Uxet7Bu3XK3akDKEWANZYZV0ROUpF7t--