Возьмем рекурсивные функции. Первый язык получим путем выкидывания оператора минимизации, а второй - путем выкидывания оператора примитивной рекурсии. Может так выйдет?
-- 07.04.2015, 15:45 --В его определении это, если понимать вычислительно, конструкторы типа данных, на которые мы делаем pattern matching.
Ничего не понял.
-- 07.04.2015, 15:57 --Вообще, давайте я приведу реальный пример. Может тогда легче думать станет. Есть вот такая штука
https://en.wikipedia.org/wiki/ASP.NET_Razor_view_engineВот пример кода:
Код:
<script type="text/javascript">
//some javascrpt code here to display map etc
//now add markers
@foreach (var item in Model) {
<text>
var markerlatLng = new google.maps.LatLng(@(Model.Latitude), @(Model.Longitude));
var title = '@(Model.Title)';
var description = '@(Model.Description)';
var contentString = '<h3>' + title + '</h3>' + '<p>' + description + '</p>'
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: latLng,
title: title,
map: map,
draggable: false
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
</text>
}
</script>
Оно выполняет части кода из этого текста, которые являются выражениями на C#. Получается код на javascript. Потом этот код выполняется в браузере.
Представим похожую ситуацию, но первый язык не C#, а какой-нибудь L1 не тьюриг полный. А второй не javascript, а какой-нибудь L2 не тьюриг полный.