Pull to refresh

Comments 30

Чтобы написать код один раз, и использовать его в разных окружениях: Си, Java, PHP и прочих.
У вас часто возникала такая необходимость?
Всего несколько раз, но достачто сильно.
Спасибо за ссылку, очень интересно.
UFO just landed and posted this here
А я и не говорил, что это метаязык. Если я правильно понял комментарий, на который ответил, то речь там шла именно о ре-использовании кода в различных окружениях, а не о природе подхода.
Подозреваю, что человек любит схему, а работать приходится с php :)
Синтаксис у Вас — это жесть. Если бы не комментарии, никогда бы не разобрался.

И зачем Вам городить свои велосипеды? Сделайте ретранслятор Scheme -> PHP — я думаю найдется не мало людей которые будут Вам благодарны.
Именно это (транслятор Scheme -> PHP) и сделано.
Сбила фраза «совершенно случайно»

Теперь все вижу. Отличная разработка. Так держать.

Отвечу на вопросы, которые в статье (на что могу)

В PHP в последних версиях введены анонимные функции и замыкания.

В качестве Superglobals попробуйте облачать PHP-код в один большой класс, и использовать $this или self (для статических)

То, что написано про стек в статье, это про функции array_push и array_pop? Если да, то Вы открыли мне глаза на данных товарищей.
Перечитал статью. Синтаксис GVM ужасен, Ваш синтаксис вполне удобен.
Да, я до сих пор не могу привыкнуть к синтаксису GVM. Но он оправдан тем, что это просто распечатка внутреннего состояния компилятора.
Зачем скрывать в начале статьи, что псевдокод — это Scheme? Сначала думал что-то новое и необычное, потом понял что просто транслятор.
Небольшая маркетинговая уловка. Если бы Scheme, или упаси б-г Lisp, были бы упомянуты в самом начале, дальше хабраката никто бы и не посмотрел.
переместите в «ненормальное программирование»
UFO just landed and posted this here
Про быстрый стек: а если использовать список? Т.е. Node — массив или объект с полями value и next, где в next записана ссылка на следующий такой элемент.
Немного побенчмаркил на вставки элементов: обычные массивы и SplStack показывают примерно одинаковые результаты (последний все же чуть быстрее), мой же способ гораздо хуже.
Интересно, как SplStack добивается производительности. Мне так показалось, что он просто надстройка на обычными PHP-структурами.

Жаль, что с Node не получилось. Я надеялся, что это хорошее решение.
брейнфак будет поддерживаться?
Думаю, что если захотеть, то и брейнфак можно сделать. Но я вряд ли захочу, ибо проект не столько развлекательный, сколько для практического применения.
Sign up to leave a comment.

Articles