<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Many-sorted algebras Archives - fullSTEAMahead365</title>
	<atom:link href="https://fullsteamahead365.com/tag/many-sorted-algebras/feed/" rel="self" type="application/rss+xml" />
	<link>https://fullsteamahead365.com/tag/many-sorted-algebras/</link>
	<description>Human Advancement Never Stops</description>
	<lastBuildDate>Sat, 07 Sep 2019 14:34:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://i0.wp.com/fullsteamahead365.com/wp-content/uploads/2019/01/cropped-cropped-icon.png?fit=32%2C32&#038;ssl=1</url>
	<title>Many-sorted algebras Archives - fullSTEAMahead365</title>
	<link>https://fullsteamahead365.com/tag/many-sorted-algebras/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">156403294</site>	<item>
		<title>SN Computer Science &#8211; An Experiment with Denotational Semantics</title>
		<link>https://fullsteamahead365.com/2019/09/09/sn-computer-science-an-experiment-with-denotational-semantics/</link>
					<comments>https://fullsteamahead365.com/2019/09/09/sn-computer-science-an-experiment-with-denotational-semantics/#respond</comments>
		
		<dc:creator><![CDATA[Bill Loguidice]]></dc:creator>
		<pubDate>Mon, 09 Sep 2019 14:32:32 +0000</pubDate>
				<category><![CDATA[Engineering/Mathematics]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[A denotational model of types]]></category>
		<category><![CDATA[abstract syntax]]></category>
		<category><![CDATA[concrete syntax]]></category>
		<category><![CDATA[Many-sorted algebras]]></category>
		<category><![CDATA[Set-theoretic denotational semantics Many-sorted algebras Three-valued predicate calculus A denotational model of types Abstract syntax Concrete syntax]]></category>
		<category><![CDATA[Three-valued predicate calculus]]></category>
		<guid isPermaLink="false">https://fullsteamahead365.com/?p=1556</guid>

					<description><![CDATA[<p>From the journal, SN Computer Science, comes a paper on An Experiment with Denotational Semantics. This paper is free to read (link) through open access. </p>
<p>The post <a href="https://fullsteamahead365.com/2019/09/09/sn-computer-science-an-experiment-with-denotational-semantics/">SN Computer Science &#8211; An Experiment with Denotational Semantics</a> appeared first on <a href="https://fullsteamahead365.com">fullSTEAMahead365</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>From the journal, <em>SN Computer Science</em>, comes a paper on<strong> An Experiment with Denotational Semantics</strong>. This paper is free to read (<a href="https://link.springer.com/article/10.1007/s42979-019-0013-0?sap-outbound-id=0E62CFAFE99EC5F79A414189C24907425FFD7361&amp;utm_source=hybris-campaign&amp;utm_medium=email&amp;utm_campaign=000_ANLA01_0000014400_SRCS_SUB_SNCS_articles&amp;utm_content=EN_internal_32409_20190907&amp;mkt-key=005056A5C6311ED999AA0A5933FFAAE7">link</a>) through open access.  </p>



<div class="wp-block-image"><figure class="aligncenter"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="640" height="232" src="https://i0.wp.com/fullsteamahead365.com/wp-content/uploads/2019/09/timj-ots0EOYuGtU-unsplash-e1567866711765-1024x371.jpg?resize=640%2C232&#038;ssl=1" alt="" class="wp-image-1558" srcset="https://i0.wp.com/fullsteamahead365.com/wp-content/uploads/2019/09/timj-ots0EOYuGtU-unsplash-e1567866711765.jpg?resize=1024%2C371&amp;ssl=1 1024w, https://i0.wp.com/fullsteamahead365.com/wp-content/uploads/2019/09/timj-ots0EOYuGtU-unsplash-e1567866711765.jpg?resize=300%2C109&amp;ssl=1 300w, https://i0.wp.com/fullsteamahead365.com/wp-content/uploads/2019/09/timj-ots0EOYuGtU-unsplash-e1567866711765.jpg?resize=768%2C278&amp;ssl=1 768w, https://i0.wp.com/fullsteamahead365.com/wp-content/uploads/2019/09/timj-ots0EOYuGtU-unsplash-e1567866711765.jpg?w=1280&amp;ssl=1 1280w, https://i0.wp.com/fullsteamahead365.com/wp-content/uploads/2019/09/timj-ots0EOYuGtU-unsplash-e1567866711765.jpg?w=1920&amp;ssl=1 1920w" sizes="(max-width: 640px) 100vw, 640px" /></figure></div>



<h2 class="wp-block-heading">Abstract</h2>



<p>The paper is devoted to showing how to systematically design a programming language in “reverse order”, i.e., from denotations to syntax. This construction is developed in an algebraic framework consisting of three many-sorted algebras: of denotations, of an abstract syntax and of a concrete syntax. These algebras are constructed in such a way that there is a unique homomorphism from concrete syntax to denotations, which constitutes the denotational semantics of the language. Besides its algebraic framework, the model is set-theoretic, i.e., the denotational domains are just sets, rather than Scott’s reflexive domains. The method is illustrated by a layer-by-layer development of a virtual language Lingua: an applicative layer, an imperative layer (with recursive procedures) and an SQL layer where <strong>Lingua</strong> is regarded as an API (Application Programming Interface) for an SQL engine. The latter is given a denotational semantics as well. Mathematically, the model is based on so-called naive denotational semantics (Blikle and Tarlecki in Information processing 83. Elsevier Science Publishers B.V., North-Holland, <a href="https://link.springer.com/article/10.1007/s42979-019-0013-0?sap-outbound-id=0E62CFAFE99EC5F79A414189C24907425FFD7361&amp;utm_source=hybris-campaign&amp;utm_medium=email&amp;utm_campaign=000_ANLA01_0000014400_SRCS_SUB_SNCS_articles&amp;utm_content=EN_internal_32409_20190907&amp;mkt-key=005056A5C6311ED999AA0A5933FFAAE7#CR17">1983</a>), Many-sorted algebras (Goguen et al. in J ACM 24:68–95, <a href="https://link.springer.com/article/10.1007/s42979-019-0013-0?sap-outbound-id=0E62CFAFE99EC5F79A414189C24907425FFD7361&amp;utm_source=hybris-campaign&amp;utm_medium=email&amp;utm_campaign=000_ANLA01_0000014400_SRCS_SUB_SNCS_articles&amp;utm_content=EN_internal_32409_20190907&amp;mkt-key=005056A5C6311ED999AA0A5933FFAAE7#CR21">1977</a>), equational grammars (Blikle in Inform Control 21:134–147, <a href="https://link.springer.com/article/10.1007/s42979-019-0013-0?sap-outbound-id=0E62CFAFE99EC5F79A414189C24907425FFD7361&amp;utm_source=hybris-campaign&amp;utm_medium=email&amp;utm_campaign=000_ANLA01_0000014400_SRCS_SUB_SNCS_articles&amp;utm_content=EN_internal_32409_20190907&amp;mkt-key=005056A5C6311ED999AA0A5933FFAAE7#CR6">1972</a>), and a three-valued predicate calculus based on a three-valued proposition calculus of McCarthy (A basis for a mathematical theory of computation, North Holland, <a href="https://link.springer.com/article/10.1007/s42979-019-0013-0?sap-outbound-id=0E62CFAFE99EC5F79A414189C24907425FFD7361&amp;utm_source=hybris-campaign&amp;utm_medium=email&amp;utm_campaign=000_ANLA01_0000014400_SRCS_SUB_SNCS_articles&amp;utm_content=EN_internal_32409_20190907&amp;mkt-key=005056A5C6311ED999AA0A5933FFAAE7#CR25">1967</a>). Three-valued predicates provide an adequate framework for error-handling mechanisms and also for the development of a Hoare-like logic with clean termination (Blikle in Acta Inform 16:199–217, <a href="https://link.springer.com/article/10.1007/s42979-019-0013-0?sap-outbound-id=0E62CFAFE99EC5F79A414189C24907425FFD7361&amp;utm_source=hybris-campaign&amp;utm_medium=email&amp;utm_campaign=000_ANLA01_0000014400_SRCS_SUB_SNCS_articles&amp;utm_content=EN_internal_32409_20190907&amp;mkt-key=005056A5C6311ED999AA0A5933FFAAE7#CR10">1981</a>) for <strong>Lingua</strong>. That logic is used in Blikle and Chrząstowski-Wachtel (Complete Unambiguous,  <a rel="noreferrer noopener" target="_blank" href="https://doi.org/10.13140/rg.2.2.27499.39201/3">https://doi.org/10.13140/rg.2.2.27499.39201/3</a>, <a href="https://link.springer.com/article/10.1007/s42979-019-0013-0?sap-outbound-id=0E62CFAFE99EC5F79A414189C24907425FFD7361&amp;utm_source=hybris-campaign&amp;utm_medium=email&amp;utm_campaign=000_ANLA01_0000014400_SRCS_SUB_SNCS_articles&amp;utm_content=EN_internal_32409_20190907&amp;mkt-key=005056A5C6311ED999AA0A5933FFAAE7#CR16">2019</a>) for the development of correctness-preserving programs’ constructors. This issue is, however, not covered by the paper. The langue is equipped with a strong typing mechanism which covers basic types (numbers, Booleans, etc.), lists, arrays, record and their arbitrary combinations plus SQL-like types: rows, tables, and databases. The model of types includes SQL-integrity constraints. </p>
<p>The post <a href="https://fullsteamahead365.com/2019/09/09/sn-computer-science-an-experiment-with-denotational-semantics/">SN Computer Science &#8211; An Experiment with Denotational Semantics</a> appeared first on <a href="https://fullsteamahead365.com">fullSTEAMahead365</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://fullsteamahead365.com/2019/09/09/sn-computer-science-an-experiment-with-denotational-semantics/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1556</post-id>	</item>
	</channel>
</rss>
