疯子是什么意思| 五体投地是什么意思| 眉茶属于什么茶| gfr是什么意思| gsp全称是什么| 粘纤是什么面料优缺点| 印泥干了用什么稀释| 什么是玄关在哪个位置| 两肺纹理增多是什么意思| 姜黄与生姜有什么区别| 精神出轨什么意思| 吃什么食物降低转氨酶| 黛是什么颜色| 增生是什么原因造成的| 什么是糖皮质激素| 头皮软绵绵的什么原因| 脾大吃什么可以缩脾| 高姓和什么姓是世仇| 眼睛发黄什么原因| 肺癌晚期有什么症状| 32周孕检检查什么项目| 冲奶粉用什么水比较好| 锁骨下面的骨头叫什么| 高血糖能吃什么水果| 点状强回声是什么意思| 精液是什么味| 姨妈期吃什么| 晨尿有泡沫是什么原因| 额头长闭口是什么原因| 230是什么意思| 11月10日是什么星座| 吃芒果后不能吃什么| 一什么教室| 一览无余是什么意思| 宝宝为什么会吐奶| 骨质增生是什么意思| 玄关是什么位置| 替班是什么意思| 阴道口溃疡用什么药| 伯爵是什么意思| 女人在什么时候最想男人| 护肝养肝吃什么药| 什么虎不吃人| 胖大海是什么| 什么水果含铁| hpv是什么意思| 浅表性胃炎吃什么药好| 肉苁蓉有什么功能| 鹿沼土是什么土| 外围是什么| 打一个喷嚏代表什么意思| 儿童个子矮小看什么科| 子宫内膜增厚有什么影响| 打一个喷嚏代表什么| 如来藏是什么意思| naco3是什么| 整夜做梦是什么原因| 小孩掉头发是什么原因引起的| 嗓子疼咳嗽吃什么药| 脸肿眼睛肿是什么原因引起的| 对什么都不感兴趣| 为什么叫印度阿三| 百白破是什么疫苗| 鹰嘴豆是什么| 圆寂是什么意思| 送表的寓意是什么| 阴毛有什么用| 言字旁有什么字| 熬夜眼睛红血丝用什么眼药水| 沙漠为什么是三点水| 谷丙转氨酶是检查什么的| 梦见李子是什么意思| 甲沟炎去医院挂什么科| 僧侣是什么意思| 三点水的字大多与什么有关| 闭目养神什么意思| 儿童办理身份证需要什么材料| 沙僧的武器是什么| 头七需要做什么| 科普一下是什么意思| 舍本逐末是什么意思| 四川九寨沟什么时候去最好| conch是什么牌子| 苹果跟什么榨汁好喝| 什么是七情六欲| 藜麦是什么东西| 早射吃什么药最好| 打擦边球是什么意思| 日进斗金是什么意思| 敲木鱼是什么意思| 国潮是什么| 隅读什么| 口爆是什么| 入幕之宾是什么意思| 钮祜禄氏现在姓什么| 版心是什么| 刘胡兰是什么样的人| 食品科学与工程学什么| 子宫增厚是什么原因| 什么叫压力| 吉兆什么意思| cpr什么意思| 百草枯什么味道| 名创优品是卖什么的| 左眼皮老是跳是什么原因| 纳囊是什么病| 手爱出汗是什么原因| 发瘟是什么意思| 脑筋急转弯什么东西越洗越脏| 古灵精怪什么意思| 抽血能查出什么| 回归线是什么| 凝血四项能查出什么病| 月光族是什么意思啊| 节节草煮水喝治什么病| 布洛芬0.3和0.4g有什么区别| 血尿酸偏高是什么原因| 肝功能检查什么| 阿托伐他汀钙片有什么副作用| 送巧克力代表什么意思| 腰胀是什么原因引起的| 88年属什么的生肖| 中医科是看什么病的| 经期吃什么让血量增加| 桑寄生是什么| 螃蟹为什么吐泡泡| 一把手是什么意思| 梦到大牙掉了一颗是什么意思| 喝什么祛湿气效果最好| 什么叫化学| c8是什么意思| 非亲非故是什么意思| 用一什么就什么造句| 姓杨的女孩子取什么名字| 频发房性早搏是什么意思| 粉刺用什么药膏最有效| 什么是同素异形体| 精囊在什么位置| 湿气是什么原因造成的| 什么的西瓜| h皮带是什么牌子| 尾椎骨痛挂什么科| 打压什么意思| omo是什么意思| 胸腔积液挂什么科| lof是什么基金| 蜜獾为什么什么都不怕| 520是什么日子| 排卵的时候有什么症状| 左肺结节是什么意思| 什么品牌的沙发好| 吃什么对皮肤好| 处级干部是什么级别| 变应原皮内试验是测什么的| 黄芪配升麻有什么作用| 什么狗聪明| 26岁属什么| 脚有点浮肿是什么原因| 银消病用什么药效果最好| 女人人中深代表什么| 什么是代孕| 什么如泰山| saucony是什么品牌| tcr是什么意思| aids是什么病的简称| 蛇跟什么生肖最配| 保鲜袋什么材质好| 茼蒿和什么相克| 黄瓜片贴脸上有什么效果| 精神寄托是什么意思| 良辰吉日什么意思| 口炎是什么字| h家是什么牌子| 北京有什么好吃的| 狗吃什么会死| 吃毓婷有什么副作用| 敏使朗是什么药| 小孩的指甲脱落是什么原因| 蒟蒻是什么意思| 龟头炎用什么软膏| 什么是主动脉夹层| 私事是什么意思| 长沙有什么好玩的| 1933年属什么| 盆浴是什么意思| browser什么意思| 男人梦见血是什么预兆| 大脑缺氧有什么症状| 9号来的月经什么时候是排卵期| 脾肾亏虚的症状是什么| 痔疮便血吃什么药| 255是什么意思| 梅花手表属于什么档次| 有痰是什么原因| 女生下面流水是什么原因| 岍是什么意思| 孕妇可以吃什么水果| abi医学上是什么意思| 补充电解质是什么意思| 冲床工是做什么的| 腹肌不对称是什么原因| 舌钉有什么用| 女性看乳房应该挂什么科| 严重失眠吃什么药管用| 沉香有什么作用| 黑醋是什么醋| 过氧化氢是什么| 睡觉腰疼是什么原因| 为什么叫夺命大乌苏| 金晨什么星座| 女人吃榴莲有什么好处| 三尖瓣反流什么意思| 口腔溃疡反复发作是什么原因| 动爻是什么意思| 水淀粉是什么东西| 功夫2什么时候上映| 为什么会孕吐| 便血是什么样的| 力争是什么意思| 子宫内膜薄有什么影响| 什么鼻子好看| 2050年是什么年| 地瓜什么时候成熟| 脂肪瘤长什么样| 肚脐眼右边是什么器官| 来月经不能吃什么| 姓林的女孩取什么名字好| 山东古代叫什么| 妞字五行属什么| 女性吃大肠有什么好处| 鳝鱼吃什么| 智齿疼吃什么药最管用| 大学院长是什么级别| 睾丸积液是什么原因造成的| 化验肝功挂什么科| 薛之谦为什么离婚| 单核细胞偏低是什么意思| 小肺大泡是什么意思| 煲汤放什么药材补气血| 上午十点到十一点是什么时辰| 完犊子是什么意思| 牛柳是什么肉| 小孩脚抽筋是什么原因引起的| 东风是什么意思| 纤维条索灶是什么意思| 九霄云外是什么生肖| dfi是什么意思| 普洱茶什么季节喝好| 青少年流鼻血是什么原因引起的| 宝宝吐奶是什么原因引起的| 金碧辉煌是什么生肖| 菽是什么意思| 头爱出汗是什么原因引起的| 为什么手抖| 肚脐眼下面痛什么原因| 花生吃多了有什么坏处| 中元节出什么生肖| 杜字五行属什么| 得宝松是什么药| 梦见磨面粉是什么意思| 眼压高是什么症状| 层出不穷什么意思| 今年是什么年号| 便秘吃什么蔬菜| 百度跳转到内容

马化腾解读腾讯最新财报:继续投资视频、云、AI、新零售

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Factor
编程范型多范型: 面向堆栈, 串接式, 函数式
实现者Slava Pestov
发行时间2003年,?22年前?(2003
当前版本
  • 0.100(2025-08-07;稳定版本)[1]
编辑维基数据链接
类型系统强类型, 动态
操作系统Windows, macOS, Linux
许可证BSD许可证
网站factorcode.org
受影响于
Joy, Forth, Lisp, Self
百度 青岛嘉峪关小学曾做过一项统计,以2-6年级的情况来看,54%的学生会选择在三点半放学后自主选择特长培训班,26%的孩子会有家长负责接回家里,进行家庭教育,剩下20%的孩子,因为家庭环境和条件各有差异,15%会选择社会托管,来达到更高水平的课后教育,剩下5%就需要学校给予更多的协助,进行学校托管。

Factor是Slava Pestov创建的面向堆栈编程语言。Factor是动态类型的并拥有自动内存管理,还有强力的元编程特征。语言有一个单一的实现,特征包括自宿主的优化编译器和一个集成开发环境。Factor发行包括一个大型的标准库

历史

[编辑]

Slava Pestov在2003年创建Factor作为视频游戏脚本语言[2]。最初的实现,现在称为JFactor,是用Java实现的并运行在Java虚拟机上。尽管在语法方面早期的语言表面上类似现代的Factor,现代的语言在实践方面是非常不同的,并且当前实现更加快速。

概述

[编辑]

Factor是动态类型的、函数式面向对象编程语言。代码可以围绕叫做单词的小型过程来构造。在典型的代码中,这些过程一般1–3行长,多于7行长的过程是非常少见的。在其他编程语言中习惯上表达为一个过程的某个东西,在Factor中可以写为多个单词[3]

每个单词接受固定数目的实际参数并有固定数目的返回值。给单词的实际参数被传递到数据栈上,使用逆波兰表示法。这个堆栈只用来组织到单词的调用,并非用作数据结构。在Factor中以类似于Forth中堆栈的方式使用堆栈;因此它们都被当作是堆栈语言。例如,下面的代码片段打印“hello world”到当前输出流:

 "hello world" print

print是在io词汇表中的一个单词,它从堆栈接受一个字符串而不返回东西。它打印这个字符串到当前输出流(缺省的是终端或图形收听器)[3]

阶乘函数,在Factor中可以用如下方式实现:

: factorial ( n -- n! ) dup 1 > [ [1,b] product ] [ drop 1 ] if

这里的( n -- n! )是叫做“堆栈作用”(stack effect)声明的一种注释,[1,b]整数集区间创建单词[a,b]的应用,product是作为序列组合子的二元归约运算。

不是所有数据都必须只通过堆栈来传递。词法作用域的局部变量,在过程内可用作临时变量英语Temporary variable来存储和访问。动态作用域的变量被用于在过程调用之间传递东西而不使用堆栈。例如,当前输入和输出流被存储在动态作用域的变量中[3]

Factor强调灵活性和扩展语言的能力[3]。有宏系统,还有对Factor语法的任意扩展。Factor的语法经常被扩展来允许新类型的单词定义和用于数据结构的新类型的文字英语Literal (computer programming)。它还被用在XML库中提供生成XML的文字语法。例如,下列单词接受一个字符串并产生一个XML文档对象,它是强调这个字符串的一个HTML文档:

 : make-html ( string -- xml )
    dup
    <XML
        <html>
            <head><title><-></title></head>
            <body><h1><-></h1></body>
        </html>
    XML> ;

单词dup重复在堆栈上的顶部元素。<->表示将来自堆栈的一个项目填入XML文档的指定部分。

实现和库

[编辑]

Factor包括一个大型的标准库,完全用本语言写成。包括有:

  • 跨平台GUI工具箱,建造在OpenGL和各种窗口系统之上,用于开发环境[4]
  • 绑定到多个数据库函数库,包括PostgreSQLSQLite[5]
  • 一个HTTP服务器和客户端,具有Furnace web框架[6]
  • 高效的同质的整数、浮点数和C结构的数组[7]
  • 实现正则表达式的一个库,生成机器代码来进行匹配[8]

Factor内置了外界函数接口英语foreign function interface,允许同CObjective-CFortran程序进行通信。还支持执行用GLSL书写的着色器并与之通信[3][9]

Factor是用Factor和C++实现的。它最初自举于早期的Java实现。现在,解析器和优化编译器都用本语言书写。语言的特定的基础部分是用C++实现的,比如垃圾回收器和特定原始操作(primitive)。

Factor使用基于映像英语system image的模型,类似于很多Smalltalk实现,这里编译的代码和数据都存储在映像之中[10]。要编译一个程序,这个程序被装加载一个映像并保存这个映像。一个特殊工具辅助建立最小映像来运行一个特定程序的过程,包装这个结果进入可以被部署为一个独立应用的某个东西中[3][11]

Factor编译器实现了很多高级优化并被用于新优化技术研究中的目标[3][12]

引用

[编辑]
  1. ^ Release 0.100. 2025-08-07 [2025-08-07]. 
  2. ^ Pestov, Slava. Slava Pestov's corner of the web. [2025-08-07]. (原始内容存档于2025-08-07). 
  3. ^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Pestov, Sviatoslav; Ehrenberg, Daniel. Factor: a dynamic stack-based programming language. ACM SIGPLAN Notices (ACM). 2010, 45 (12): 43–58. doi:10.1145/1899661.1869637. 
  4. ^ Pestov, Slava. Factor documentation: UI framework. [2025-08-07]. (原始内容存档于2025-08-07). 
  5. ^ Coleman, Doug. Factor documentation: Database library. [2025-08-07]. (原始内容存档于2025-08-07). 
  6. ^ Pestov, Slava. Factor documentation: HTTP server. [2025-08-07]. (原始内容存档于2025-08-07). 
  7. ^ Pestov, Slava. Factor documentation: Specialized arrays. [2025-08-07]. (原始内容存档于2025-08-07). 
  8. ^ Coleman, Doug; Ehrenberg, Daniel. Factor documentation: Regular expressions. [2025-08-07]. (原始内容存档于2025-08-07). 
  9. ^ Pestov, Slava. Overhauling Factor's C library interface. [2025-08-07]. (原始内容存档于2025-08-07). 
  10. ^ Pestov, Slava. Factor's bootstrap process explained. [2025-08-07]. (原始内容存档于2025-08-07). 
  11. ^ Pestov, Slava. On shaking trees. [2025-08-07]. (原始内容存档于2025-08-07). 
  12. ^ Ehrenberg, Daniel. Closure elimination as constant propagation (PDF). 2010. (原始内容 (PDF)存档于2025-08-07). 

外部链接

[编辑]
saa是什么意思 层出不穷是什么意思 前胸后背出汗是什么原因造成的 夏至什么意思 丨是什么意思
双手脱皮是什么原因引起的 保育是什么意思 含锶矿泉水有什么好处 杨琴是什么乐器 妆前乳是什么
孕妇梦见洪水是什么意思 跟腱炎吃什么药效果好 下架是什么意思 螳螂代表什么生肖 眼尖什么意思
mmp是什么意思 体会是什么意思 宝宝不长肉是什么原因 正品行货是什么意思 小孩反复发烧是什么原因引起的
卵胎生是什么意思mmeoe.com 7月14日是什么日子hcv8jop1ns0r.cn 当兵什么时候体检hcv8jop0ns0r.cn 阿苯达唑片是什么药hcv8jop5ns9r.cn 一什么雪hcv9jop1ns8r.cn
青蛙爱吃什么bjcbxg.com 一个土一个阜念什么hcv8jop5ns0r.cn 胆固醇偏高吃什么食物可以降胆固醇hlguo.com 毛泽东什么时候逝世hcv8jop7ns5r.cn va是什么维生素hcv8jop6ns9r.cn
糖尿病人吃什么水果好hcv8jop5ns4r.cn kid什么意思hcv8jop0ns5r.cn 不宜是什么意思hcv8jop9ns6r.cn 颈椎看什么科hcv8jop3ns1r.cn 高位破水是什么意思hcv9jop0ns6r.cn
椎体楔形变是什么意思hcv8jop8ns8r.cn 松鼠是什么生肖hcv8jop2ns4r.cn 牙齿酸软是什么原因xinmaowt.com 头晕做什么检查最准确clwhiglsz.com 后脖子出汗多是什么原因hcv7jop7ns3r.cn
百度