extend the program, the editor(edit) to handle move the cursor down N lines edit :- edit(file([],[])). edit(File) :- write_prompt, read(Command), edit(File,Command). edit(_,exit) :- !. edit(File,Command) :- apply(Command,File,Filel),!,edit(Filel). edit(File,Command) :- writeln([Command,' is not applicable']),!,edit(File). apply(up,file([X|Xs],Ys),file(Xs,[X|Ys])). apply(up(N),file(Xs,Ys),file(Xsl,Ysl)) :- N > 0,up(N,Xs,Ys,Xsl,Ysl). apply(down,file(Xs,[Y|Ys]),file([Y|Xs],Ys)). apply(insert(Line),file(Xs,Ys),file(Xs,[Line|Ys])). apply(delete,file(Xs,[_|Ys]),file(Xs,Ys)). apply(print,file([X|Xs],Ys),file([X|Xs],Ys)) :- write(X),nl. apply(print(*),file(Xs,Ys),file(Xs,Ys)) :- reverse(Xs,Xsl),write_file(Xsl),write_file(Ys). up(_,[],Ys,[],Ys). up(0,Xs,Ys,Xs,Ys). up(N,[X|Xs],Ys,Xs1,Ys1) :- N > 0, Nl is N-1, up(Nl,Xs,[X|Ys],Xs1,Ys1). write_file([X|Xs]) :- write(X), nl, write_file(Xs). write_file([]). write_prompt :- write

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
PROLOG: extend the program, the editor(edit) to handle move the cursor down N lines edit :- edit(file([],[])). edit(File) :- write_prompt, read(Command), edit(File,Command). edit(_,exit) :- !. edit(File,Command) :- apply(Command,File,Filel),!,edit(Filel). edit(File,Command) :- writeln([Command,' is not applicable']),!,edit(File). apply(up,file([X|Xs],Ys),file(Xs,[X|Ys])). apply(up(N),file(Xs,Ys),file(Xsl,Ysl)) :- N > 0,up(N,Xs,Ys,Xsl,Ysl). apply(down,file(Xs,[Y|Ys]),file([Y|Xs],Ys)). apply(insert(Line),file(Xs,Ys),file(Xs,[Line|Ys])). apply(delete,file(Xs,[_|Ys]),file(Xs,Ys)). apply(print,file([X|Xs],Ys),file([X|Xs],Ys)) :- write(X),nl. apply(print(*),file(Xs,Ys),file(Xs,Ys)) :- reverse(Xs,Xsl),write_file(Xsl),write_file(Ys). up(_,[],Ys,[],Ys). up(0,Xs,Ys,Xs,Ys). up(N,[X|Xs],Ys,Xs1,Ys1) :- N > 0, Nl is N-1, up(Nl,Xs,[X|Ys],Xs1,Ys1). write_file([X|Xs]) :- write(X), nl, write_file(Xs). write_file([]). write_prompt :- write
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Files and Directory
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education