SlideShare a Scribd company logo
1 of 6
Download to read offline
International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763
Issue 05, Volume 3 (May 2016) www.ijirae.com
_________________________________________________________________________________________________
IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 |
Index Copernicus 2014 = 6.57
© 2014- 16, IJIRAE- All Rights Reserved Page -66
Ur/Web Programing Language: a brief overview
Sweta Chakraborti*
Asoke Nath
Department of Computer Science Department of Computer Science
St. Xavier’s College(Autonomous) St. Xavier’s College(Autonomous)
30 Park Street, Kolkata, India 30 Park Street, Kolkata, India
Abstract— This papert defines different components of Ur/Web programming language. Web programming has
gradually evolved from a document delivery platform to architecture for distributed programming. Ur/Web, a domain-
specific, statically typed functional programming language with a much simpler model for programming modern Web
applications. Ur/Web’s model is unified, where programs in a single programming language are compiled to other
“Web standards” languages as needed; supports novel kinds of encapsulation of Web-specific state; and exposes
simple concurrency, where programmers can reason about distributed, multithreaded applications.
Keywords— Web Porgramming Language;HTML-SQL; encapsulation; transactions;remote procedure calls;
I. INTRODUCTION
Ur is a programming language has introduced richer type system features into functional programming in the traditional
form of ML and Haskell. Ur is functional, statically typed. Ur supports a meta-programming based on type-level
computation with type-level records. Ur/Web is Ur plus a special standard library and associated rules for optimized result.
Ur/Web supports construction of dynamic web applications backed by SQL databases. The signature of the standard
library is such that well-typed Ur/Web programs is error free in a very broad sense. In process of particular page
generations, it does not suffer from any kinds of code-mismatch, dead intra-application links and does not return to invalid
HTML and SQL queries. It sets out in an orderly or improper manner in communication with SQL databases or between
browsers and web servers and this considered to be basic foundation of the Ur/Web methodology. It is also possible to use
meta-programming to build significant application pieces by analysis of type structure. The type system guarantees that the
admin interface sub-application that remains be free of the bugs irrespective of well-typed table description input. These
compiled programs will often be even more efficient than what most programmers would bother to write in C. The
compiler also generates JavaScript versions of client-side code, with no need to write those parts of applications in a
different language.[1]
II. NOVELTY AND GENERAL OVERVIEW OF UR/WEB
Ur/Web delivers a simple programming model retaining the essence of the Web as an application platform, from
the standpoints of security and performance.
An application is a program in one language (Ur/Web) that runs on one server and many clients, with automatic
compilation of parts of programs into the languages appropriate to the different nodes (e.g., JavaScript). Clients may
often deviate arbitrarily from provided code to run while the server is under the programmer’s control. For reasons of
performance scaling or reliability, multiple physical machines might be used to implement server functionality. [2]
All objects passed between parts of the application are strongly typed. Applications may be written with no explicit
marshaling or other conversion of data between formats. Where snippets of code appear as first-class values, they are
presented as abstract syntax trees, ruling out flaws like code injection vulnerabilities that rely on surprising consequences
of concatenating code-as-strings. The only persistent state in the server sits in an SQL database, accessed through a
strongly typed SQL interface. The server exposes a set of typed functions that are callable remotely. Interaction begins
with the application in a new browser tab by making a remote procedure call to one of these functions, with arbitrary
correctly typed arguments. The server runs the associated function atomically, with no opportunity to observe
interference by any other concurrent operations, generating an HTML page that the client displays. The HTML page in a
client may contain traditional links to other pages, which are represented as suspended calls to other remotely callable
functions, to be forced when a link is followed, to generate the new HTML page to display.
HTML page may also contain embedded Ur/Web code that runs in the client. Such code may produces as many client
side threads at its convenience and the threads obey a cooperative multithreading semantics, where one thread runs at a
time, and threads may be switched during well-defined blocking operations. Threads may modify the GUI shown to the
user, via a functional-reactive programming system that mixes dataflow programming with imperative callbacks.[2][3]
International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763
Issue 05, Volume 3 (May 2016) www.ijirae.com
_________________________________________________________________________________________________
IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 |
Index Copernicus 2014 = 6.57
© 2014- 16, IJIRAE- All Rights Reserved Page -67
Client-side thread code may also make blocking remote procedure calls treated similarly to those for regular links.
Such a call may return a value of any function-free type, not just HTML pages; and the thread receiving the function
result may compute with it to change the visible GUI programmatically, rather than by loading a completely new page.
As before, every remote procedure call appears to execute atomically on the server.
Server code may allocate typed message-passing channels, which may be both stored in the database and returned to
clients via remote function calls. The server may send values to a channel, and a client that has been passed the channel
may receive those values asynchronously. Channel sends are included in the guarantee of atomicity for remote calls on
the server; all sends within a single call execution appear to transfer their messages to the associated channels
atomically[2][3].
The fundamental procedure and basic components are discussed here briefly
HTML AND SQL
Mainstream modern Web applications manipulate code in many different languages and protocols. Ur/Web hides
most of them within a unified programming model. Two languages explicitly exposed i.e. HTML, for describing the
structure of Web pages as trees, and SQL, for accessing a persistent relational database on the server. In contrast to
mainstream practice, Ur/Web represents code fragments in these languages as first-class, strongly typed values. Type
system of Ur to define rich syntax tree types, where the generic type system is sufficient to enforce the typing rules of the
embedded languages, HTML and SQL.
Programmers may benefit from that style of more precise type-checking. On the other hand, more complex static
checking of XML may be more difficult for programmers to understand. An additional benefit of Ur/Web’s approach is
that XML checking need not be built into the language but is instead encoded as a library using Ur’s rich but general-
purpose type system.
Here is an example of HTML and SQL respectively.[1]
funmain () = return <xml>
<head>
<title>Hello world!</title>
</head>
<body>
<h1>Hello world!</h1>
</body>
</xml>
Tablet : { A : int, B : float, C : string, D : bool }
PRIMARYKEYA
funlist () =
rows<- queryX (SELECT * FROM t)
(fn row =><xml><tr>
<td>{[row.T.A]}</td><td>{[row.T.B]}</td><td>{[row.T.C]}</td><td>{[row.T.D]}</td>
<td><form><submit action={delete row.T.A} value="Delete"/></form></td>
</tr></xml>);
return<xml>
<table border=1>
<tr><th>A</th><th>B</th><th>C</th><th>D</th></tr>
{rows}
</table>
<br/><hr/><br/>
International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763
Issue 05, Volume 3 (May 2016) www.ijirae.com
_________________________________________________________________________________________________
IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 |
Index Copernicus 2014 = 6.57
© 2014- 16, IJIRAE- All Rights Reserved Page -68
<form>
<table>
<tr><th>A:</th><td><textbox{#A}/></td></tr>
<tr><th>B:</th><td><textbox{#B}/></td></tr>
<tr><th>C:</th><td><textbox{#C}/></td></tr>
<tr><th>D:</th><td><checkbox{#D}/></td></tr>
<tr><th/><td><submit action={add} value="Add Row"/></td></tr>
</table>
</form>
</xml>
andadd r =
dml (INSERTINTO t (A, B, C, D)
VALUES ({[readErrorr.A]}, {[readErrorr.B]}, {[r.C]}, {[r.D]}));
xml<- list ();
return<xml><body>
<p>Row added.</p>
{xml}
</body></xml>
Anddelete a () =
dml (DELETEFROM t
WHEREt.A = {[a]});
xml<- list ();
return<xml><body>
<p>Row deleted.</p>
{xml}
</body></xml>
funmain () =
xml<- list ();
return<xml><body>
{xml}
</body></xml>
B. Addition of more Encapsulation
Lack of encapsulation in a large traditional application is not appreciated so functionality should be modularized,
e.g. into classes implementing data structures. The general model is that the SQL database is a preexisting resource, and
any part of the application may create an interface to any part of the database. Therefore it is analogize in such a scheme
to an object-oriented language where all class fields are public; it forecloses on some very useful styles of modular
reasoning.
C. Client-Side GUI Scripting
Extension takes advantage of client-side scripting to make applications more responsive, without the need to
load a completely fresh page after every user action. Mainstream Web applications are scripted with JavaScript, but, as in
Links and similar languages, Ur/Web scripting is done in the language itself, which is compiled to JavaScript as needed.
Following is an example of client–side GUI.
sequenceseq
fun increment () = nextvalseq
fun main () =
src<- source 0;
return<xml><body>
<dyn signal={n <- signal src; return <xml>{[n]}</xml>}/>
<button value="Update" onclick={fn _ => n <- rpc (increment ()); set src n}/>
</body></xml>
International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763
Issue 05, Volume 3 (May 2016) www.ijirae.com
_________________________________________________________________________________________________
IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 |
Index Copernicus 2014 = 6.57
© 2014- 16, IJIRAE- All Rights Reserved Page -69
D.Reactive GUIs
Ur/Web GUI programming follows the functional-reactive style. The visible page is described via dataflow, as a
pure function over some primitive streams of values. Ur/Web adopts a less pure style, where the event callbacks of
imperative programming is retained. These callbacks modify data sources, which are a special kind of mutable reference
cells. The only primitive streams are effectively the sequences of values that data sources take on, where new entries are
pushed into the streams mostly via imperative code in callbacks.
E. Remote Procedure Calls
To write an application that runs within a single page another way for this application is to contact the server, to
trigger state modifications and receive updated information. Ur/Web’s first solution to that problem is remote procedure
calls (RPCs), allowing client code to run particular function calls as if they were executing on the server, with access to
shared database state. Client code only needs to wrap such calls to remotely callable functions within the RPC keyword,
and the Ur/Web implementation takes care of all network communication and marshaling. Following is an example of
RPC.
structureRoom = Broadcast.Make(struct
typet = string
end)
sequence s
table t : { Id : int, Title : string, Room : Room.topic }
PRIMARYKEY Id
fun chat id () =
r <- oneRow (SELECTt.Title, t.RoomFROM t WHEREt.Id = {[id]});
ch<- Room.subscriber.T.Room;
newLine<- source "";
buf<- Buffer.create;
let
funonload () =
let
fun listener () =
s <- recvch;
Buffer.writebuf s;
listener ()
in
listener ()
end
fungetRoom () =
r <- oneRow (SELECTt.RoomFROM t WHEREt.Id = {[id]});
returnr.T.Room
fun speak line =
room<- getRoom ();
Room.send room line
fundoSpeak () =
line<- get newLine;
setnewLine "";
rpc (speak line)
in
return<xml><bodyonload={onload ()}>
<h1>{[r.T.Title]}</h1>
<button value="Send:" onclick={fn _ =>doSpeak ()}/><ctextbox source={newLine}/>
International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763
Issue 05, Volume 3 (May 2016) www.ijirae.com
_________________________________________________________________________________________________
IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 |
Index Copernicus 2014 = 6.57
© 2014- 16, IJIRAE- All Rights Reserved Page -70
<h2>Messages</h2>
<dyn signal={Buffer.renderbuf}/>
</body></xml>
end
fun list () =
queryX' (SELECT * FROM t)
(fn r =>
count<- Room.subscribersr.T.Room;
return<xml><tr>
<td>{[r.T.Id]}</td>
<td>{[r.T.Title]}</td>
<td>{[count]}</td>
<td><form><submit action={chat r.T.Id} value="Enter"/></form></td>
<td><form><submit action={delete r.T.Id} value="Delete"/></form></td>
</tr></xml>)
and delete id () =
dml (DELETEFROM t WHERE Id = {[id]});
main ()
and main () =
let
fun create r =
id<- nextval s;
room<- Room.create;
dml (INSERTINTO t (Id, Title, Room) VALUES ({[id]}, {[r.Title]}, {[room]}));
main ()
in
ls<- list ();
return<xml><body>
<h1>Current Channels</h1>
<table>
<tr><th>ID</th><th>Title</th><th>#Subscribers</th></tr>
{ls}
</table>
<h1>New Channel</h1>
<form>
Title: <textbox{#Title}/><br/>
<submit action={create}/>
</form>
</body></xml>
end
F. Message-Passing from Server to Client
Web browsers make it natural for clients to contact servers via HTTP requests, but the other communication direction
may also be useful. Real-world applications often use a technique called long polling, where a client opens a connection
and is willing to wait an arbitrary period of time for the server’s response. The server can hold all of these long-poll
connections open until there is a new event to distribute. The mechanics are standardized in recent browsers with the
WebSockets protocol, providing an abstraction of bidirectional streams between clients and servers. Ur/Web presents an
alternative abstraction (implemented with long polling) where servers are able to send typed messages directly to clients.
International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763
Issue 05, Volume 3 (May 2016) www.ijirae.com
_________________________________________________________________________________________________
IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 |
Index Copernicus 2014 = 6.57
© 2014- 16, IJIRAE- All Rights Reserved Page -71
III. CONCLUSION AND FUTURE SCOPE
A fundamental tension in the design of programming languages is between the convenience of high-level abstractions
and the performance of low-level code. Optimizing compilers help bring the best of both worlds. It has been shown how
an optimizing compiler can provide very good server-side performance for dynamic Web applications compiled from a
very high-level functional language, Ur/Web, based on dependent type theory. Some of optimization techniques are
domain-agnostic, as in compile-time elimination of higher-order features. Other crucial techniques are domain-specific,
as in understanding generation of HTML pages, database queries, and their effect interactions. With all these features
combined, the Ur/Web compiler produces servers are efficient and that outperform all of the most popular Web
frameworks. Ur/Web has also been used successfully in deployed applications. The techniques suggested are simple
enough to re-implement routinely for a variety of related domain-specific functional languages [3].
REFERENCES
[1] http://impredicative.com/ur/
[2] Chlipala, Adam. The Ur/Web Manual. 2016
[3] Chlipala, Adam. "Ur/Web: A Simple Model for programming the Web." The 42nd ACM SIGPLAN-SIGACT
Symposium on Principles of Programming Languages (POPL '15), January 15-17, 2015, Mumbai, India.

More Related Content

What's hot

Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsTechieVarsity
 
WML-Tutorial
WML-TutorialWML-Tutorial
WML-TutorialOPENLANE
 
Speech Application Language Tags (SALT)
Speech Application Language Tags (SALT)Speech Application Language Tags (SALT)
Speech Application Language Tags (SALT)Vignaraj Gadvi
 
Wireless Markup Language,wml,mobile computing
Wireless Markup Language,wml,mobile computingWireless Markup Language,wml,mobile computing
Wireless Markup Language,wml,mobile computingSubhashini Sundaram
 
Web engineering UNIT IV as per RGPV syllabus
Web engineering UNIT IV as per RGPV syllabusWeb engineering UNIT IV as per RGPV syllabus
Web engineering UNIT IV as per RGPV syllabusNANDINI SHARMA
 
Web Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV SyllabusWeb Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV SyllabusNANDINI SHARMA
 
WML Script by Shanti katta
WML Script by Shanti kattaWML Script by Shanti katta
WML Script by Shanti kattaSenthil Kanth
 
Mca5010 web technologies-de
Mca5010   web technologies-deMca5010   web technologies-de
Mca5010 web technologies-desmumbahelp
 
Mca5010 web technologies
Mca5010   web technologiesMca5010   web technologies
Mca5010 web technologiessmumbahelp
 
ESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfProtect724v2
 
0 csc 3311 slide internet programming
0 csc 3311 slide internet programming0 csc 3311 slide internet programming
0 csc 3311 slide internet programmingumardanjumamaiwada
 
internet programming and java notes 5th sem mca
internet programming and java notes 5th sem mcainternet programming and java notes 5th sem mca
internet programming and java notes 5th sem mcaRenu Thakur
 
Mit302 web technologies
Mit302 web technologiesMit302 web technologies
Mit302 web technologiessmumbahelp
 
Handling User Input and Processing Form Data
Handling User Input and Processing Form DataHandling User Input and Processing Form Data
Handling User Input and Processing Form DataNicole Ryan
 
webservices overview
webservices overviewwebservices overview
webservices overviewelliando dias
 
Web engineering notes unit 3
Web engineering notes unit 3Web engineering notes unit 3
Web engineering notes unit 3inshu1890
 
Programming Without Coding Technology (PWCT) Environment
Programming Without Coding Technology (PWCT) EnvironmentProgramming Without Coding Technology (PWCT) Environment
Programming Without Coding Technology (PWCT) EnvironmentMahmoud Samir Fayed
 

What's hot (20)

Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questions
 
web services
web servicesweb services
web services
 
WML-Tutorial
WML-TutorialWML-Tutorial
WML-Tutorial
 
Speech Application Language Tags (SALT)
Speech Application Language Tags (SALT)Speech Application Language Tags (SALT)
Speech Application Language Tags (SALT)
 
Wireless Markup Language,wml,mobile computing
Wireless Markup Language,wml,mobile computingWireless Markup Language,wml,mobile computing
Wireless Markup Language,wml,mobile computing
 
Web engineering UNIT IV as per RGPV syllabus
Web engineering UNIT IV as per RGPV syllabusWeb engineering UNIT IV as per RGPV syllabus
Web engineering UNIT IV as per RGPV syllabus
 
Web Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV SyllabusWeb Engineering UNIT III as per RGPV Syllabus
Web Engineering UNIT III as per RGPV Syllabus
 
WML Script by Shanti katta
WML Script by Shanti kattaWML Script by Shanti katta
WML Script by Shanti katta
 
Mca5010 web technologies-de
Mca5010   web technologies-deMca5010   web technologies-de
Mca5010 web technologies-de
 
Mca5010 web technologies
Mca5010   web technologiesMca5010   web technologies
Mca5010 web technologies
 
ESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdf
 
.Net framework
.Net framework.Net framework
.Net framework
 
Chapter 6 ppt
Chapter 6 pptChapter 6 ppt
Chapter 6 ppt
 
0 csc 3311 slide internet programming
0 csc 3311 slide internet programming0 csc 3311 slide internet programming
0 csc 3311 slide internet programming
 
internet programming and java notes 5th sem mca
internet programming and java notes 5th sem mcainternet programming and java notes 5th sem mca
internet programming and java notes 5th sem mca
 
Mit302 web technologies
Mit302 web technologiesMit302 web technologies
Mit302 web technologies
 
Handling User Input and Processing Form Data
Handling User Input and Processing Form DataHandling User Input and Processing Form Data
Handling User Input and Processing Form Data
 
webservices overview
webservices overviewwebservices overview
webservices overview
 
Web engineering notes unit 3
Web engineering notes unit 3Web engineering notes unit 3
Web engineering notes unit 3
 
Programming Without Coding Technology (PWCT) Environment
Programming Without Coding Technology (PWCT) EnvironmentProgramming Without Coding Technology (PWCT) Environment
Programming Without Coding Technology (PWCT) Environment
 

Viewers also liked

Dissertation_Ciaran Ahern_Final
Dissertation_Ciaran Ahern_FinalDissertation_Ciaran Ahern_Final
Dissertation_Ciaran Ahern_FinalCiar Ahern
 
CollegeReadinessPaperFINALJune
CollegeReadinessPaperFINALJuneCollegeReadinessPaperFINALJune
CollegeReadinessPaperFINALJuneAndrew Mulinge
 
DESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADS
DESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADSDESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADS
DESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADSAM Publications
 
Adequate Solution for Business to Customer (B2C) by an ongoing Mobile System
Adequate Solution for Business to Customer (B2C) by an ongoing Mobile SystemAdequate Solution for Business to Customer (B2C) by an ongoing Mobile System
Adequate Solution for Business to Customer (B2C) by an ongoing Mobile SystemAM Publications
 
Extensive range of rubber buffers - available at Albert Jagger
Extensive range of rubber buffers - available at Albert JaggerExtensive range of rubber buffers - available at Albert Jagger
Extensive range of rubber buffers - available at Albert JaggerAlbert Jagger
 
Quantum computing - Introduction
Quantum computing - IntroductionQuantum computing - Introduction
Quantum computing - Introductionrushmila
 
三重県教育振興会_農業高校
三重県教育振興会_農業高校三重県教育振興会_農業高校
三重県教育振興会_農業高校Murayama Kunihiko
 
COMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual RealityCOMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual RealityMark Billinghurst
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine LearningRahul Jain
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computingRkrishna Mishra
 

Viewers also liked (12)

The human variable 2.0
The human variable 2.0The human variable 2.0
The human variable 2.0
 
Dissertation_Ciaran Ahern_Final
Dissertation_Ciaran Ahern_FinalDissertation_Ciaran Ahern_Final
Dissertation_Ciaran Ahern_Final
 
CollegeReadinessPaperFINALJune
CollegeReadinessPaperFINALJuneCollegeReadinessPaperFINALJune
CollegeReadinessPaperFINALJune
 
DESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADS
DESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADSDESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADS
DESIGN OF UNDERGROUND OPERATIONS COMPLEX FOR BLAST LOADS
 
Adequate Solution for Business to Customer (B2C) by an ongoing Mobile System
Adequate Solution for Business to Customer (B2C) by an ongoing Mobile SystemAdequate Solution for Business to Customer (B2C) by an ongoing Mobile System
Adequate Solution for Business to Customer (B2C) by an ongoing Mobile System
 
Новые возможности конференц связи
Новые возможности конференц связиНовые возможности конференц связи
Новые возможности конференц связи
 
Extensive range of rubber buffers - available at Albert Jagger
Extensive range of rubber buffers - available at Albert JaggerExtensive range of rubber buffers - available at Albert Jagger
Extensive range of rubber buffers - available at Albert Jagger
 
Quantum computing - Introduction
Quantum computing - IntroductionQuantum computing - Introduction
Quantum computing - Introduction
 
三重県教育振興会_農業高校
三重県教育振興会_農業高校三重県教育振興会_農業高校
三重県教育振興会_農業高校
 
COMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual RealityCOMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual Reality
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computing
 

Similar to Ur/Web Programing Language: a brief overview

21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMSkoolkampus
 
Component based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between RoutesComponent based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between RoutesIRJET Journal
 
Internet Environment
Internet  EnvironmentInternet  Environment
Internet Environmentguest8fdbdd
 
SERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGSERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGProf Ansari
 
Components of a Generic Web Application Architecture
Components of  a Generic Web Application ArchitectureComponents of  a Generic Web Application Architecture
Components of a Generic Web Application ArchitectureMadonnaLamin1
 
6 10-presentation
6 10-presentation6 10-presentation
6 10-presentationRemi Arnaud
 
IRJET- A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET- A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET Journal
 
IRJET- A Personalized Web Browser
IRJET-  	  A Personalized Web BrowserIRJET-  	  A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET Journal
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Ease of full Stack Development
Ease of full Stack DevelopmentEase of full Stack Development
Ease of full Stack DevelopmentIRJET Journal
 
Full Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeFull Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeIRJET Journal
 
EMBEDDED WEB TECHNOLOGY
EMBEDDED WEB TECHNOLOGYEMBEDDED WEB TECHNOLOGY
EMBEDDED WEB TECHNOLOGYVinay Kumar
 
WebServices Basic Introduction
WebServices Basic IntroductionWebServices Basic Introduction
WebServices Basic IntroductionShahid Shaik
 
A Hybrid Architecture for Web-based Expert Systems
A Hybrid Architecture for Web-based Expert SystemsA Hybrid Architecture for Web-based Expert Systems
A Hybrid Architecture for Web-based Expert SystemsWaqas Tariq
 
Performance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticorePerformance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticoreCSCJournals
 
IRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET Journal
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architectureYisal Khan
 

Similar to Ur/Web Programing Language: a brief overview (20)

21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS
 
Component based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between RoutesComponent based User Interface Rendering with State Caching Between Routes
Component based User Interface Rendering with State Caching Between Routes
 
Internet Environment
Internet  EnvironmentInternet  Environment
Internet Environment
 
SERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGSERVER SIDE SCRIPTING
SERVER SIDE SCRIPTING
 
Components of a Generic Web Application Architecture
Components of  a Generic Web Application ArchitectureComponents of  a Generic Web Application Architecture
Components of a Generic Web Application Architecture
 
6 10-presentation
6 10-presentation6 10-presentation
6 10-presentation
 
Java web services
Java web servicesJava web services
Java web services
 
IRJET- A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET- A Personalized Web Browser
IRJET- A Personalized Web Browser
 
IRJET- A Personalized Web Browser
IRJET-  	  A Personalized Web BrowserIRJET-  	  A Personalized Web Browser
IRJET- A Personalized Web Browser
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Ease of full Stack Development
Ease of full Stack DevelopmentEase of full Stack Development
Ease of full Stack Development
 
Full Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeFull Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future Scope
 
EMBEDDED WEB TECHNOLOGY
EMBEDDED WEB TECHNOLOGYEMBEDDED WEB TECHNOLOGY
EMBEDDED WEB TECHNOLOGY
 
WebServices Basic Introduction
WebServices Basic IntroductionWebServices Basic Introduction
WebServices Basic Introduction
 
A Hybrid Architecture for Web-based Expert Systems
A Hybrid Architecture for Web-based Expert SystemsA Hybrid Architecture for Web-based Expert Systems
A Hybrid Architecture for Web-based Expert Systems
 
Performance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On MulticorePerformance Evaluation of Web Services In Linux On Multicore
Performance Evaluation of Web Services In Linux On Multicore
 
Struts course material
Struts course materialStruts course material
Struts course material
 
SOA & WCF
SOA & WCFSOA & WCF
SOA & WCF
 
IRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce Site
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 

More from AM Publications

DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...
DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...
DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...AM Publications
 
TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...
TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...
TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...AM Publications
 
THE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGN
THE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGNTHE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGN
THE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGNAM Publications
 
TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...
TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...
TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...AM Publications
 
USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...
USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...
USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...AM Publications
 
ANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISES
ANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISESANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISES
ANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISESAM Publications
 
REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS
REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS
REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS AM Publications
 
EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...
EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...
EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...AM Publications
 
HMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITION
HMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITIONHMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITION
HMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITIONAM Publications
 
PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...
PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...
PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...AM Publications
 
EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...
EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...
EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...AM Publications
 
UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...
UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...
UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...AM Publications
 
REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...
REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...
REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...AM Publications
 
OPTICAL CHARACTER RECOGNITION USING RBFNN
OPTICAL CHARACTER RECOGNITION USING RBFNNOPTICAL CHARACTER RECOGNITION USING RBFNN
OPTICAL CHARACTER RECOGNITION USING RBFNNAM Publications
 
DETECTION OF MOVING OBJECT
DETECTION OF MOVING OBJECTDETECTION OF MOVING OBJECT
DETECTION OF MOVING OBJECTAM Publications
 
SIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENT
SIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENTSIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENT
SIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENTAM Publications
 
PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...
PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...
PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...AM Publications
 
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...AM Publications
 
A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY
A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY
A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY AM Publications
 

More from AM Publications (20)

DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...
DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...
DEVELOPMENT OF TODDLER FAMILY CADRE TRAINING BASED ON ANDROID APPLICATIONS IN...
 
TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...
TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...
TESTING OF COMPOSITE ON DROP-WEIGHT IMPACT TESTING AND DAMAGE IDENTIFICATION ...
 
THE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGN
THE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGNTHE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGN
THE USE OF FRACTAL GEOMETRY IN TILING MOTIF DESIGN
 
TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...
TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...
TWO-DIMENSIONAL INVERSION FINITE ELEMENT MODELING OF MAGNETOTELLURIC DATA: CA...
 
USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...
USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...
USING THE GENETIC ALGORITHM TO OPTIMIZE LASER WELDING PARAMETERS FOR MARTENSI...
 
ANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISES
ANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISESANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISES
ANALYSIS AND DESIGN E-MARKETPLACE FOR MICRO, SMALL AND MEDIUM ENTERPRISES
 
REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS
REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS
REMOTE SENSING AND GEOGRAPHIC INFORMATION SYSTEMS
 
EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...
EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...
EVALUATE THE STRAIN ENERGY ERROR FOR THE LASER WELD BY THE H-REFINEMENT OF TH...
 
HMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITION
HMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITIONHMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITION
HMM APPLICATION IN ISOLATED WORD SPEECH RECOGNITION
 
PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...
PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...
PEDESTRIAN DETECTION IN LOW RESOLUTION VIDEOS USING A MULTI-FRAME HOG-BASED D...
 
INTELLIGENT BLIND STICK
INTELLIGENT BLIND STICKINTELLIGENT BLIND STICK
INTELLIGENT BLIND STICK
 
EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...
EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...
EFFECT OF SILICON - RUBBER (SR) SHEETS AS AN ALTERNATIVE FILTER ON HIGH AND L...
 
UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...
UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...
UTILIZATION OF IMMUNIZATION SERVICES AMONG CHILDREN UNDER FIVE YEARS OF AGE I...
 
REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...
REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...
REPRESENTATION OF THE BLOCK DATA ENCRYPTION ALGORITHM IN AN ANALYTICAL FORM F...
 
OPTICAL CHARACTER RECOGNITION USING RBFNN
OPTICAL CHARACTER RECOGNITION USING RBFNNOPTICAL CHARACTER RECOGNITION USING RBFNN
OPTICAL CHARACTER RECOGNITION USING RBFNN
 
DETECTION OF MOVING OBJECT
DETECTION OF MOVING OBJECTDETECTION OF MOVING OBJECT
DETECTION OF MOVING OBJECT
 
SIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENT
SIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENTSIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENT
SIMULATION OF ATMOSPHERIC POLLUTANTS DISPERSION IN AN URBAN ENVIRONMENT
 
PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...
PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...
PREPARATION AND EVALUATION OF WOOL KERATIN BASED CHITOSAN NANOFIBERS FOR AIR ...
 
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
ANALYSIS ON LOAD BALANCING ALGORITHMS IMPLEMENTATION ON CLOUD COMPUTING ENVIR...
 
A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY
A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY
A MODEL BASED APPROACH FOR IMPLEMENTING WLAN SECURITY
 

Recently uploaded

GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 

Recently uploaded (20)

GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 

Ur/Web Programing Language: a brief overview

  • 1. International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763 Issue 05, Volume 3 (May 2016) www.ijirae.com _________________________________________________________________________________________________ IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 | Index Copernicus 2014 = 6.57 © 2014- 16, IJIRAE- All Rights Reserved Page -66 Ur/Web Programing Language: a brief overview Sweta Chakraborti* Asoke Nath Department of Computer Science Department of Computer Science St. Xavier’s College(Autonomous) St. Xavier’s College(Autonomous) 30 Park Street, Kolkata, India 30 Park Street, Kolkata, India Abstract— This papert defines different components of Ur/Web programming language. Web programming has gradually evolved from a document delivery platform to architecture for distributed programming. Ur/Web, a domain- specific, statically typed functional programming language with a much simpler model for programming modern Web applications. Ur/Web’s model is unified, where programs in a single programming language are compiled to other “Web standards” languages as needed; supports novel kinds of encapsulation of Web-specific state; and exposes simple concurrency, where programmers can reason about distributed, multithreaded applications. Keywords— Web Porgramming Language;HTML-SQL; encapsulation; transactions;remote procedure calls; I. INTRODUCTION Ur is a programming language has introduced richer type system features into functional programming in the traditional form of ML and Haskell. Ur is functional, statically typed. Ur supports a meta-programming based on type-level computation with type-level records. Ur/Web is Ur plus a special standard library and associated rules for optimized result. Ur/Web supports construction of dynamic web applications backed by SQL databases. The signature of the standard library is such that well-typed Ur/Web programs is error free in a very broad sense. In process of particular page generations, it does not suffer from any kinds of code-mismatch, dead intra-application links and does not return to invalid HTML and SQL queries. It sets out in an orderly or improper manner in communication with SQL databases or between browsers and web servers and this considered to be basic foundation of the Ur/Web methodology. It is also possible to use meta-programming to build significant application pieces by analysis of type structure. The type system guarantees that the admin interface sub-application that remains be free of the bugs irrespective of well-typed table description input. These compiled programs will often be even more efficient than what most programmers would bother to write in C. The compiler also generates JavaScript versions of client-side code, with no need to write those parts of applications in a different language.[1] II. NOVELTY AND GENERAL OVERVIEW OF UR/WEB Ur/Web delivers a simple programming model retaining the essence of the Web as an application platform, from the standpoints of security and performance. An application is a program in one language (Ur/Web) that runs on one server and many clients, with automatic compilation of parts of programs into the languages appropriate to the different nodes (e.g., JavaScript). Clients may often deviate arbitrarily from provided code to run while the server is under the programmer’s control. For reasons of performance scaling or reliability, multiple physical machines might be used to implement server functionality. [2] All objects passed between parts of the application are strongly typed. Applications may be written with no explicit marshaling or other conversion of data between formats. Where snippets of code appear as first-class values, they are presented as abstract syntax trees, ruling out flaws like code injection vulnerabilities that rely on surprising consequences of concatenating code-as-strings. The only persistent state in the server sits in an SQL database, accessed through a strongly typed SQL interface. The server exposes a set of typed functions that are callable remotely. Interaction begins with the application in a new browser tab by making a remote procedure call to one of these functions, with arbitrary correctly typed arguments. The server runs the associated function atomically, with no opportunity to observe interference by any other concurrent operations, generating an HTML page that the client displays. The HTML page in a client may contain traditional links to other pages, which are represented as suspended calls to other remotely callable functions, to be forced when a link is followed, to generate the new HTML page to display. HTML page may also contain embedded Ur/Web code that runs in the client. Such code may produces as many client side threads at its convenience and the threads obey a cooperative multithreading semantics, where one thread runs at a time, and threads may be switched during well-defined blocking operations. Threads may modify the GUI shown to the user, via a functional-reactive programming system that mixes dataflow programming with imperative callbacks.[2][3]
  • 2. International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763 Issue 05, Volume 3 (May 2016) www.ijirae.com _________________________________________________________________________________________________ IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 | Index Copernicus 2014 = 6.57 © 2014- 16, IJIRAE- All Rights Reserved Page -67 Client-side thread code may also make blocking remote procedure calls treated similarly to those for regular links. Such a call may return a value of any function-free type, not just HTML pages; and the thread receiving the function result may compute with it to change the visible GUI programmatically, rather than by loading a completely new page. As before, every remote procedure call appears to execute atomically on the server. Server code may allocate typed message-passing channels, which may be both stored in the database and returned to clients via remote function calls. The server may send values to a channel, and a client that has been passed the channel may receive those values asynchronously. Channel sends are included in the guarantee of atomicity for remote calls on the server; all sends within a single call execution appear to transfer their messages to the associated channels atomically[2][3]. The fundamental procedure and basic components are discussed here briefly HTML AND SQL Mainstream modern Web applications manipulate code in many different languages and protocols. Ur/Web hides most of them within a unified programming model. Two languages explicitly exposed i.e. HTML, for describing the structure of Web pages as trees, and SQL, for accessing a persistent relational database on the server. In contrast to mainstream practice, Ur/Web represents code fragments in these languages as first-class, strongly typed values. Type system of Ur to define rich syntax tree types, where the generic type system is sufficient to enforce the typing rules of the embedded languages, HTML and SQL. Programmers may benefit from that style of more precise type-checking. On the other hand, more complex static checking of XML may be more difficult for programmers to understand. An additional benefit of Ur/Web’s approach is that XML checking need not be built into the language but is instead encoded as a library using Ur’s rich but general- purpose type system. Here is an example of HTML and SQL respectively.[1] funmain () = return <xml> <head> <title>Hello world!</title> </head> <body> <h1>Hello world!</h1> </body> </xml> Tablet : { A : int, B : float, C : string, D : bool } PRIMARYKEYA funlist () = rows<- queryX (SELECT * FROM t) (fn row =><xml><tr> <td>{[row.T.A]}</td><td>{[row.T.B]}</td><td>{[row.T.C]}</td><td>{[row.T.D]}</td> <td><form><submit action={delete row.T.A} value="Delete"/></form></td> </tr></xml>); return<xml> <table border=1> <tr><th>A</th><th>B</th><th>C</th><th>D</th></tr> {rows} </table> <br/><hr/><br/>
  • 3. International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763 Issue 05, Volume 3 (May 2016) www.ijirae.com _________________________________________________________________________________________________ IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 | Index Copernicus 2014 = 6.57 © 2014- 16, IJIRAE- All Rights Reserved Page -68 <form> <table> <tr><th>A:</th><td><textbox{#A}/></td></tr> <tr><th>B:</th><td><textbox{#B}/></td></tr> <tr><th>C:</th><td><textbox{#C}/></td></tr> <tr><th>D:</th><td><checkbox{#D}/></td></tr> <tr><th/><td><submit action={add} value="Add Row"/></td></tr> </table> </form> </xml> andadd r = dml (INSERTINTO t (A, B, C, D) VALUES ({[readErrorr.A]}, {[readErrorr.B]}, {[r.C]}, {[r.D]})); xml<- list (); return<xml><body> <p>Row added.</p> {xml} </body></xml> Anddelete a () = dml (DELETEFROM t WHEREt.A = {[a]}); xml<- list (); return<xml><body> <p>Row deleted.</p> {xml} </body></xml> funmain () = xml<- list (); return<xml><body> {xml} </body></xml> B. Addition of more Encapsulation Lack of encapsulation in a large traditional application is not appreciated so functionality should be modularized, e.g. into classes implementing data structures. The general model is that the SQL database is a preexisting resource, and any part of the application may create an interface to any part of the database. Therefore it is analogize in such a scheme to an object-oriented language where all class fields are public; it forecloses on some very useful styles of modular reasoning. C. Client-Side GUI Scripting Extension takes advantage of client-side scripting to make applications more responsive, without the need to load a completely fresh page after every user action. Mainstream Web applications are scripted with JavaScript, but, as in Links and similar languages, Ur/Web scripting is done in the language itself, which is compiled to JavaScript as needed. Following is an example of client–side GUI. sequenceseq fun increment () = nextvalseq fun main () = src<- source 0; return<xml><body> <dyn signal={n <- signal src; return <xml>{[n]}</xml>}/> <button value="Update" onclick={fn _ => n <- rpc (increment ()); set src n}/> </body></xml>
  • 4. International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763 Issue 05, Volume 3 (May 2016) www.ijirae.com _________________________________________________________________________________________________ IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 | Index Copernicus 2014 = 6.57 © 2014- 16, IJIRAE- All Rights Reserved Page -69 D.Reactive GUIs Ur/Web GUI programming follows the functional-reactive style. The visible page is described via dataflow, as a pure function over some primitive streams of values. Ur/Web adopts a less pure style, where the event callbacks of imperative programming is retained. These callbacks modify data sources, which are a special kind of mutable reference cells. The only primitive streams are effectively the sequences of values that data sources take on, where new entries are pushed into the streams mostly via imperative code in callbacks. E. Remote Procedure Calls To write an application that runs within a single page another way for this application is to contact the server, to trigger state modifications and receive updated information. Ur/Web’s first solution to that problem is remote procedure calls (RPCs), allowing client code to run particular function calls as if they were executing on the server, with access to shared database state. Client code only needs to wrap such calls to remotely callable functions within the RPC keyword, and the Ur/Web implementation takes care of all network communication and marshaling. Following is an example of RPC. structureRoom = Broadcast.Make(struct typet = string end) sequence s table t : { Id : int, Title : string, Room : Room.topic } PRIMARYKEY Id fun chat id () = r <- oneRow (SELECTt.Title, t.RoomFROM t WHEREt.Id = {[id]}); ch<- Room.subscriber.T.Room; newLine<- source ""; buf<- Buffer.create; let funonload () = let fun listener () = s <- recvch; Buffer.writebuf s; listener () in listener () end fungetRoom () = r <- oneRow (SELECTt.RoomFROM t WHEREt.Id = {[id]}); returnr.T.Room fun speak line = room<- getRoom (); Room.send room line fundoSpeak () = line<- get newLine; setnewLine ""; rpc (speak line) in return<xml><bodyonload={onload ()}> <h1>{[r.T.Title]}</h1> <button value="Send:" onclick={fn _ =>doSpeak ()}/><ctextbox source={newLine}/>
  • 5. International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763 Issue 05, Volume 3 (May 2016) www.ijirae.com _________________________________________________________________________________________________ IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 | Index Copernicus 2014 = 6.57 © 2014- 16, IJIRAE- All Rights Reserved Page -70 <h2>Messages</h2> <dyn signal={Buffer.renderbuf}/> </body></xml> end fun list () = queryX' (SELECT * FROM t) (fn r => count<- Room.subscribersr.T.Room; return<xml><tr> <td>{[r.T.Id]}</td> <td>{[r.T.Title]}</td> <td>{[count]}</td> <td><form><submit action={chat r.T.Id} value="Enter"/></form></td> <td><form><submit action={delete r.T.Id} value="Delete"/></form></td> </tr></xml>) and delete id () = dml (DELETEFROM t WHERE Id = {[id]}); main () and main () = let fun create r = id<- nextval s; room<- Room.create; dml (INSERTINTO t (Id, Title, Room) VALUES ({[id]}, {[r.Title]}, {[room]})); main () in ls<- list (); return<xml><body> <h1>Current Channels</h1> <table> <tr><th>ID</th><th>Title</th><th>#Subscribers</th></tr> {ls} </table> <h1>New Channel</h1> <form> Title: <textbox{#Title}/><br/> <submit action={create}/> </form> </body></xml> end F. Message-Passing from Server to Client Web browsers make it natural for clients to contact servers via HTTP requests, but the other communication direction may also be useful. Real-world applications often use a technique called long polling, where a client opens a connection and is willing to wait an arbitrary period of time for the server’s response. The server can hold all of these long-poll connections open until there is a new event to distribute. The mechanics are standardized in recent browsers with the WebSockets protocol, providing an abstraction of bidirectional streams between clients and servers. Ur/Web presents an alternative abstraction (implemented with long polling) where servers are able to send typed messages directly to clients.
  • 6. International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: 2349-2763 Issue 05, Volume 3 (May 2016) www.ijirae.com _________________________________________________________________________________________________ IJIRAE: Impact Factor Value – SJIF: Innospace, Morocco (2015): 3.361 | PIF: 2.469 | Jour Info: 4.085 | Index Copernicus 2014 = 6.57 © 2014- 16, IJIRAE- All Rights Reserved Page -71 III. CONCLUSION AND FUTURE SCOPE A fundamental tension in the design of programming languages is between the convenience of high-level abstractions and the performance of low-level code. Optimizing compilers help bring the best of both worlds. It has been shown how an optimizing compiler can provide very good server-side performance for dynamic Web applications compiled from a very high-level functional language, Ur/Web, based on dependent type theory. Some of optimization techniques are domain-agnostic, as in compile-time elimination of higher-order features. Other crucial techniques are domain-specific, as in understanding generation of HTML pages, database queries, and their effect interactions. With all these features combined, the Ur/Web compiler produces servers are efficient and that outperform all of the most popular Web frameworks. Ur/Web has also been used successfully in deployed applications. The techniques suggested are simple enough to re-implement routinely for a variety of related domain-specific functional languages [3]. REFERENCES [1] http://impredicative.com/ur/ [2] Chlipala, Adam. The Ur/Web Manual. 2016 [3] Chlipala, Adam. "Ur/Web: A Simple Model for programming the Web." The 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '15), January 15-17, 2015, Mumbai, India.