This is the best beginner tutorial I have found. You cover enough info for it be challenging at first but not overwhelming. I learned a lot. I'm definitely going to watch all the parts.
I'm glad you found it helpful! I've done a lot of explorations of parts of the language recently, I intend to do another full project like this very soon!
you prolly dont care but does anyone know a tool to get back into an Instagram account?? I was stupid forgot the login password. I would love any tips you can offer me.
@Corey Donald i really appreciate your reply. I found the site through google and Im trying it out now. Takes quite some time so I will get back to you later with my results.
I am not learning CL, but I have tried a few lisps in the past (for fun and for trying something different) and I really enjoyed watching this video! I find the way you explain what you are doing very clear and the pace is just perfect, keep up with the good work!
I'm so grateful that i discovered this tutorial so early in my journey of learning Common Lisp. As you said, it's important to know how to use Emacs to take full advantage of the Lisp ecosystem.. Awesome :D
Good tutorial! Unfortunately, I cannot see the mini-buffer. Don't use full screen. TH-cam controller hides mini-buffer, what's being typed in REPL, etc.
Learning Lisp, and while I was not overly interested in emacs (used vim for years), you made a stellar case for using it with the REPL. Only thing is, its really dificult to follow what/why you are doing what you are doing with the explanations following the output. I don't know, maybe I'm used the the standard here's how you create vars/symbols, here is input, here is output, lets demo it..... Still nice to see someone trying to help others out!
I was a big vim user for years and while I was trying to get set up with Common Lisp what I was ready about what the experience should be and what I was actually experiencing was different. I tried using slimv or something like that to emulate the experience but it was so brittle and often times wouldn’t work for me. So, having had some experience with eMacs at university (a programming language known as Mozart/oz or I think more accurately Oz with the Mozart programming system) I was not keen to go back to it, but I owed it to myself to try and after a while something clicked, the idea that there’s an interpreter sitting behind the scenes waiting for you to compile functions and test things immediately without switching contexts (even to switch to a buffer with a terminal in it) became just… something I did, without thinking. Evaluating what something did became just a natural part of writing a function, instead of running the program as a whole, run the unit you just wrote. It is, I suppose, a way to get a gist of how what I just wrote works without necessarily having to immediately write a unit test or run the whole program to see if it worked, tests may have some complicated setup, running the program may take time, the repl may already have state and other information ready to do a quick test with, and even if not, I can use the repl to write out what would become a unit test, I do sometimes find the code I test in the repl becomes a unit test, eventually! It soon became muscle memory and I apologize if sometimes it isn’t clear what is happening, it’s sometimes just an autonomic action!
Thanks for this tutorial. I've been running Slime (yeah I know) with emacs and didn't realize I could have the repl in the next buffer to evaluate my expressions! Great video ! (Love the accent too! My favorite beverage comes your neck of the woods from the Ishtay isles! :) )
You're welcome, I have a new video going live tomorrow, an introduction to functional programming in CL, stay tuned for that! Yeah, I do like bringing up a buffer to see what I'm doing, if it helps you, even better! I do like a good Islay whiskey, but Irn Bru is also good ;)
Thanks, I have a video I’m working on but I’m also writing companion blog posts for each video so that there’s more context and code snippets, you can read them here: nmunro.github.io/nmunro.github.io/blog.html
Excellent video. Any idea how Common Lisp stands in the world of microservices ? killer UI ? i know the history of CL but how to make this language popular in enterprise environment? Will Common lisp beat golang or Java?
Well, I am aware that AWS lambda function have the ability to have custom runtimes (docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html) so aws lambda could certainly be made to use CL. I'm also aware of (but haven't tried) the Common Lisp buildpack for heroku (github.com/mtravers/heroku-buildpack-cl2). Will Common Lisp beat go or Java, I don't think this is really answerable, I think Java isn't going away any time soon and if it is, I think go would be the language most likely to be consuming its marketshare. What I can share with you is that it IS used in places you might not expect: www.grammarly.com/blog/engineering/running-lisp-in-production/ I'm working on another CL video I hope to get out before the weekend, thanks for watching!
@@पापानटोले Well, I'm by no means an expert, but I've been studying it myself and wanted to start giving back. If you've got any questions I'll do my best to answer.
Microservices are by definition so separated that you can theoretically use different languages/runtimes for individual Microservices. I don't see why this cannot be Common Lisp. If you are an autonomous team it's up to the team to decide this. Good luck convincing others. If your team is managed by a manager you have to convince the manager. Needs more good luck.
I've not used any of those, at least not knowingly, I think company mode is the auto complete system, my editor does completions, so I imagine some sort of mode is enabled. I'll have to research the other two.
Thanks for the feedback and glad you enjoyed the lisp videos. I've not made any python videos for a while, I actually started my channel to create python tutorials and engage in some self indulgence in my lisp interests but as it turned out the lisp videos were always more popular, so I switched to making them my main focus. The audio quality gets better in later videos as I've slowly been buying better equipment!
@@NeilMunroDon't worry about the audio quality, I don't mind it and I believe nobody will complains about it while the teaching content is great and easy to understand.
Thanks for the positivity. I'll be coming to the end of my functional programming series soon. I'm thinking of talking about a Turing machine like interpreter I wrote in common lisp. Would you be interested in seeing a video like that? Or would you prefer something else? Just finding out what would be interesting!
@@NeilMunro To be honest I am a newbie in programming and Lisp, so I prefer basic lessons like this playlist or any real world projects in Lisp. But anything in Lisp will be great, it will make your channel become focused, distinct, and special. Somebody will find it useful and interesting. I hope you'll find your niche and loyal viewers. Some idea, maybe a walkthrough of this book will be nice vseloved.github.io/progalgs (The first edition is free, here is my link mega.nz/file/JM8lkbSJ#VPZQ0-ZGyfteoADAYfWns7ZzhsnAfPWT8RXM7AJOz7Q )
Actually i heard that some lisper use this technique. They implement a higher order function that throw an error in the repl when installed then they start addressing the issues one by one by implementing the functions that are used inside of it. That could be one topic but i would be happy to see any interesting technique that shows how to fully take advantage of the repl in CL développement. Thank for addressing my request. Love to see what you will produce.
Let me know what you find, and if there's something worth correcting, with your permission I'll incorporate it into my website :) thanks for watching and giving me feedback, it's much appreciated
Rewatching videos about common lisp on a Saturday while drinking a coffee :) life is good :D
Have an absolute wonderful day, I’m so glad something I may brought you some joy!
This is the best beginner tutorial I have found. You cover enough info for it be challenging at first but not overwhelming. I learned a lot. I'm definitely going to watch all the parts.
I'm glad you found it helpful! I've done a lot of explorations of parts of the language recently, I intend to do another full project like this very soon!
you prolly dont care but does anyone know a tool to get back into an Instagram account??
I was stupid forgot the login password. I would love any tips you can offer me.
I’m afraid not friend, I avoid most social media accounts where possible. I assume that you have tried to recover said account?
@Matthias Garrett Instablaster =)
@Corey Donald i really appreciate your reply. I found the site through google and Im trying it out now.
Takes quite some time so I will get back to you later with my results.
I am not learning CL, but I have tried a few lisps in the past (for fun and for trying something different) and I really enjoyed watching this video! I find the way you explain what you are doing very clear and the pace is just perfect, keep up with the good work!
I'm so grateful that i discovered this tutorial so early in my journey of learning Common Lisp.
As you said, it's important to know how to use Emacs to take full advantage of the Lisp ecosystem.. Awesome :D
There’s now a companion blog post for this you can use to supplement your learning :) nmunro.github.io/2020/04/25/cl-coin-toss.html
@@NeilMunro Thanks :D
Good tutorial! Unfortunately, I cannot see the mini-buffer. Don't use full screen. TH-cam controller hides mini-buffer, what's being typed in REPL, etc.
Excelent, those tips about emacs where great
Portacle is also a great option. Everything you need to get started.
Learning Lisp, and while I was not overly interested in emacs (used vim for years), you made a stellar case for using it with the REPL. Only thing is, its really dificult to follow what/why you are doing what you are doing with the explanations following the output. I don't know, maybe I'm used the the standard here's how you create vars/symbols, here is input, here is output, lets demo it..... Still nice to see someone trying to help others out!
I was a big vim user for years and while I was trying to get set up with Common Lisp what I was ready about what the experience should be and what I was actually experiencing was different. I tried using slimv or something like that to emulate the experience but it was so brittle and often times wouldn’t work for me.
So, having had some experience with eMacs at university (a programming language known as Mozart/oz or I think more accurately Oz with the Mozart programming system) I was not keen to go back to it, but I owed it to myself to try and after a while something clicked, the idea that there’s an interpreter sitting behind the scenes waiting for you to compile functions and test things immediately without switching contexts (even to switch to a buffer with a terminal in it) became just… something I did, without thinking. Evaluating what something did became just a natural part of writing a function, instead of running the program as a whole, run the unit you just wrote.
It is, I suppose, a way to get a gist of how what I just wrote works without necessarily having to immediately write a unit test or run the whole program to see if it worked, tests may have some complicated setup, running the program may take time, the repl may already have state and other information ready to do a quick test with, and even if not, I can use the repl to write out what would become a unit test, I do sometimes find the code I test in the repl becomes a unit test, eventually!
It soon became muscle memory and I apologize if sometimes it isn’t clear what is happening, it’s sometimes just an autonomic action!
Thanks for this tutorial. I've been running Slime (yeah I know) with emacs and didn't realize I could have the repl in the next buffer to evaluate my expressions! Great video ! (Love the accent too! My favorite beverage comes your neck of the woods from the Ishtay isles! :) )
You're welcome, I have a new video going live tomorrow, an introduction to functional programming in CL, stay tuned for that! Yeah, I do like bringing up a buffer to see what I'm doing, if it helps you, even better!
I do like a good Islay whiskey, but Irn Bru is also good ;)
Thank you very much, you make such great videos! 👍
Thanks, I have a video I’m working on but I’m also writing companion blog posts for each video so that there’s more context and code snippets, you can read them here: nmunro.github.io/nmunro.github.io/blog.html
You’re amazing, thank you.
I dunno about that, just want to pave a way for others who want to use CL!
Nice video, thanks for the good work 🤗
Glad it was helpful to you, I've got plenty more for you to explore and get stuck in with!
Excellent video.
Any idea how Common Lisp stands in the world of microservices ? killer UI ? i know the history of CL but how to make this language popular in enterprise environment? Will Common lisp beat golang or Java?
Well, I am aware that AWS lambda function have the ability to have custom runtimes (docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html) so aws lambda could certainly be made to use CL. I'm also aware of (but haven't tried) the Common Lisp buildpack for heroku (github.com/mtravers/heroku-buildpack-cl2).
Will Common Lisp beat go or Java, I don't think this is really answerable, I think Java isn't going away any time soon and if it is, I think go would be the language most likely to be consuming its marketshare.
What I can share with you is that it IS used in places you might not expect: www.grammarly.com/blog/engineering/running-lisp-in-production/
I'm working on another CL video I hope to get out before the weekend, thanks for watching!
@@NeilMunro
Thanks, I am learning CL with slow speed.
@@पापानटोले Well, I'm by no means an expert, but I've been studying it myself and wanted to start giving back. If you've got any questions I'll do my best to answer.
Microservices are by definition so separated that you can theoretically use different languages/runtimes for individual Microservices.
I don't see why this cannot be Common Lisp.
If you are an autonomous team it's up to the team to decide this. Good luck convincing others.
If your team is managed by a manager you have to convince the manager. Needs more good luck.
@@manfredbergmann6160
Thanks. People will be inspired when they see Common Lisp going greater heights- like replacing Java/Python in enterprises etc.
You could turn-on or mention the show-paren-mode. Also paren-face-mode. Also company-mode.
I've not used any of those, at least not knowingly, I think company mode is the auto complete system, my editor does completions, so I imagine some sort of mode is enabled.
I'll have to research the other two.
Thank you for this quality lisp tutorial. Btw, don't do the python one please, there are already gazillions python tutorials.
Thanks for the feedback and glad you enjoyed the lisp videos. I've not made any python videos for a while, I actually started my channel to create python tutorials and engage in some self indulgence in my lisp interests but as it turned out the lisp videos were always more popular, so I switched to making them my main focus. The audio quality gets better in later videos as I've slowly been buying better equipment!
@@NeilMunroDon't worry about the audio quality, I don't mind it and I believe nobody will complains about it while the teaching content is great and easy to understand.
Thanks for the positivity. I'll be coming to the end of my functional programming series soon. I'm thinking of talking about a Turing machine like interpreter I wrote in common lisp. Would you be interested in seeing a video like that? Or would you prefer something else? Just finding out what would be interesting!
@@NeilMunro To be honest I am a newbie in programming and Lisp, so I prefer basic lessons like this playlist or any real world projects in Lisp. But anything in Lisp will be great, it will make your channel become focused, distinct, and special. Somebody will find it useful and interesting. I hope you'll find your niche and loyal viewers. Some idea, maybe a walkthrough of this book will be nice vseloved.github.io/progalgs (The first edition is free, here is my link mega.nz/file/JM8lkbSJ#VPZQ0-ZGyfteoADAYfWns7ZzhsnAfPWT8RXM7AJOz7Q )
Neil Munro neic
Great video, thank you!
Thanks, I hope you enjoy the others!
Awesome, thanks!
Glad you like it!
😊 thank you
You’re welcome
At around 9.00 you needed non-local transfer of control to escape the debugger - so abort was the only option to close it, or am I wrong?
One plus for the tips of the repl
Thank you, glad they’re helpful!
It was! I always wanted to know how to use the repl more efficiently. Can I ask you to do a video on repl driven développement. That would be great
That’s a cool idea actually, what questions would you want answering in that?
Actually i heard that some lisper use this technique. They implement a higher order function that throw an error in the repl when installed then they start addressing the issues one by one by implementing the functions that are used inside of it. That could be one topic but i would be happy to see any interesting technique that shows how to fully take advantage of the repl in CL développement. Thank for addressing my request. Love to see what you will produce.
Is there any commercial open source project for this?
I’m sorry, I don’t think I understand what you’re asking? For the language or my lessons?
Strike 2!
At strike 3 I'm out!
(string-equal) does not pay attention to the register of lines.
I'm not entirely sure what you mean, could you explain further and I'll try to correct the code (I'm setting up a website with errata on the videos).
@@NeilMunro All is well, I'm just about to use string-equal instead string=,
it's just a case-insensitive predicate
Let me know what you find, and if there's something worth correcting, with your permission I'll incorporate it into my website :) thanks for watching and giving me feedback, it's much appreciated
I'm loose :)