Я упомянул Хаскелл поскольку его возможности сопоставления хоть как-то "бьются" с Рефалом. А типизацию и в Рефал несложно ввести, только это от лукавого, думаю.
>Воскресенье, 1 декабря 2019, 12:53 +03:00 от Boyko Bantchev >boykobb_AT_gmail.com <refal@botik.ru>: > >> ... Если ещё немного усложнить язык - получится Хаскелл, зачем тогда Рефал? > >Получить Haskell или вообще язык с системой типов Hindley–Milner >из Рефала не то что с небольшими усложнениями, а вообще нереально >ожидать. Рефал ведь слабо типизированнъй язык, тогда как с >Hindley–Milner-овскими языками как раз наоборот. И механизмы >сопоставления у Рефала и у Hindley–Milner-а совсем разные. >У каждого свои преимущества. Что касается С-расширения, то это из области "упёртых" практиков. Один мой знакомый не смог откомпилировать дистрибутив Рефала, который первый ему попался в сети, под Линукс, плюнул и отступился. Не всегда всё так гладко как видит разработчик такого продукта в привычном ему окружении. Вариант с Node более привлекательный, но я не полюбил эту технологию с первого взгляда. Возможно, придётся ещё на неё посмотреть, но после того, как я получу результат в выбранной мной технологии, т.е. уже не такой модной, но зато хорошо себя показавшей - сервер на С-подобном языке Go. К нему и из сети можно будет обратиться, если локально он не может быть запущен по каким-либо причинам. Я рассчитываю "обкатать" эту технологию на практических применениях, которые уже есть в наличии, а потом можно и отпустить в сеть. > >А избежание необходимости усложнений Рефала, на мой взгляд, можно >постичь, если реализовать небольшое его подмножество в виде библиотеки >на ANSI C. Это даст, с одной стороны, компилятор, интерпретатор и >REPL этого минимального и совсем простого Рефала для непосредственных >применений, в том числе для изучения, обучения и всяких хобби занятий. >С другой стороны, через интерфейс к ANSI C будет обеспечена возможность >сочетать программирование на Рефале с программированием на почти любом >другом языке. На этих других языках, а не в самом Рефале, и будут >реализоваться все желательные языковые расширения. > >И то, и другое увеличило бы, помимо прочего, практическую доступность >Рефала. Зависимости от операционной системы, например, вообще не >будет — одна реализация языка на все системы, где есть C. > >Ещё одна возможность — реализовать тот самый небольшой Рефал в >виде библиотеки на JavaScript, что обеспечило бы применимость и в >вебприложениях, и (через Node) во многих других. > >Может, я что-то упускаю из вида, но именно такой путь развития Рефала >мне кажется очень перспективным. С уважением, Александр Гусев gusev_aleksa...@mail.ru