Forth
http://fforum.winglion.ru/

Factor. Forth следующего поколения ?
http://fforum.winglion.ru/viewtopic.php?f=4&t=143
Страница 1 из 3

Автор:  Chrono Syndrome [ Пт июл 28, 2006 19:18 ]
Заголовок сообщения:  Factor. Forth следующего поколения ?

Итак, предлагаю к ознакомлению и последующему обсуждению язык Factor (http://WWW.FACTORCODE.ORG, сайт иногда бывает недоступен), предстовляющий собой смесь Forth'а (стек основа, большая частьб синтаксиса), LISP'а (списковое представление программы), а также некоторых других языков (Joy, K, Slate). На данный момент находится на стадии развития, текущая версия 0.83. Хотелось бы услушать мнение форумчан об этой, безусловно, весьма любопытной разработке.

Автор:  Chrono_Syndrome [ Пт июл 28, 2006 20:29 ]
Заголовок сообщения: 

Хм... сайт все еще в ауте :evil: ... Ладно, значит пока пользуемся дублкем в MSNCache: http://cc.msnscache.com/cache.aspx?q=3852261657632&lang=en-US&mkt=en-US&FORM=CVRE

Автор:  Kamikaze [ Пт июл 28, 2006 22:17 ]
Заголовок сообщения: 

http://factor-language.blogspot.com/

Автор:  Infant [ Сб июл 29, 2006 10:57 ]
Заголовок сообщения: 

Kamikaze
thx!

Автор:  forth@km.ru [ Сб июл 29, 2006 18:00 ]
Заголовок сообщения:  Re: Factor. Forth следующего поколения ?

Chrono Syndrome писал(а):
Итак, предлагаю к ознакомлению и последующему обсуждению язык Factor. Хотелось бы услушать мнение форумчан об этой, безусловно, весьма любопытной разработке.


Очередной BrainFuck ? Давай примеры реальных программ, хотя бы пару простеньких игрушек

Автор:  Chrono_Syndrome [ Сб июл 29, 2006 18:22 ]
Заголовок сообщения: 

О, они восстановились ! Пример ? Да, на:
Код:
IN: numbers-game
USING: kernel math parser io ;

: read-number ( -- n ) readln string>number ;

: guess-banner
    "I'm thinking of a number between 0 and 100." print ;
: guess-prompt "Enter your guess: " write ;
: too-high "Too high" print ;
: too-low "Too low" print ;
: correct "Correct - you win!" print ;

: inexact-guess ( actual guess -- )
     < [ too-high ] [ too-low ] if ;

: judge-guess ( actual guess -- ? )
    2dup = [ 2drop correct f ] [ inexact-guess t ] if ;

: number-to-guess ( -- n ) 100 random-int ;

: numbers-game-loop ( actual -- )
    dup guess-prompt read-number judge-guess
    [ numbers-game-loop ] [ drop ] if ;

: numbers-game number-to-guess numbers-game-loop ;


Типа игра на отгадывание чисел :)

Автор:  mOleg [ Чт авг 03, 2006 04:41 ]
Заголовок сообщения: 

Ну посмотрел я на него.
По-моему очень похоже на постскрипт с некоторым откатом к форту..

Автор:  Chrono_Syndrome [ Чт авг 03, 2006 10:12 ]
Заголовок сообщения: 

Хммм.... пара вопросиков к тем, кто как следует разобрался в Factor'е:
1) Как там делать .EXE ? Что-то я так и не догнала...
2) Как сделать его нечувствительным к регистру (case-insensetive) ? Если это заложено в самом ядре (ну, которое на C), то плохо, но все равно подскажите. Просто я совершенно не выношу чувствительных к регистру языков...

Автор:  Kamikaze [ Пт авг 04, 2006 01:03 ]
Заголовок сообщения: 

Chrono_Syndrome писал(а):
Хммм.... пара вопросиков к тем, кто как следует разобрался в Factor'е...

Нихто не будет с ним разбираться - все давно по своим песочницам сидять.
Chrono_Syndrome писал(а):
...
1) Как там делать .EXE ? Что-то я так и не догнала...
2) Как сделать его нечувствительным к регистру
... я совершенно не выношу чувствительных к регистру языков...

Перекопав весь инет в поисках "совершенного форта" (Фактор тоже видел), я остановился на ForthEC (писал о нем здесь - http://fforum.winglion.ru/viewtopic.php?t=108 ), в частности - так как на нем ответ на оба Ваши вопроса - лЁхко!
Может я и ошибся в оценке, но Фактор мне показался таким же долгостроем, как и проект Synergy http://groups.yahoo.com/group/syn-/
И еще в Вашу коллекцию "редких фортов": интерпретатор FRTScript (когда-то был здесь: http://kirbiba.nm.ru )

Автор:  forth@km.ru [ Пт авг 04, 2006 09:19 ]
Заголовок сообщения: 

Kamikaze писал(а):
Фактор мне показался таким же долгостроем, как и проект Synergy http://groups.yahoo.com/group/syn-/


эти вообще только воздух портили, полезный выход насколько помню только форт-система на голом железе типа BootOSa

Автор:  KirBIBA [ Вт авг 22, 2006 03:20 ]
Заголовок сообщения: 

Здря ))
Цитата:
И еще в Вашу коллекцию "редких фортов": интерпретатор FRTScript (когда-то был здесь: http://kirbiba.nm.ru

FRTScript переехал с http://kirbiba.nm.ru
на http://kirbiba.narod.ru

Автор:  Chrono_Syndrome [ Ср сен 06, 2006 16:03 ]
Заголовок сообщения: 

Вышла новая версия языка - 0.84

Автор:  mOleg [ Чт сен 07, 2006 11:21 ]
Заголовок сообщения: 

ну и объясните мне пожалуйста, чего же в нем такого интересного есть, что он тянет на новое поколение? А?

Автор:  Kopa [ Ср дек 03, 2008 08:36 ]
Заголовок сообщения: 

Тест производительности Factor ( P4,3.0, 1 )
Запускал из директории benchmark так:
..\..\factor benchmark.factor
Потом
benchmarks
и пару раз Enter ( т.к. сразу он не находит нужное слово, а только с подсказкой )
Как более правильно запускать и загружать из его оболочки ещё не было временни разобраться, например tetris по рекомендации запускал как "tetris" run
или по его слову tetris-window

Код:
                               Пересобраное ядро(1замер) Пересобраное ядро(2замер)
Benchmark           Time (seconds)   Time (seconds)      Time (seconds)   
backtrack           4.593132         4.386663            4.359012         
base64              13.857512        11.97356            12.045872       
beust1              46.681225        25.85165            25.873311       
beust2              17.88822         17.780815           17.748864       
binary-search       0.562425         0.561993            0.562464         
binary-trees        3.780742         3.543674            3.5154           
bootstrap1          29.042971        26.975635           26.763912       
continuations       0.10936          0.109276            0.109368         
crc32               2.280943         2.013806            2.015496         
dawes               0.703031         0.686879            0.687456         
dispatch1           1.593535         1.545479            1.578024         
dispatch2           1.07798          1.155207            1.24992         
dispatch3           2.796499         2.825573            2.81232         
dispatch4           6.311651         6.291193            6.312096         
dispatch5           4.530641         4.558383            4.624704         
empty-loop-0        0.124983         0.109276            0.109368         
empty-loop-1        0.687408         0.6088249999999999  0.609336         
empty-loop-2        0.609293         0.6088249999999999  0.70308         
euler150            18.544382        19.404349           18.98316         
euler186            117.17175        116.354574          117.867456       
fannkuch            5.108688         5.794797            5.15592         
fasta               13.123236        11.964461           12.608568       
fib1                0.109361         0.109336            0.109368         
fib2                0.093738         0.09371599999999999 0.109368         
fib3                0.312458         0.296769            0.31248         
fib4                0.312458         0.312388            0.328104         
fib5                1.140472         1.093358            1.140552         
fib6                16.200947        18.274698           19.108152       
iteration           7.889565         7.309879            9.077617         
knucleotide         0.48431          0.49982             0.515599         
mandel              0.218721         0.203052            0.218738         
md5                 2.296566         2.249194            2.437375         
nbody               5.530506         5.498029            5.609088         
nested-empty-loop-1 0.124983         0.124955            0.124994         
nested-empty-loop-2 1.937239         1.936806            1.999898         
nsieve              1.171718         1.171455            1.187439         
nsieve-bits         3.749496         3.592462            3.749808         
nsieve-bytes        0.781145         0.7809700000000001  0.812459         
partial-sums        3.077712         3.077022            3.171713         
random              24.481085        24.975421           24.326879       
raytracer           4.764985         8.278282000000001   5.390349         
recursive           9.233134         8.981154999999999   9.296398999999999
regex-dna           15.888489        15.260154           16.233543       
reverse-complement  5.421147         5.310596            5.515343         
ring                7.842696         7.965894            7.8121           
sha1                9.983033000000001 10.246326          10.796323       
sockets             224.282353       225.557842          229.144518       
sort                5.624244         5.827193            5.796578         
spectral-norm       40.166476        41.540227           41.794735       
stack               2.609024         2.68707             2.687362         
sum-file            5.296163         5.43663             5.562216         
typecheck1          1.56229          1.56225             1.624916         
typecheck2          0.999865         1.031085            1.046822         
typecheck3          1.109226         1.140443            1.15619         
typecheck4          0.984243         1.015463            1.015573         
ui-panes            0.96862          0.99984             0.9687           

Ждать только долго, пока он нужные библиотеки подгрузит. Возможно ещё, что то
тестирует и оптимизирует:) После этого в корневой директории образовалось
несколько boot.*.image для разных ОС.
Самосборку factor.img он тоже может сделать. ( factor.exe -i=boot.<cpu>.image )


P.S. Можно посмотреть еще demos ( а там ... есть тетрис:) хотя, при запуске под windows не всё запустилось.
То, что Factor форт нового поколения - это вряд ли.
Сколько форт ориентированных языков существует? а форт "всё живее всех живых"
Разрабатывается Factor с 2003года, как сказано на идеях Forth, PostScript, Smalltalk
( "пятилетка" однако )

Автор:  VshMt [ Пт мар 20, 2009 00:35 ]
Заголовок сообщения: 

Я конечно не специалист, но там оч.много сделано. Очень много разных примеров. Графика, юзер.интерфейс, даже зачатки своего ПоверПоинта :) Имхо прекраснй пример раскрутки системы. Все это конечно и в любом форте можно наворотить...

Страница 1 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/