Curl (programming language)

Curl
Paradigmsmulti-paradigm: object-oriented, markup
Designed bySteve Ward, MIT
DeveloperCurl, Inc., Sumisho Computer Systems Corp., SCSK Corporation
First appeared1998; 27 years ago (1998)
Stable release
8.0.13 / 6 September 2022; 2 years ago (2022-09-06)
Typing disciplinestrong
OSWindows
Licenseproprietary
Websitewww.curl.com
Dialects
none
Influenced by
HTML, JavaScript, Lisp

Curl is a reflective object-oriented programming language for interactive web applications, whose goal is to provide a smoother transition between content formatting and computer programming. It makes it possible to embed complex objects in simple documents without needing to switch between programming languages or development platforms. The Curl implementation initially consisted of an interpreter only; a compiler was added later.

Curl combines text markup (as in HyperText Markup Language (HTML)), scripting (as in JavaScript), and heavy-duty computing (as in Java, C#, or C++) within one unified framework. It is used in a range of internal enterprise, business-to-business (B2B), and business-to-consumer (B2C) applications.

Curl programs may be compiled into Curl applets, that are viewed using the Curl RTE, a runtime environment with a plugin for web browsers. Currently, it is supported on Microsoft Windows. Linux, and macOS was dropped on March 25, 2019 (starting with version 8.0.10).[1] Curl supports "detached applets", which is a web deployed applet which runs on the user's desktop independent of a browser window much as in Microsoft Silverlight 3 and Adobe AIR.

Architecture

The Curl language attempts to address a long-standing problem: the different building blocks that make up any modern web document most often require wildly different methods of implementation: different languages, different tools, different frameworks, often completely different teams. The final, and often most difficult, hurdle has been getting all of these blocks to communicate with each other in a consistent manner. Curl attempts to side-step these problems by providing a consistent syntactic and semantic interface at all levels of web content creation: from simple HTML to complex object-oriented programming.

Curl is a markup language like HTML—that is, plain text is shown as text; at the same time, Curl includes an object-oriented programming language that supports multiple inheritance. Curl applications are not required to observe the separation of information, style, and behavior that HTML, Cascading Style Sheets (CSS), and JavaScript have imposed, although that style of programming can be used in Curl if desired.

While the Curl language can be used as an HTML replacement for presenting formatted text, its abilities range all the way to those of a compiled, strongly typed, object-oriented system programming language.[2] Both the authoring (HTML-level) and programming constructs of Curl can be extended in user code. The language is designed so Curl applications can be compiled to native code of the client machine by a just-in-time compiler and run at high speed. Curl applets can also be written so that they can run off-line when disconnected from a network (occasionally connected computing). The Curl IDE is an application written in Curl.

Syntax

A simple Curl applet for a "Hello, World!" program might be:

 {Curl 7.0, 8.0 applet}
 {text
    color = "blue",
    font-size = 16pt,
    Hello World}

This code will run if the user has at least one of the Curl versions 7.0 or 8.0 installed.

Curl provides both macros and text-procedures in addition to anonymous procedures and named methods. An alternative using the text-procedure paragraph would be:

 {paragraph
    paragraph-left-indent=0.5in,
    {text color = "red", font-size = 12pt,
      Hello}
    {text color = "green", font-size = 12pt,
      World}}

Recently this style of layout has been adopted by "builders" in the Groovy language for the Java virtual machine (JVM), but is also familiar to users of CSS or Tcl/Tk. Most features for web applications now implemented through combinations of JavaScript libraries + HTML + CSS are already found within the Curl language, including features usually associated with Prototype + script.aculo.us such as accordion panes.

Curl sets callbacks in the manner also adopted by Groovy:

 {CommandButton width=100pt,
    height = 50pt,
    label = {center {bold Invokes an event handler when clicked}},
    control-color = "orange",
    || Attach the following event handler to this CommandButton
    {on Action do
        {popup-message
            title = "Your Message",
            "This is a user message dialog."
        }
    }}

Curl comments use the vertical bar in several variations. The simplest is as follows:

 {text A comment can be on a line by itself,
 || A comment on a line by itself
 or it can be at the end || A comment on the same line as code
 of a line.}

As lightweight markup

Because Curl provides for both user-defined text procedures and style sheets, it can be used readily as domain-specific lightweight markup. A major advantage over plain text HTML markup is that the text encoding can be set to UTF-8, and text entered in a Unicode-enabled text editor with no escaping of characters (like JavaScript, Curl is Unicode friendly). A poetry example is:

 {poem || wraps entire poem
    {stanza  || first verse here in any language
    }
    {stanza  || another verse here in any language
    }
 }

which can initially be implemented by defining the poem and stanza markup as paragraph text formats. Stanza could be further refined to include a hidden navigation anchor for page navigation using the Curl {destination} which is itself a text procedure.

The same markup can be used for different results, as one can style text to be visible in one context and invisible in another. Curl also permits top-level file inclusion so that a source text in markup can be included in different parent files. In education, for example, one could create a source file of test questions, and include it in both a student and a teacher version of the text.

See also

References

  1. ^ "Changes to Supported Operating Systems of Curl RTE Products". SCSK Corporation. Archived from the original on 2019-05-13. Retrieved 2020-04-01.
  2. ^ M. Hostetter; D. Kranz; C. Seed; C. Terman; S. Ward. "Curl: A Gentle Slope Language for the Web". MIT Laboratory for Computer Science. Archived from the original on 2008-12-24. Retrieved 2005-12-20.

Read other articles:

This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Dogmatic fact – news · newspapers · books · scholar · JSTOR (October 2023) The term dogmatic fact is employed in the teaching of the Catholic Church, to mean any fact connected with a dogma, wherein the application of the dogma is itself what constitu...

 

US Navy gunboat For other ships of this name, see USS Water Witch. USS Water Witch History United States NameUSS/CSS Water Witch Laid down1851 Commissioned1853 Fate Captured by CSN 3 June 1864 Burned to prevent recapture, 19 December 1864 General characteristics Displacement464 tons Length163 ft (50 m) Beam24 ft 4 in (7.42 m) Draft11 ft 9 in (3.58 m) Propulsionsteam Complement64 officers and enlisted Armament4 32-pdrs., 1 12-pdr.sb., 1 20-pdr. P.r., 4 3...

 

Norse-style legend by Tolkien The Legend of Sigurd and Gudrún The Legend of Sigurd and Gudrún first edition cover.EditorChristopher TolkienAuthorJ. R. R. TolkienIllustratorBill SandersonCover artistBill SandersonCountryUnited KingdomLanguageEnglishSubjectNorse mythologyGenreFantasyPublisherHarperCollinsHoughton Mifflin HarcourtPublication date5 May 2009Media typePrint (hardback)Pages384 pp (first edition)ISBN978-0-00-731723-3OCLC310154475Preceded byThe Children of Húrin ...

W.B.XXVI Role Fighter aircraftType of aircraft National origin United Kingdom Manufacturer William Beardmore and Company Designer W.S. Shackleton First flight 1925 Status Prototype Number built 1 The Beardmore W.B.XXVI (W.B.26) was a prototype British two-seat fighter of the 1920s. A single engined biplane, one example was built and evaluated by Latvia, but was not accepted for service. Development and design In 1924, the Scottish shipbuilding company of William Beardmore and Company designe...

 

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

 

D'Angelo Russell Russell con i Minnesota Timberwolves nel 2022 Nazionalità  Stati Uniti Altezza 191 cm Peso 88 kg Pallacanestro Ruolo Playmaker / guardia Squadra  L.A. Lakers Carriera Giovanili 2010-2011Central High School2011-2014Montverde Academy2014-2015 Ohio St. Buckeyes Squadre di club 2015-2017 L.A. Lakers143 (2.038)2017-2019 Brooklyn Nets129 (2.455)2019-2020 G.S. Warriors33 (779)2020-2023 Minnesota T'wolves173 (3.199)2023- L.A. Lakers57 (948) I...

Method of biological systematics in evolutionary biology For the scientific journal, see Cladistics (journal). For phylogenetic nomenclature, often called cladistic nomenclature or cladistic terminology, see Phylogenetic nomenclature. Cladistics (/kləˈdɪstɪks/; from Ancient Greek κλάδος (kládos) 'branch')[1] is an approach to biological classification in which organisms are categorized in groups (clades) based on hypotheses of most recent common ancestry. The ...

 

(DE) «[…] man soll sie zerschmeißen, würgen, stechen, heimlich und öffentlich, wer da kann, wie man einen tollen Hund erschlagen muss.» (IT) «[…] devono essere fatti a pezzi, strangolati, infilzati, in segreto o pubblicamente, chi lo può, come si deve ammazzare [a bastonate] un cane randagio.» (Martin Lutero, Wider die Mordischen und Reubischen Rotten der Bawren (Contro la masnada assassina e rapinatrice dei contadini)) Guerra dei contadini tedeschiparte delle guerre di religione...

 

E-Boks Open 2012 Sport Tennis Data 9 aprile - 15 aprile Edizione 3a Campioni Singolare Angelique Kerber Doppio Kimiko Date-Krumm / Rika Fujiwara Il Danish Open 2012 è stato un torneo di tennis giocato sul cemento indoor. È stata la 3ª edizione del torneo, che ha preso il nome di e-Boks Open per motivi di sponsorizzazione e che fa parte della categoria International nell'ambito del WTA Tour 2012. Si è giocato a Farum in Danimarca dal 9 al 15 aprile 2012. Indice 1 Partecipanti 1.1 Teste di...

Questa voce sull'argomento cestisti brasiliani è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Marcus Vinícius Nazionalità  Brasile Pallacanestro CarrieraSquadre di club  FluminenseNazionale 1945-1948 Brasile12 (34)Palmarès  Olimpiadi Bronzo Londra 1948  Campionati sudamericani Oro Ecuador 1945 Il simbolo → indica un trasferimento in prestito.   Modifica dati su Wikidata&#...

 

Questa voce o sezione sull'argomento centri abitati della California non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Studio CityquartiereStudio City – Veduta LocalizzazioneStato Stati Uniti Stato federato California ConteaLos Angeles ComuneLos Angeles TerritorioCoordinate34°33′N 118°15′W&...

 

Aspar PaturusiLahirAndi Sofyan Paturusi10 April 1943 (umur 81)Bulukumba, IndonesiaNama lainAspar PaturusiPekerjaanaktor, dramawan, novelisetcTahun aktif1971 - sekarang Aspar Paturusi (lahir 10 April 1943) adalah aktor, dramawan, dan novelis Indonesia. Filmografi Film Tahun Judul Peran Catatan 1971 Sanrego Karya debut 1989 Tutur Tinular: Pedang Naga Puspa Kertanagara Tragedi Bintaro 1990 Si Buta dari Gua Hantu: Lembah Tengkorak 1991 Saat Kukatakan Cinta 1997 Fatahillah 2009 Ket...

 本表是動態列表,或許永遠不會完結。歡迎您參考可靠來源來查漏補缺。 潛伏於中華民國國軍中的中共間諜列表收錄根據公開資料來源,曾潛伏於中華民國國軍、被中國共產黨聲稱或承認,或者遭中華民國政府調查審判,為中華人民共和國和中國人民解放軍進行間諜行為的人物。以下列表以現今可查知時間為準,正確的間諜活動或洩漏機密時間可能早於或晚於以下所歸�...

 

Buddhist philosophy founded by Nagarjuna For the ancient city of Madhyamika, see Nagari, Rajasthan. Classical Indian Mādhyamika thinkers. Clockwise from upper left: Nāgārjuna (founder), Bhāvavivēka and Candrakīrti (commentators), Śāntarakṣita (synthesized the school with Yogācāra). Part of a series onMahāyāna Buddhism Teachings Bodhisattva Buddhahood Mind of Awakening Buddha-nature Skillful Means Transcendent Wisdom Transcendent Virtues Emptiness Two truths Consciousness-only Th...

 

NBC affiliate in St. Louis KSDKSt. Louis, MissouriUnited StatesChannelsDigital: 35 (UHF)Virtual: 5Branding5 On Your SideProgrammingAffiliations5.1: NBCfor others, see § SubchannelsOwnershipOwnerTegna Inc.(Multimedia KSDK, LLC)HistoryFirst air dateFebruary 8, 1947(77 years ago) (1947-02-08)Former call signsKSD-TV (1947–1979)Former channel number(s)Analog:5 (VHF, 1947–2009)Former affiliationsAll secondary:DuMont (1947–1956)[1]CBS (1947–1953)ABC (1948–1953)Call ...

28°59′36″N 116°40′46″E / 28.99333°N 116.67944°E / 28.99333; 116.67944 鄱阳县番邑、番县、番阳、波阳县鄱阳县的地理位置坐标:29°14′36″N 116°49′14″E / 29.2433°N 116.8206°E / 29.2433; 116.8206国家 中华人民共和国隶属行政区江西省上饶市設立番县:秦始皇二十六年(前221)語源 番邑:待调查 番县:取自番邑一名。 番阳县:西汉改番县为番阳县�...

 

For other uses, see Yakutsk (disambiguation). City under republican jurisdiction in Sakha Republic, RussiaYakutsk ЯкутскCity under republican jurisdiction[1]Other transcription(s) • YakutДьокуускай FlagCoat of armsLocation of Yakutsk YakutskLocation of YakutskShow map of RussiaYakutskYakutsk (Sakha Republic)Show map of Sakha RepublicCoordinates: 62°01′48″N 129°43′48″E / 62.03000°N 129.73000°E / 62.03000; 129.73000Cou...

 

Kokut redirects here. For a district in Thailand, see Ko Kut. Village in Southern Transdanubia, HungaryKőkútVillage Coat of armsKőkútLocation of KőkútCoordinates: 46°11′31″N 17°34′32″E / 46.19182°N 17.57552°E / 46.19182; 17.57552Country HungaryRegionSouthern TransdanubiaCountySomogyDistrictKaposvárRC DioceseKaposvárArea • Total20.23 km2 (7.81 sq mi)Population (2017) • Total555[1]Demonymkőkút...

Doris Allen Doris Allen med Japans premiärminister Yasuhiro Nakasone 1987. Doris Allen med Japans premiärminister Yasuhiro Nakasone 1987.FöddDoris Twitchell8 oktober 1901Old Town, Maine,  USADöd7 mars 2002 (100 år)Virginia,  USAMedborgarskapAmerikansktNationalitetAmerikanForskningsområdePsykologiAlma materUniversity of Maine University of MichiganKänd förGrundare av CISVNamnteckning Doris Allen, född Twitchell den 8 oktober 1901 i Old Town, Maine, död 7 mars 2002...

 

Roman town in South Holland, Netherlands Location of Forum Hadriani in the town Voorburg Part of the Tabula Peutingeriana showing foro adriani at the top left Commemorative monument for Forum Hadriani in Voorburg. Forum Hadriani, in the modern town of Voorburg, was the northernmost Roman city on the European continent and the second oldest city of the Netherlands.[1] It was located in the Roman province Germania Inferior and is mentioned on the Tabula Peutingeriana, a Roman road map. ...