<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2" -->
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://balancer.ru/tech/forum/2007/09/topic-56031-rss.xml">
        <title>JBForth2</title>
        <description>Ответы в топик JBForth2</description>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html</link>
       <dc:date>2012-02-13T02:13:46+01:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1274010"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273940"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273916"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273869"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273745"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1265099"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1264561"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257278"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257252"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207952"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207703"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207149"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207137"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206717"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206701"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206655"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206646"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206644"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206643"/>
                <rdf:li rdf:resource="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1203931"/>
            </rdf:Seq>
        </items>
    </channel>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1274010">
        <dc:format>text/html</dc:format>
        <dc:date>2007-09-04T09:34:42+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Кирилл</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1274010</link>
        <description>&lt;blockquote&gt;&lt;div&gt;Не покатит. Это модификаторы Java-методов&lt;/div&gt;&lt;div class=&quot;clear&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt; &lt;br /&gt;Почему же? Если главное, чтобы для JVM генерились корректные методы и классы, то это возможно при любом синтаксисе, необязательно Явовском. Т.е. при помещении слова в словарь final - оно может быть точно так же скомпилировано в байт-код как final-метод, как и при указании java-модификатора.&lt;br /&gt; &lt;blockquote&gt;&lt;div&gt;Опять же, это принципиальный для Java вопрос.&lt;br /&gt;Мы же собираемся генерировать нативные Java-классы.&lt;/div&gt;&lt;div class=&quot;clear&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt; &lt;br /&gt;Собственно генерировать ничто не мешает &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt; А static или нет - видно по первому же параметру слова.&lt;br /&gt; &lt;blockquote&gt;&lt;div&gt;Он форт как форт, совершенно типичный, хотя и не очень стандартный.&lt;/div&gt;&lt;div class=&quot;clear&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt; &lt;br /&gt;А хочется Форт быстрый и на JVM &lt;img src=&quot;http://s.wrk.ru/s/wink.gif&quot; alt=&quot;;)&quot; title=&quot;;)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1274010&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273940">
        <dc:format>text/html</dc:format>
        <dc:date>2007-09-04T08:31:21+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273940</link>
        <description>&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Кирилл&lt;/b&gt;&amp;gt; С точки зрения отделения интерфейса от реализации а также Форт-идеологии лучше будут словари public, static, final.&lt;/span&gt;&lt;br /&gt;Не покатит. Это модификаторы Java-методов &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Кирилл&lt;/b&gt;&amp;gt; Кстати, static можно выкинуть - в Форте между явным и неявным self особой разницы нет.&lt;/span&gt;&lt;br /&gt;Опять же, это принципиальный для Java вопрос.&lt;br /&gt;Мы же собираемся генерировать нативные Java-классы.&lt;br /&gt;&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Кирилл&lt;/b&gt;&amp;gt; А не надо из Форта Яву делать &lt;img src=&quot;http://s.wrk.ru/s/wink.gif&quot; alt=&quot;;)&quot; title=&quot;;)&quot; class=&quot;smile&quot; /&gt;&lt;/span&gt;&lt;br /&gt;А тогда у нас уже есть JBForth-1 &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt; Он форт как форт, совершенно типичный, хотя и не очень стандартный.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273940&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273916">
        <dc:format>text/html</dc:format>
        <dc:date>2007-09-04T07:58:05+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Кирилл</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273916</link>
        <description>&lt;blockquote&gt;&lt;div&gt;Вкратце распиши, а то гуглить некогда&lt;/div&gt;&lt;div class=&quot;clear&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt; &lt;br /&gt;Вкратце - типы переменных выводятся из выражения, а значит &quot;стековая нотация&quot; в большинстве случаев необязательна! В ОСАML, Haskell и т.д. именно так &lt;img src=&quot;http://s.wrk.ru/s/wink.gif&quot; alt=&quot;;)&quot; title=&quot;;)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;Например : AVERAGE + 2 / ; автоматически протипируется как ( int int &amp;mdash; int)&lt;br /&gt;просто исходя из типов + и /&lt;br /&gt;Если не баловаться с полиморфизмом на нижнем уровне (а Форт-идеология как раз такая!) - то все просто.&lt;br /&gt;Потом можно и побаловаться - будет куда сложнее (или эквивалент шаблонов или передача неявного аргумента с указателем таблицы операций), зато получится выразительность типизированных функциональных языков реализованная в компактном императивном.&lt;br /&gt;&quot;Стековая нотация&quot; однако полезна - для самодокументирования, усиления контроля компиляции, а также определения локальных переменных.&lt;br /&gt;А ведь мы так даже Хаскель кое в чем уделаем - необязательным ок&amp;#133;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273916&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273869">
        <dc:format>text/html</dc:format>
        <dc:date>2007-09-04T07:01:00+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273869</link>
        <description>&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Кирилл&lt;/b&gt;&amp;gt; с системой типов Хиндли-Милнера &lt;img src=&quot;http://s.wrk.ru/s/wink.gif&quot; alt=&quot;;)&quot; title=&quot;;)&quot; class=&quot;smile&quot; /&gt;&lt;/span&gt;&lt;br /&gt;Вкратце распиши, а то гуглить некогда &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;...&lt;br /&gt;А на счёт исключений - их реализовывать придётся, полагаю, в любом случае.&lt;br /&gt;И надо думать над красивым синтаксисом аргументов слов. Первое, что в голову приходит - это использовать комментарий с параметрам, заданный де факто, но теперь сделать его обязательным по стандарту:&lt;br /&gt;&lt;div class=&quot;code-head&quot;&gt;code forth&lt;/div&gt;&lt;ol class=&quot;forth code&quot;&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;public static : str_repeat ( String:arg1 Integer:arg2 - String )&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;\ ...&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Нужен набор модификаторов - public, private, static, final. По умолчанию, полагаю, нужно делать просто private.&lt;br /&gt;Непонятно, что делать с режимом исполнения. Ибо д&amp;#133;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273869&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273745">
        <dc:format>text/html</dc:format>
        <dc:date>2007-09-04T03:57:28+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Кирилл</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1273745</link>
        <description>Еще один довод в пользу Форта со статической типизацией: большинство слов с переменным числом аргументов на стеке (тот же ?DUP) делают двойную работу по принятию решения и ухудшают читабельность текстов программ.&lt;br /&gt;
Слова же, возвращающие флаг - бледное подобие исключений... костыль неполной реализации конструкций структурного программирования.&lt;br /&gt;
А если замечтаться, в воображении появляется Форт с системой типов Хиндли-Милнера &lt;img src=&quot;http://s.wrk.ru/s/wink.gif&quot; alt=&quot;;)&quot; title=&quot;;)&quot; class=&quot;smile&quot; /&gt;</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1265099">
        <dc:format>text/html</dc:format>
        <dc:date>2007-08-27T06:25:23+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1265099</link>
        <description>&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Кирилл&lt;/b&gt;&amp;gt; А как насчет решения проблемы дороговизны вызовов через макрооптимизацию, как в SPF?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Это уже на практике можно будет подумать. Ибо там это не так гладко будет, как в SPF. У JVM свои ограничения.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Кирилл&lt;/b&gt;&amp;gt; Еще в Ява-форте можно ввести модули, эквивалентные Ява-классам. Тогда вызовы внутри модуля будут быстрыми, а &quot;наружу&quot; - гибкими.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Да, где-то так и задумывается.</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1264561">
        <dc:format>text/html</dc:format>
        <dc:date>2007-08-26T13:05:22+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Кирилл</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1264561</link>
        <description>А как насчет решения проблемы дороговизны вызовов через макрооптимизацию, как в SPF?&lt;br /&gt;
Заодно и специальных INLINE-слов не понадобится...&lt;br /&gt;
&lt;br /&gt;
Еще в Ява-форте можно ввести модули, эквивалентные Ява-классам. Тогда вызовы внутри модуля будут быстрыми, а &quot;наружу&quot; - гибкими.</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257278">
        <dc:format>text/html</dc:format>
        <dc:date>2007-08-17T06:21:34+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257278</link>
        <description>&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Кирилл&lt;/b&gt;&amp;gt; Кстати, с точки зрения дисциплинирующих ограничений такой Форт будет ближе к массам, чем классический.&lt;/span&gt;&lt;br /&gt;Да, массам нужна жёсткость &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;...&lt;br /&gt;Кстати, ещё мысль. Нормальную работу со стеком внутри определений можно реализовать в CODE-словах, которые будут просто инлайниться в компилируемое слово. Вернее, CODE-слова надо оставить как есть, а реализовать, скажем, INLINE.&lt;br /&gt;&lt;div class=&quot;code-head&quot;&gt;code forth&lt;/div&gt;&lt;ol class=&quot;forth code&quot;&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;: word1 ( arg1:type1 arg2:type - result:type3 )&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;\ код высокоуровневого слова&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;CODE word2 ( arg:type - result:type )&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;\ низкоуровневый код JVM&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&amp;#133;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257278&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257252">
        <dc:format>text/html</dc:format>
        <dc:date>2007-08-17T05:37:59+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Кирилл</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257252</link>
        <description>&lt;blockquote&gt;&lt;div&gt;- Делать 100% &quot;Java-форт&quot; со всеми ограничениями JVM. Т.е. для каждого слова будет определён фиксированный тип аргументов. Теряем капитально совместимость с классическим Фортом (скажем, слова, типа ?dup будут принципиально невозможны), но приобретаем скорость и &quot;нативный&quot; байткод.&lt;/div&gt;&lt;div class=&quot;clear&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt; &lt;br /&gt;ИМХО самый интересный вариант.&lt;br /&gt;Ибо не противоречит Форт-идеологии с одной стороны (меньше &quot;умных&quot; слов) и позволяет контроль стека при компиляции (&quot;стековые комментарии&quot; в середине слова помогут отловить ошибку ДО выполнения). И лаконичности не мешает - типы и количество аргументов высокоуровневого слова однозначно вычисляются по его определению.&lt;br /&gt;Кстати, с точки зрения дисциплинирующих ограничений такой Форт будет ближе к массам, чем классический.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1257252&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207952">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-17T08:01:04+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207952</link>
        <description>fixed</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207703">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-16T15:55:25+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Murkt</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207703</link>
        <description>статус</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207149">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T15:40:04+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Murkt</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207149</link>
        <description>Насчёт входных параметров:&lt;br /&gt;&lt;div class=&quot;code-head&quot;&gt;code python&lt;/div&gt;&lt;ol class=&quot;python code&quot;&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; myfunc&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;a&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; c&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; *args&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; **kwargs&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;a&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; b&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; c&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; args&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; kwargs&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;*&amp;lt;название кортежа&amp;gt; - это неименованные параметры, **&amp;lt;название словаря&amp;gt; - именованные.&lt;br /&gt;&lt;div class=&quot;code-head&quot;&gt;code python&lt;/div&gt;&lt;ol class=&quot;python code&quot;&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;# с - значение по умолчанию, &amp;quot;лишних&amp;quot; нет&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;#133;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207149&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207137">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T15:24:16+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Murkt</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207137</link>
        <description>Я имел в виду, что ты в метод передаёшь вроде как ограниченное и чёткое количество аргументов, но на самом деле столько, сколько тебе надо. То есть, положить на стек вызываемой функции массив (это ведь не полноценный объект, по идее должно быть быстро) со стопкой параметров, а на выходе отдавать тоже массив, и его ты тоже можешь варьировать так как тебе надо - хочешь, без элементов вообще, хочешь - десяток.&lt;br /&gt;Я себе слегка так представил - в принципе, сделать можно, и работать должно быстрее, чем с действително внешним стеком. Хоть это и будет небольшой rocket science.&lt;br /&gt;Я бы посоветовал сначала сделать с полноценным внешним стеком, а потом попробовать сделать с фейковым (как я вот сказал), так как преждевременная оптимизация &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;В Питоне все входящие параметры сворачиваются в кортеж и словарь. По мере надобности, я думаю - если я не передаю именованных параметров, то словарь по идее не должен создаваться (во внутренних механиз&amp;#133;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1207137&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206717">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T08:42:01+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206717</link>
        <description>Расскажи вкратце, но... Вариант с &quot;внешним&quot; стеком будет не сильно быстрее нынешнего, увы :-/ Разве что только бонус будет в написании именно полноценных .class и генерации .jar&lt;br /&gt;...&lt;br /&gt;В принципе, возможно, это будет самый компактный JDK &lt;img src=&quot;http://s.wrk.ru/s/biggrin.gif&quot; alt=&quot;:D&quot; title=&quot;:D&quot; class=&quot;smile&quot; /&gt; Форт-система размером под несколько сот килобайт сможет генерировать полноценные .jar &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;...&lt;br /&gt;А так - конечно, можно будет сделать дуальную систему. Когда можно будет определять два вида Форт-слов. С фиксированным числом аргументов в нативном коде и с внешним стеком.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206717&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206701">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T08:24:56+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Murkt</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206701</link>
        <description>ИМХО, лучше медленнее, но с полными возможностями.&lt;br /&gt;
&lt;br /&gt;
Насчёт входящих-выходящих параметров (точно заданное количество, один на выходе) - может есть смысл их просто заворачивать во что-то, как это в Питоне делается? Если хочешь, расскажу как заворачивается.</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206655">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T07:35:01+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206655</link>
        <description>&lt;span class=&quot;q&quot;&gt;&lt;b&gt;Murkt&lt;/b&gt;&amp;gt; Или сам расскажи &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;&lt;/span&gt;&lt;br /&gt;В двух словах там, действительно, всё просто. Есть байткод (типично Фортовский, кстати, стековый - DUP/SWAP/ADD и т.д.). Каждому методу при вызове формируется отдельный стек и область локальных переменных. И то и другое - заказанного размера. Аргументы метода - тоже локальные переменные. Соответственно, в байткоде есть операции чтения такой переменной. Или field'а какого-либо класса. Или вызова статического или виртуального метода. И т.п.&lt;br /&gt;Проблемы в том, что нет общего стека на всю систему. JVM сама снимает для вызываемого метода со стека аргументы. Соответственно, и число аргументов всегда фиксированное. Возвращаться может только одно значение. Хотя прописаться может с любого места.&lt;br /&gt;Сейчас вижу три (выше писал - два) выхода:&lt;br /&gt;- Делать глобальный стек в виде отдельного класса, как сейчас в JBForth. Но тогда, во-первых, сильно снизится скорость (грубо говоря вм&amp;#133;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206655&quot;&gt;Дальше »»»</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206646">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T07:23:06+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206646</link>
        <description>Буду базироваться на &lt;a rel=&quot;nofollow&quot; href=&quot;http://asm.objectweb.org&quot; class=&quot;external&quot;&gt;ASM - Home Page&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Но проблем ожидается масса. Как технологических, так и идеологических.</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206644">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T07:21:57+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Murkt</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206644</link>
        <description>Или сам расскажи &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206643">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-15T07:21:32+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Murkt</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1206643</link>
        <description>Меня это давно интересует - генерация кода на лету, или же трансляция (форт -&amp;gt; джава). Дай ссылок, пожалуйста &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;</description>
    </item>
    <item rdf:about="http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1203931">
        <dc:format>text/html</dc:format>
        <dc:date>2007-06-11T20:14:17+01:00</dc:date>
        <dc:source>http://balancer.ru/forum/</dc:source>
        <dc:creator>Balancer</dc:creator>
        <title>JBForth2</title>
        <link>http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1203931</link>
        <description>Ковырялся сегодня, наконец, на тему Java-байткода. Т.е. по поводу возможности компиляции JBForth в байткод JVM.&lt;br /&gt;Пробные примеры получатся.&lt;br /&gt;Огорчение - у каждого метода свой стек. Ограничиться им теоретически можно, но это не оставит от Форта ничего, кроме синтаксиса &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt; А оно нам нафиг не надо...&lt;br /&gt;Похоже, придётся делать таки отдельный глобальный стек.&lt;br /&gt;Таким образом от нативной производительности остаются опять рожки да ножки.&lt;br /&gt;Хотя, естественно, будет возможность генерации нативных для JVM классов и методов. Так что критические куски кода можно будет писать на JVM-функционале.&lt;br /&gt;...&lt;br /&gt;В общем, перспективы интересные, но работы предстоит чудовищное количество &lt;img src=&quot;http://s.wrk.ru/s/smile.gif&quot; alt=&quot;:)&quot; title=&quot;:)&quot; class=&quot;smile&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://balancer.ru/tech/forum/2007/09/t56031--jbforth2.8482.html#p1203931&quot;&gt;Дальше »»»</description>
    </item>
</rdf:RDF>

