Вход для пользователей

You are here

Free42 Big Stack

Замечательную вещь реализовали в Free42 (пока что в тестовой версии) - Big Stack режим.
https://www.hpmuseum.org/forum/thread-16255.html

Вышло просто великолепно. :)

Тесный XYZT стек был для меня всегда самым главным недостатком RPN калькуляторов HP по сравнению с их RPL линейкой (HP48 и пр.). К RPL я в свое время так и не привык. Интересно, перекочует ли этот режим в DM42?

Изображение пользователя Vitasam.

На форуме SwissMicros ничего пока про это не замечено

Похоже, у Томаса там серьезные планы по развитию калькулятора, причем с сохранением обратной совместимости с HP42S. Что не может не радовать.
https://thomasokken.com/free42/download/test/
https://www.hpmuseum.org/forum/thread-16218.html
В последних версиях, кстати, и так уже были добавлены удобные инструменты для создания и использования пользовательских функций, вроде локальных переменных, сохранения/воссановления стека (с L-регистром), conditional functions, raising exceptions и т.п.

Калькулятор продолжает дорабатываться автором.
Большая часть доработок сейчас сосредоточена на Plus42.
Часть функций переноситcя или будет перенесена в Free42, но, насколько я понял, наиболее "смелые" изменения останутся в Plus42.
При этом и в Plus42, и Free42 останется совместимость сверху-вниз с HP-42S.
В Plus42 добавляются фишки из других моделей калькуляторов HP (вроде алгебраических функций), плюс расширяются возможости интерфейса, который в итоге не будет ничем уступать интерфейсу DM42.
Пример, как можно уже сейчас настроить "шкурку" Plus42:

Автор, кстати, уже зарелизил Plus42. Получилось очень неплохо.
Очень впечатлила реализация уравнений из других моделей калькуляторов HP (17b/19b/27s). Вещь, как оказалось, весьма интереснная. Там в этих уравнениях по-сути программы писать можно. Целый язык, можно сказать. Уже раздумываю как переписать Лунолет-1 для "пробы пера" в одно такое уравнение.
И все это в Plus42 органически срощено с классическим RPN. Уравнения можно использовать в RPN-программах, а RPN программы как функции в уравнениях. Уравнения, насколько я понял, и компилируются "под копотом" в обычные RPN-программы.
Плюс неплохо реализованы юниты - тоже все без отрыва от RPN. Старые программы переписывать не нужно, все сходу дожно работать с килограмами, метрами и всякими футами.
Так бы, наверное, могли бы выглядеть следующие после HP-42s поколения калькуляторов HP, если бы контора не пошла по пути RPL.
В общем, крайне рекомендую. Это сейчас однозначно лучший софтовый программируемый RPN-калькулятор.

Вот как мог бы выглядеть Лунолет-1 при программировании его в стиле калькуляторов HP-19b/HP-27s:
LUN1(dMF:dT):0*H+0*L(V0:V)+0*L(q:dMF/dT)+0*L(a:SGN(R)*G(q)*NF/(M0+MF))+0*L(MF:MF-dMF)+0*L(V:V+(a-g)*dT)+0*L(H:H+(G(V0)+V)/2*dT)+IF(a>MAXG:LUN1(0:a-MAXG):H)
В этой строке даже реализована проверка на перегрузку и рекурсивный вызов функции с полетом когда пилот без сознания (последняя часть). Только автоматического прилунения нет, но думаю, что это тоже возможно сделать.
Честно скажу, с такой нотацией я до реализации ее в Plus42 знаком не был. Даже в книгах Дьяконова не встречал (если кто видел - буду благодарен если сориентируете, где посмотреть).
Осваивал эту нотацию по HP-ному руководству https://literature.hpcalc.org/community/hp27s19b-tech-en.pdf
Интересная вещь.