allegro cl certification program
play

Allegro CL Certification Program Lisp Programming Series Level I - PowerPoint PPT Presentation

Allegro CL Certification Program Lisp Programming Series Level I Session 1 Homework 1/15/2004 1 Hello World Create a source file, write a function that prints Hello World Save the file Compile the file Load the .fasl


  1. Allegro CL Certification Program Lisp Programming Series Level I Session 1 Homework 1/15/2004 1

  2. Hello World • Create a source file, write a function that prints “Hello World” • Save the file • Compile the file • Load the .fasl file • Run the function 1/15/2004 2

  3. Arithmetic • Write a function named polynomial • It must take 4 arguments: a, b, c and x • It must return the value of ax 2 + bx + c 1/15/2004 3

  4. My-compile-and-load Write a function that compiles and loads a file of Common Lisp source code. • Takes as argument a file • Returns the symbol t 1/15/2004 4

  5. functions first, second, …, tenth • first, second, third, …, tenth name functions each of which – takes a list as argument – returns the corresponding element of its list argument • define a function which – takes as argument a list – returns a list of the second and fourth elements of its argument 1/15/2004 5

  6. function nth • nth names a Common Lisp function which – takes as arguments a non-negative integer and a list – returns the element of its list argument which is in the (zero-based) position specified by the first argument • as before define a function which – takes as argument a list – uses nth to return a list of the second and fourth elements of its argument 1/15/2004 6

  7. function nth cont’d • define a function similar to that above which – takes as arguments 2 non-negative integer aand a list – returns a list of the elements of the list argument at the indices specified by the other 2 arguments • modify the function defined above to also display the number of elements in the list arguments (use the length function) 1/15/2004 7

  8. function rest • Just as first returns the first element of a list, the rest function returns that part of the list from which the first element has been removed • define a function which takes as argument a list and returns a list of the result of calling first on the list argument and the result of calling rest on the list argument. 1/15/2004 8

  9. function member • The member function – takes as arguments any lisp object and a list. – searches the list for a list element which is eql to the first argument – returns that part of the list of which the matching object is the first element • define a function which calls member and returns that part of the list which follows the matching object 1/15/2004 9

  10. optional arguments to functions • Define a function which – takes 2 required arguments and 2 optional arguments. – Prints each of its arguments • Call the function with 2 non-integer arguments at least once • Call the function with 3 arguments, not all of them integers, at least once • Call the function with 4 arguments at least once 1/15/2004 10

  11. keyword arguments to functions • Define a function doit which – takes 2 required arguments alpha and beta and 2 keyword arguments gamma and delta. – Prints each of its arguments • make each of the following calls to the function – (doit 2 3) – (doit 2 3 :gamma 5) – (doit 2 3 :delta 7 :gamma 5) 1/15/2004 11

  12. rest argument to functions • Define a function doit2 which – takes 2 required arguments alpha and beta and an &rest argument all-the-others – Prints each of its arguments • make each of the following calls to the function – (doit2 2 3) – (doit2 2 3 5) – (doit2 2 3 ‘july 4 1776) – (doit2 3 4 5 6 7) 1/15/2004 12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend