Comments: |
From: | phantom |
Date: | February 18th, 2009 - 02:23 pm |
---|
| | | (Link) |
|
>язык Thue,С виду обычный term-rewriting, возможный к программированию во многих general-purpose языках. >я - эзотерический программист.Не можешь ли объяснить более подробно, какой смысл ты вкладываешь, а то мне непонятно. >вебформа, а вот яваскрипт. Качайте быстрее, пока не увял.На инет-архиве ничего не может увять! :) >Инджой :)А мне очень нравилась идея игр по типу Terrarium - это от Микрософта была, надеюсь, помнишь такую. Если нет, напомню.
Дык понятно, что возможный - а на Thue можно реализовать любой general-purpose ;)))) Во-первых, он недетерминированный, то есть надо придумывать вероятностные алгоритмы. Во-вторых, он настолько простой по синтаксису, что элементарно реализуется метапрограмминг (то есть одна программа пишет другую - только не сама себя, поскольку разделены условия и данные). Веришь, первый раз в жизни чувствую себя ДНК-компьютером получаю кайф от самого процесса программирования - обычно мука страшная, не люблю. какой смысл ты вкладываешь, а то мне непонятноThere is usually no intention of the language being adopted for real-world programming. Such languages are often popular among hackers and hobbyists. This use of esoteric is meant to distinguish these languages from more popular programming languages. Я не столько смысл вкладываю, сколько звучит красиво, я ж говорю :) Кстати, копия от декабря 2003 года уже увяла, я качал оттуда по линку в педивикии, а сейчас там "трабл коннектинг", есть уже только на октябре. Вот я тоже думал, что не увядает... Terrarium, судя по гуглу, перегружена всякими майкрософтовскими фичами, а идея вообще клевая. Я в свое время радовался снейк-бэттлу, а тут, конечно, возможности открываюцца, да. Еще бывает лукасартовская Gungan Frontier, там вообще надо строить целую экосистему самому, сломит черт голову :) Но это из другой оперы немножко.
> Во-первых, он недетерминированный Отчегоже нет? Очень даже детерминированный
> var selected = random_choice(matching_rules) Да, сильный "недетерминизм" (((-:
function random_choice(a) { // Returns a random element from an array return a[Math.floor(Math.random() * a.length)] }
> одна программа пишет другую Вообще-то тут одна программа пишет какую-то херню что-нибудь, но не обязательно тоже "программу". Скажем прямо, чтоб на Thue вывести программу например на Java скорее всего прийдётся сначала написать программу на Java (-; Очень обидно что "сегмент кода" не доступен и программа не может самомодифицироватся. Также жаль что никак нельзя програмно повлиять на выбор правила. Вобщем не фонтан (-;
В оправдание своего критиканства сейсас накидаю интерпретатор на Java...
P.S. Как жаль что токен "::=" заменить нельзя ((-;
| | v.00.00.00.00.00.00.00.1 (-; | (Link) |
|
| | Re: v.00.00.00.00.00.00.00.1 (-; | (Link) |
|
P.S. В верхнее поле вводишь текст программы, в нижнее initial state данных. Строчка-разделитель с пустым условием (которая "::=") соответственно не нужна (и даже запрещена).
| | | Re: v.00.00.00.00.00.00.00.1 (-; | (Link) |
|
Большое спасибо! Но где же ввод-вывод? О_о Он это тоже умеет! :)
| | Re: v.00.00.00.00.00.00.00.1 (-; | (Link) |
|
Ввода пока нет, а версия с выводом уже готова. Сейчас залью jar - дам ссылку.
Сделал более полноценную версию. Выглядит так: /n в аутпат работает как перевод строки (вариантов вывести собственно токен /n пока нет, гг) - такчто в примере треугольника Серпинского заменяешь на пробел а на /n
Ой клево :)))) Ну еще ввод добей для полного счастья? :)
> Серпинского заменяешь на пробел а на /n
Серпинского заменяешь на пробел а <br> на /n
Также жаль что никак нельзя програмно повлиять на выбор правила. Потому он и недетерминированный :) | |