The following warnings occurred:
Warning [2] Undefined array key 62842 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62844 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62860 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62863 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62866 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62867 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62868 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62869 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62871 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62875 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62878 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62879 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62880 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62881 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62885 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62888 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62890 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62894 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62898 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62903 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62906 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62908 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62910 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62914 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62915 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62950 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62956 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62960 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62995 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62997 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63030 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63033 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63038 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63052 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63055 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63097 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63109 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63169 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63181 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63192 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63193 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $thread - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $fid - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62910 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63033 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63109 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63181 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63097 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62868 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62885 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62881 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62880 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62879 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62898 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62906 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 62995 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 63193 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $lang - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Attempt to read property "messages_in_thread" on null - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks





Is HP Calculator Keystroke Programming like FORTRAN??



#42

As the topic title asks, is it?

Currently, I have to teach some FORTRAN (ugh... I have to drag it out of the depths of my memory like stuff down a pipe I go after with a plumber's snake... ) and one day in front of the students, it occurred to me that it looked VERY MUCH like the keystroke programming of the old 34C, the 32SII, and the 33S.

But I did find the RPL of the 48G, 48G+, and 49G+ to be fairly different from the aforementioned older calculators and from FORTRAN.

Am I just a little nuts (or a lot)?


#43

Ed --

I would liken keystroke programming more to the assembly-language paradigm rather than to high-level compiled language -- each line contains one operation/instruction, rahter than a complete statement.

However, I also believe that Fortran '66 and '77 may have served as an inspiration for the high-end programmable calculators of the mid-70's. I have noticed a number of parallels:

  1. "GTO" and "GSB" are like "GO TO" and "CALL"
  2. "ISG" and "DSE" provide the "DO" looping functions
  3. Flags are like LOGICAL variables
  4. HP-41C external labels ("LBL {alphanumeric}") are like entry points
  5. HP-41C local labels ("LBL nn or a-e") are like statement labels
  6. "END" defines a complete program, like Fortran "END"

I strongly suspect that Fortran is still the most convenient high-level language in which to write a straightforward, text-input, number-crunching, text-output program. However, that's not what computers are primarily used for, anymore...

-- KS


#44

The 28 & 48 ( & 49? ) use a language called RPL for Rom based Programming Language. It borrows from the languages FORTH & LISP.


#45

RPL = Reverse Polish Lisp :-)


#46

I have seen "RPL" refered to as "Reverse Polish Lisp" and a couple of other terms, but the overwhelming preponderance of the evidence I have seen supports "ROM based programming Language".

When an RPL program is compiled the various operations are actually just pointers to an address in ROM where all the routines are stored. This allows the compiled code to have a minimal size for storage in RAM which is at a premium in a calculator, especially in the 28, 48 era. This is why a compiled RPL program is much smaller than its source code as opposed to say, a C program, where the compiled code for a small program is typically much larger than the source code.

It is the storing of all the routines in ROM and then using pointers in the compiled code that results in the name "Rom based Programming Language".

Many languages use Reverse Polish at some level so this is not a distinctive feature of any one language.

So I am going to stick with the term "ROM based Programming Language" until some one can furnish hard evidence to the contrary.


#47

What you have described corresponds to a class of languages called threaded interpretive languages (TIL). The most famous TIL is probably FORTH, invented by Charles Moore. DEC wrote a FORTRAN compiler for the PDP-11 that produced threaded code. Its generated code was much more memory efficient than the code produced by a native code compiler. Although a TIL can be burned into a ROM, that is just an implementation detail. TILs are popular whenever code size and address space are at a premium.

#48

Quoting from "HP-28 Insights", "Principles and Programming the
HP-28C/S" by William C. Wickes:

Quote:
The HP-28 "language," which includes the operating logic as well
as the specific command set, is called RPL.
Computer languages are known for their whimsical names; RPL is no
exception--it stand for Reverse Polish Lisp. This
name suggests the HP-28's derivation from HP calculators (and from
FORTH, another language that uses reverse Polish logic) and from
the computer language LISP, which is frequently used in computer
symbolic mathematics systems. Note that the HP-41 language was
never given a name, so many people call HP-41 programming "RPN
programming," which is unfortunate since, properly speaking, RPN
is a mathematical logic that is not specific to any calculator or
computer.

Quoting from HP's RPLMAN.DOC (part of "HP 48 Software Development
Tools"):
Quote:
A new system was therefore developed, which merges the threaded
interpretation of FORTH with the functional approach of Lisp. The
resulting operating system, known unofficially as RPL (for
Reverse-Polish Lisp), made its first public appearance in in June
of 1986 in the HP-18C Business Consultant Calculator.

I expect that "ROM-based Procedural Language" is a name invented
by marketing types to fit the already-existing abbreviation RPL.
As Bill Wickes wrote that RPL stands for
Reverse Polish Lisp, that's "official" enough for
me.

But is "RPL" an abbreviation (pronounced "are-pee-ell"), or an
acronym (pronounced "urple", which rhymes with "purple")?

Regards,
James


#49

> Note that the HP-41 language was never given a name, so many people call HP-41 programming "RPN programming,"

The name I read nearly 20 years ago for it was "FOCAL" from Forty-One CALculator language.


#50

Quote:
The name I read nearly 20 years ago for it was "FOCAL" from Forty-One CALculator language.

Problem with that is that there already was an existing FOCAL language, on DEC PDP-8 computers. I don't believe HP ever used the term "FOCAL", perhaps for that reason.

Best,

--- Les

[http://www.lesbell.com.au]


#51

Hi,

there once was a thread related to (the origin?) of FOCAL.

It's likely that users, maybe from PPC, used that word FOCAL
in relation to the HP-41 programming language,

because the word was nice to remember.

At least the word FOCAL is also common for this language,

as for many other uses.

By the way:

Until recently, there was a webpage www.FOCAL.de , too (now forwarded),

and www.FOCAL.com still exists.


Another example: The abbreviation RPL stands for 'Richmond Public Library'

as well as 'Regierungspraesidium Leipizig' (www.rpl.sachsen.de)

and 'Staatskanzlei Rheinland-Pfalz' (www.stk.rpl.de)

to name only a few.

Even better, 'www.rpl.de' also exists,

and isn't related to the HP-48 in any way;-)


Regards,

Raymond


#52

Hello Raymond!

FOCAL is a programming language that existed _before_ the HP41 (AFAIK) and is _not_ related to that calculator. But why not use the same acronym for different things. If talk about FOCAL on this list the chance is quite low to get confused. Someone here who programmed in FOCAL before the HP41 came to life?

Ciao.....Mike


#53

FOCAL actually got associated with the HP-41 via a contest that Henry Horn ran through 'HP Key Notes' to come up with a name for the 41 user code programming language, around about 1982, I think. I remember, because I entered it (and, in fact, I'd also submitted 'FOCAL' as a name, which I suggested could be short for 'Forty-One Contra-Algebraic Language', rather than the more straightforward 'Forty-One Calculator Language' that eventually won).

There was a protracted period when they said that they'd picked a winner, but were going through some legal checking before they could announce it, and I guess it was because the name had been used before for a language, and they were doing due diligence for trade marks or assessing the likelihood of being sued, or something like that.

#54

I have posted these comments a couple of times before, but it may be worth to post
them again:

The HP41 language

HP and some other people used the word FOCAL to refer to user programming
language or code for the HP41 family. It is supposed to mean Forty-One Calculator
Language, or something like that; in the vein of ALGOL (Algorithm Oriented
Language), COBOL (Common Business Oriented Language), ForTran (Formula
Translator), APL (A Programming Language), BASIC (Beginners All-purpose
Symbolic Instruction Code) and other, acronym-based names. The next wave of
languages used more “personal” names, as Pascal, Modula2, SmallTalk, etc; along with
the “letter based family” originated by BCPL siblings like “B”, then “C”, and later
“C++”. Of course, more current ones are Java and C#.

The KeyNotes user-support newsletter, published by HP around 1980 once opened a
contest to name the HP41 user programming language. Specifically, it refers to the
language used to create programs like this one:

01 LBL “HELLO”
02 “HELLO WORLD”
03 AVIEW
04 0.009
05 LBL a
06 TONE IND X
07 ISG X
08 GTO a
09 CLA
10 CLX
11 CLD
12 END

It is believed that the usage of the FOCAL name started after that contest.

I had used a Digital LSI-11 (the microprocessor-based version of the PDP-11
minicomputer) in 1978 and 1979; some of the available languages were BASIC and
FOCAL (Formula Calculator). FOCAL was similar to the BASIC dialects of the time,
but it lacked GOSUB-RETURN constructs, so it was suited for small, simple problem
solution, mostly with numeric answers; and not for large programs.


Line numbering and insertion

In BASIC, it was customary to number the statements in steps of 10, to allow for
“insertion” of debugging code or program modifications. In fact, some BASIC dialects
included the RENUMBER command, to tide up a program after debugging and
correction; or just to make room for more insertions!

So a program like:

10 INPUT “Enter an integer argument between 2 and 30”, X
20 F=1
30 FOR I=1 TO X
40 F=F*I
50 NEXT I
60 PRINT “The factorial of ”;X;” is”;F
70 STOP

will evolve to something like:

3 REM Clear the screen and put the cursor in the upper left corner
4 CLS
5 PRINT “Factorial Calculator – Ctrl-C to Exit”

10 INPUT “Enter an integer argument between 2 and 30”, X

11 REM Argument validation and error checking block
12 IF X<2 THEN PRINT “Invalid argument”: GOTO 10
14 IF X>30 THEN PRINT “Invalid argument”: GOTO 10
16 IF X<>INT(X) THEN PRINT “Invalid argument”: GOTO 10
18 REM End of argument validation block

20 F=1
30 FOR I=1 TO X
40 F=F*I

41 REM Beginning of debugging code block
42 REM Display and breakpoint just for debugging purposes
43 PRINT I, F,
44 PRINT “Press any key to continue”
45 D$=INKEY$
46 REM D$ is a dummy variable, only to create a wait for a keypress
47 REM End of debugging code block

50 NEXT I
60 PRINT “The factorial of ”;X;” is”;F

65 GOTO 10

70 STOP

A distinctive feature of the PDP-11 FOCAL was the use of fractional line numbers for
program statements, so if you need to insert a line between lines 1 and 2, you can just
use 1.5 as a line number.

Since the FOCAL name was already used for another programming language, my
personal opinion is that it should not have been a valid option for the HP41 case.


A non-successful submission

By the way, my submission for the HP41 programming language name contest was
EUREKA, because it is a well known, related to science word (and a rather universal
one), and also because it can be taken as an acronym for the most important features of
the HP41 system:

• Expandable (the hardware design allows for peripherals, extra memory, etc)
• User customizable keyboard
• RPN logic system
• Extendable (user programs are invoked in the same way than built-in functions)
• Keystroke operation (opposed to writing BASIC lines in other calculators)
• Alpha capability

Alas, I never received any feedback about this idea.


#55

Tnx a lot for that clarification, Andrés.

Not to start a new contest, but how about CoNuProLa (don't confuse with MoPraWaLa) for MCode and for the user language NUL (Nut User Language).
AMPHITRYON would be nice too, it has enough letters to spell something funny (no idea yet) and HERCULES is already taken by the S/360 and 390 emulator.

Ciao.....Mike


#56

PRPN = Programmable RPN would have been my suggestion

Perhaps simple name like: KEYS

might be evcen better?

[VPN]


#57

Yes, but what could KEYS stand for??

#58

While the FOCAL interpreters for the DEC PDP8 and PDP11 minicomputers lacked GOSUB - RETURN statements, FOCAL accomplished subroutine calls with the "DO" statement. The FOCAL language used line numbers that were composed of a Group and line number joined by a "." For example, "DO 10.01" would call that line of the program as a subroutine and return at the end of the line. "DO 10" would call the entire group 10 as a subroutine and return at the end of the last line of the group. Later versions included a RETURN statement as well. FOCAL statements could be abreviated with the first letter of statement, "R" for RETURN for example.

FOCAL was designed to enable the user to write as large a program as possible in a small, fixed allocation of memory, up to about 8K in a PDP8 and about 16K in a PDP11. The variables and arrays were allocated in the remaining memory of the machine. FOCAL interpreters were small, in the 8K to 12K range. They supported extended precision math at a point in time when most interpreters used 6 digits of precision.

FOCAL was intended to be a programmable calculator. It was possible to code quite complex applications with it. Some versions even included event driven multitasking and very flexible I/O, like the HP-85 ten years later.


#59

Jim:

Thank you for your clarifications. It seems my memories from the time I used FOCAL as EE student covered just a part of the story.

In 1978 the EE students helped assembling a Heathkit LSI-11, which was the first computer in my university. Before, we needed to punch cards and run our programs at an external site. I was granted the "TRAU" nickname because I reverse plugged an UART chip on its socket (fortunately, it was detected before final assembly).

We needed to use a "octal debugging tool", and a "binary relocatable loader" as previous steps before actually loading a programming language (FOCAL or BASIC), and all those came in punched paper tape. So it took about 20 minutes to "boot" the machine before running a program. And any glitch which caused a hang-up required all those steps to be repeated!

Around 1980 the same computer was given an operating system, a couple of 8 inch floppy drives, and it became more "productive". Then, other larger computers (NCR, IBM, etc.) were installed at the university.

#60

I don't have a copy to hand, but one of the HP Journal articles in the issue that featured the HP-48SX stated unequivocally that RPL was short for 'ROM-based Procedural Language'. This is an excellent and definitive reference for the meaning of RPL.

It's also complete baloney.

When I saw this article, I accosted Bill Wickes about it, and he was as surprised as I was. Bill insisted that RPL was short for 'Reverse Polish LISP' and nothing else, and says as much in his own writings. As one of its creators, he ought to know, and I'd trust him over pretty much anyone else on this.

He had no idea where the 'ROM-based Procedural Language' moniker came from, but speculated that someone within HP who worried about such things felt that 'Reverse Polish LISP' was too frivolous, or insufficiently dry and technical, or something, and took it upon themselves to "fix" it without consulting the actual inventors.


#61

If RPL stands for 'ROM-based Procedural Language', that is: a language which allows for short programs, where each statement can invoke one of a set of powerful functions contained in a ROM... well, the HP25 is a RPL calculator!

#62

This doesn't seem to relate to my comparison of Fortran to the advanced programmables of the mid-70's, which include the HP-65, -67, -41, -34 and their descendants mentioned by Ed. Perhaps you meant to back up to his message in reply...

-- Karl


#63

Yeah, it did seem to me that the RPL machines are different in the way you approach programming them. And thanks, I wasn't aware that RPL had this lineage. Maybe I'll go look up FORTH and LISP. I'm not an engineer nor programmer nor even really a teacher, so I am only familiar with a very limited range of programming tools and appreciate the heads up.

Karl, yes, I think that's what these fellows meant!

Anyhow, I suppose this might be one reason why I am drawn more to the 34C/32S(II)/33S type programmable scientific rather than the 38G/39G(+)/48G(+, X)/49(+) type graphing machine, even though this latter group is leaps and bounds more powerful... besides, the former group fits better in a tighter space (like pockets!)... even though I find myself now more on a daily basis using the 33S and the 48G (or when home, 32SII/48G+) in tandem; I actually do calculations and program the more FORTRAN-like ones and use the LISP-like ones as a very convenient and portable database (to copy stuff from into the 32SII or 33S)!

#64

.

#65

Karl, THAT is exactly what gave me this notion! You can even flowchart a HP 34C/32S/32SII/33S program in just about the same way!


#66

And, Karl, as to your post concluding lament-

actually, in science, FORTRAN is still holding on. Sure, there were some contenders that held the day for a few days, like PASCAL or C, but even scientists are vulnerable to trendiness. FORTRAN appears to have some staying power. (And if I could learn it well enough to kluge up some quick code for a simple purpose, then it must be user-friendly!) We STILL use them for calculations and text output!

The course is a chemistry course. It was deemed that this time, a little chemistry and physics will be displaced by a little programming because contrary to appearances, today's college kid is LESS computer literate in the real sense than their predecessors a little while ago, and hard science will always from the Shockley-Schottky revolution on depend on computers.

(Oh, these kids can tweak Windows XP like Bill Gate's own engineers, or troubleshoot a homemade network, or e-mail with the coolest hacker lingo, but THEY DON'T REALLY KNOW HOW A COMPUTER WORKS whether from the hardware OR the software end. One colleague remarked that they couldn't change an add-on card because they never heard of PCI or ISA! And, none of them appear to know how to program their TI graphing calcs!!)


#67

"today's college kid is LESS computer literate in the real sense than their predecessors a little while ago"...
"but THEY DON'T REALLY KNOW HOW A COMPUTER WORKS whether from the hardware OR the software end. One colleague remarked that they couldn't change an add-on card because they never heard of PCI or ISA!"

If my sons friends are any indication, I have to disagree. I'd say 80% of his fellow engineering students have "buil"t their own PCs from plug-in cards at least. A fair amount (maybe 1/3) have programmed in asm. A half dozen or so have made microcontroller projects in their free time as hobbies. I know of 2 that are working on making their own CPUs in verilog.

Maybe its just different in the sciences.

"And, none of them appear to know how to program their TI graphing calcs!!)"

I bet none of them really care, either ^_^

Edited: 11 Sept 2004, 7:19 a.m.


#68

Sure, engineering students will know something about the insides of computers, but all these kids who are supposedly learning about computers in school have absolutely no idea what goes on inside the box, in either hardware or software. They're just appliance operators.


#69

Garth, this is true also for SCIENCE students (especially in the biological end) and it's scandalous. Most of these kids have no idea what a scientist is and don't really want to find out. Their preferred short term destinations are like, Johns Hopkins Med, Cornell Med, etc.

They would not acacdemically survive head to head with engineering students, at least for the first couple of undergraduate years. At least in the old days, this often improved by their junior year or so.

#70

Ah, but your son and his friends are ENGINEERING students! That's already a rarefied stratum of students to belong to. These guys can make a father proud- they know their trig inside out, they can correct the integration or statistical errors they run into in textbooks, they might even know the difference between De Broglie and de 'hood.

A lot of science students, primarily the ones from here in the States (as I was) are significantly weaker in the basics of mathematics and science not only because their teachers and schools are weaker in these areas than those from many foreign lands, but because of the over-hedonistic lifestyle here, they have actually lost, rather, never fully developed an interest in making themselves truly "better" people academically, as this is here less necessary to their economic and social well being than in other places.

I say, Dads, unite! Kick 'em all in the butt and then work 'em off. This is the old fashioned way and the only way they'll ever become educated, intelligent kids...
... who CAN understand why he might rather have PC 3200 rather than 2700 RAM, change a video card, figure out why DOOM is crashing, make his own cable, know why some equations all of a sudden contain a natural logarithm, understand (somewhat, as no one really does) wave-particle duality, and help some little kid keep his training wheels from falling off all the time.

#71

BASIC (Beginners All-purpose Symbolic Instruction Code) is quite like FORTRAN and easier to use. Being an interpreter, the edit-run cycle is very simple, avoiding compiling and linking steps in between; hence is very good for educational purposes (of course, compiled code is better for performance and for commercial uses).

There are many BASIC platforms available. Please note that I point to the "classic" BASIC dialects, not "modern" ones as Microsoft VisualBASIC, which are not FORTRAN-like at all.

Among many sources, you can visit www.truebasic.com for a lot of interesting information. A Google search with the keywords "BASIC Kemeny Kurtz" will point to many interesting places.

(Dartmouth College professors Kemeny and Kurtz created BASIC 40 years ago).


#72

Hmmmm.... BASIC.

I remember playing with basic AFTER I learned FORTRAN; it was came preinstalled (or was it part of DOS 3 in those days?) on some of the first PCs I was able to get my hands on. Yes, the early BASIC versions were more FORTRAN-like, but to show the students, or more accurately, to give them a taste of actual research activities (minus some of the really toxic or highly dangerous stuff), FORTRAN is more useful.

As you explained, it is more powerful and more suited to the needs of future research projects and courses they are mandated to take before graduation.

Besides, I was thinking that, two seconds I had this revelation, that, "Hey, if I can show them it is like keystroke programming in a HP scientific calculator, maybe they'll get a better insight!"

No such luck. As I said, they haven't even bothered to figure out how to program their TI graphing calcs. I was just hoping to ease my job and give them an additional insight. Maybe I can convince them to throw away theirs and go out and get a HP 33S! The keyboard shape is perfect for their generation!!

#73

Not FORTRAN per se, Ed, but the programming concepts of that era, in general. The HP-35 appeared in - what? - 1972? - the 65 in 1974 and that was before the adoption of the notions of structured programming and, later, object-oriented programming. At that time, the GOTO was still considered harmless, and the world was dominated by FORTRAN for scientific programming and COBOL for commercial applications, along with lots of oddball languages for low-end systems and visual records accounting machines.

Although Algol and its derivatives like PL/I and later Pascal offered better ways of doing things, they were not widely implemented, and so their concepts don't seem to have influenced the HP design team, which remained in the keystroke programming 'groove' until the development of RPL for the HP-18C and HP-28C. This seems entirely reasonable - implementing some of the features of new breed of programming languages would have required more resources than were available in the early calculators, such as a large subroutine return address stack.

Best,

--- Les

[http://www.lesbell.com.au]


#74

But Les, FORTRAN way predated any HP handheld of any kind; wouldn't it have been just as fair to say that FORTRAN dominated the programming philosophy of that time?


#75

Perhaps - but there were many other languages around at the time: Algol, COBOL, MUMPS, Simula, LISP, APL, to name but a few. They mostly had the same things in common. I think it's more likely the designers of the 35 simply extended its design to add registers to come up with the 45, and then added simple and fairly obvious programming constructs to come up with the 65.

From there, the die was cast, as it was easiest to extend the design to ensure portability of code for Application Pacs, Users Library, etc.

And there's one thing that clearly separates the HP calcs from the high-level languages of the day: the languages all allowed algebraic expressions on the r.h.s. of assignments. HP calcs - being calcs - did not, and were RPN, to boot.

Best,

--- Les

[http://www.lesbell.com.au]


#76

Yes, I suppose memory limitations played a role in that you could field a whole algebraic expression to yield a replacement value... though that might have changed the way HP calculators (before the advent of the RPL class) would have been programmed.

#77

I would consider the HP9100 (1968) as the beginning of this branch of the "calculating devices" evolution tree: RPN keystroke programming started with it.

See the 9100 page here at the MoHPC; just as a brief glimpse, think about magnetic core memory, no digital integrated circuits, CRT display, desktop size, AC power...

You can also take a look at the 9810 page.

#78

A real FORTRAN programmer may do FORTRAN in any programming language.

Well, that's a joke with a bit of truth. I see no difference as "programming" is done with a pencil and a sheet of paper, all the rest is "coding".

See here what I did in FORTRAN: [link:http://ourworld.compuserve.com/homepages/nutem/]http://ourworld.compuserve.com/homepages/nutem/[/link:]

For a free FORTRAN compiler dive into this: [link:http://musicm.mcgill.ca/sim390]http://musicm.mcgill.ca/sim390[/link:]

Ciao.....Mike


#79

I don't see a free fortran compiler - just (just!) a ESA/390 mainframe subset emulator.


#80

You have to dive deeper into it: look in the appends of the corresponding mailing list. Alas it's on Yahoo.

Ciao.....Mike

#81

And - completely coincidentally - today (Mon 20th Sept) is the 50th anniversary of the running of the first FORTRAN program.

Best,

--- Les

[http://www.lesbell.com.au]


#82

Vive le FORTRAN!

(la?)


Possibly Related Threads…
Thread Author Replies Views Last Post
  Dedicated HP calculator programming-hardware-bug website? Geoff Quickfall 12 2,700 10-12-2013, 11:34 PM
Last Post: Les Koller
  Homemade ARM-based Calculator Programming Cable Katie Wasserman 18 5,921 08-27-2012, 11:25 PM
Last Post: Katie Wasserman
  Most usable keystroke calculator? Sid Cave 32 7,105 01-07-2012, 03:49 PM
Last Post: Lutz Jacob
  Ren, you asked for keystroke calculations designnut 0 719 03-07-2009, 12:24 PM
Last Post: designnut
  HP 35s ENTER and keystroke skipping Luis Moreno 12 1,964 11-01-2008, 03:40 PM
Last Post: Brian Healy
  Effective Computer-aided Calculator Programming - Part 1 - Voyager Egan Ford 0 639 04-02-2008, 01:35 AM
Last Post: Egan Ford
  Keystroke Intensive Casio Hal Bitton in Boise 2 1,011 03-25-2008, 04:14 AM
Last Post: DaveJ
  Keystroke programming worksheet Martin Pinckney 5 1,554 11-15-2007, 12:24 AM
Last Post: Forrest Switzer
  Keystroke Programming and Stacks DaveJ 14 3,331 09-10-2007, 02:57 PM
Last Post: Namir
  FORTRAN inventor dies Don Shepherd 18 4,319 03-22-2007, 05:31 PM
Last Post: Walter B

Forum Jump: