📑 Table of Contents

Factor es un lenguaje de programación orientado a pila creado por Slava Pestov. Factor es de tipado dinámico y administración de memoria automática, como poderosas características de meta programación. El lenguaje tiene presentando una sola implementación de un self-hosted optimizando al compilador y un entorno de desarrollo interactivo. La distribución Factor incluye una larga librería estándar.

Historia

editar

Slava Pestov inventó Factor en 2003 como un lenguaje de archivos de órdenes para un videojuego. La implementación inicial ahora nos referimos a él como JFactor, fue implementada en java y corrida sobre la máquina virtual de java. No obstante, el primer lenguaje moderno reensamblado Factor superficialmente en términos de sintaxis, el lenguaje moderno es muy diferente en términos prácticos y actual implementación es mucho más rápida.

El lenguaje ha cambiado significativamente con el tiempo originalmente, los programas Factor centrado sobre la manipulación de los objetos java con capacidades de reflexión java. Desde el comienzo, la filosofía de diseño ha sido modificada el lenguaje ha recreado programas escritos en este. Tanto como implementación y las librerías estándares se convirtió en más detallado, la necesidad para ciertas características del lenguaje se aclaró, y ellas fueron añadidas. JFactor no tuvo un sistema de objetos donde tu podrías definir tus propias clases, y versiones de antes de Factor nativo fueron el mismo; el lenguaje fue similar a Scheme en esta manera. Hoy, el sistema de objetos es una parte central de Factor. Otras importantes características del lenguaje tales como clases tuple, combinator inlining, macros, user-defined parsing de palabras y el moderno sistema vocabulario fue solamente añadido in una moda fraccionada como su utilidad se aclaró.

la interfaz de funciones foráneas fue presentada en versiones bastante antes a Factor, y sistema análogo existió en JFactor. Esto fue escogido sobre crear un plugin para la parte C de la implementación para cada librería externa con la que el Factor debería comunicar, y tiene el beneficio de comenzar más declarativo, más rápido compilar y más fácil escribir.

La implementación Java inicialmente consistió de un intérprete, pero un compilador a Java bytecode fue más tarde añadido. El compilador solamente trabajaba sobre ciertos procedimientos. La versión Java de Factor fue reemplazada por una versión escrita en C y Factor. Inicialmente, esto consistió de un intérprete, pero el intérprete fue reemplazado por dos compiladores, usados en diferentes situaciones. Con el tiempo, la implementación de Factor ha crecido significativamente más rápido.

Referencias

editar
  • Diggins, Christopher (2008). «Simple Type Inference for Higher-Order Stack-Oriented Languages». PDF.
  • Herzberg, Dominikus; Reichert, Tim (2009). «Concatenative Programming: An Overlooked Paradigm in Functional Programming». PDF.
  • Pestov, Slava. «Slava Pestov's corner of the web». Web.
  • «Concatenative.org wiki: Factor/Implementation History». Web.
  • Pestov, Sviatoslav; Ehrenberg, Daniel (2010). "Factor: a dynamic stack-based programming language". SIGPLAN Not. ACM. 45 (12): 43–58.
  • Pestov, Slava. «Factor documentation: UI framework». Web.
  • Coleman, Doug. «Factor documentation: Database library». Web.
  • Pestov, Slava. «Factor documentation: HTTP server». Web.
  • Pestov, Slava. «Factor documentation: Specialized arrays». Web.
  • Coleman, Doug; Ehrenberg, Daniel. «Factor documentation: Regular expressions». Web.
  • Pestov, Slava. «Overhauling Factor's C library interface». Web.
  • Pestov, Slava. «Factor's bootstrap process explained». Web.
  • Pestov, Slava. «On shaking trees». Web.
  • Ehrenberg, Daniel (2010). «Closure elimination as constant propagation». PDF.

Enlaces externos

editar

📚 Artikel Terkait di Wikipedia

Augus

& Assembly Language. Página web oficial Programmed Introduction to MIPS Assembly Language, Central Connecticut State University Tuple-Based Intermediate

Markdown

gestión de contenidos. Una cantidad de sitios como GitHub, Reddit, Diaspora, Stack Exchange, OpenStreetMap, y SourceForge usa algunas variantes de Markdown

Traducción automática de las lenguas de signos

the difference between translation and transliteration». English Language & Usage Stack Exchange. Consultado el 4 de julio de 2019.  «Thomas Pryor and Navid

CSS

desarrollo y la complejidad. Se ha desarrollado varias herramientas, como BrowserStack, para reducir la complejidad en el mantenimiento de las páginas web. Además

Blender

una renovación del sistema de animación,​ modificaciones del sistema stack based,​ un sistema de partículas actualizado (utilizado para simular cabello

Tarzán (película de 1999)

ambientalista padre y de Clayton, respectivamente.​ De acuerdo con Peter Stack, de San Francisco Chronicle: «Desde El rey león, los animadores no habían

Andrej Karpathy

un cambio fundamental en la forma en que se desarrollaba software. El «stack» clásico del Software 1.0 está escrito en lenguajes como Python, C++. Se

Diferencias ortográficas entre el inglés estadounidense y el inglés británico

the English Language (1755) de Johnson, mientras que muchas grafías inglesas americanas siguen An American Dictionary of the English Language ("ADEL", "Diccionario