As far as i am aware there is no comprehensive guide for autolisp programming. There are bits and pieces scattered all over the place. I myself learned programming through reading tutorials and forums, all from different sources. Here are some topics to learn, and some sources to find more information. It's far from a complete list of things to learn, but it will get you started.
Topics to learn:
1. defining a function - (DEFUN fun...) and (DEFUN c:fun...)
2. setting variables - (SETQ var ...)
3. types of variables - integer, real, string, list, boolean...
4. conditional statements - IF, PROGN and COND /cond is a bit harder to understand at first, but its much more powerfull/
5. creating and manipulating lists - LIST, CONS, APPEND, LENGTH, CAR, CDR, LAST, NTH, REVERSE, MEMBER, ASSOC
6. loops - REPEAT, WHILE, FOREACH
7. selecting entities - ENTSEL, ENTLAST
8. selection sets - SSGET, SSNAME, SSLENGTH, SSADD, SSMEMB
9. learn how to translate between entity and object - VLAX-ENAME->VLA-OBJECT and VLAX-VLA-OBJECT->ENAME
10. learn the difference between AutoLisp Entity and Visual Lisp Object and how to read and edit their properties -
ENTGET, ENTMOD, DUMPALLPROPERTIES, GETPROPERTYVALUE, SETPROPERTYVALUE - for autolisp entities
VLAX-DUMP-OBJECT, VLA-GET..., VLA-PUT... - for visual lisp objects
11. learn the autocad object model - http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-A809CD71-4655-44E2-B674-1FE200B9FE30#GUID-A80...
12. working with autocad variables - GETVAR, SETVAR
13. advanced functions you should look at - SET, MAPCAR, LAMBDA, APPLY, VL-SOME, VL-EVERY, EVAL, VLAX-CREATE-OBJECT, VLAX-INVOKE, VLAX-INVOKE-METHOD, VLAX-GET-PROPERTY, VLAX-PUT-PROPERTY
Here are some tutorials that may help you:
http://www.afralisp.net/autolisp/
http://www.afralisp.net/visual-lisp/
http://www.jefferypsanders.com/autolisptut.html
Forums are also a great resource and many questions you may have are already answered there.
http://www.theswamp.org/index.php
http://www.cadtutor.net/forum/forum.php
http://forums.augi.com/index.php
http://www.lee-mac.com/index.html
https://forums.autodesk.com/
This is AutoCAD's Functions Reference. It has all the functions listed with detailed usage example and code example. If you are searching for a function, or you aren't sure how to use a particular function, this is the place to go.
http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-4CEE5072-8817-4920-8A2D-7060F5E16547