Another underwhelming wide-eyed intro to a lisp repl that does nothing interesting. And the comment section is full of drones praising s-expr and how they can do a lot more with a lot less or something. Or maybe the whole thing is satire. In any case, this just makes me want to stay *far* away from any kind of lisp. Waste of time.
@GavinFreeborn5 күн бұрын
@@teenspirit1 another? Didn't know there were that many of these. Idk why you keep watching them if you don't care for them 😅
@desmondwilson34166 күн бұрын
I'm in a laptop rn.
@ICopiedJohnOswald8 күн бұрын
Typeclasses don't require and dont give you higher kinded types. You happened to write a typeclass instance (Functor) for a higher kinded type (Box) but they are orthogonal concepts. `Num`, `Read`, and `Show` are examples of typeclasses that don't require a higher kinded type.
@PalashBackup8 күн бұрын
Thank you for the tutorial. This was very clear and helped me a lot to configure my keyboard. Kind of getting a qmk/programmable keyboard without the need for spending a lot of money.
@shuonanliu4978 күн бұрын
is there a way this program can remap two number pads into one split keyboard ?
@suponjubobu55369 күн бұрын
This video is so helpful! Thank you!
@minim_0116 күн бұрын
Beautiful font :) What is it's name???
@ericpmoss19 күн бұрын
There are several cute things included in the loop extensions that make certain toy problems trivial, but it is so un-Lispy that I avoid them all. It's more than just an aesthetic issue -- a DSL, especially a non-Lispy one, belongs in a loadable library, not the language core. Because of the syntax of this DSL, it is tricky and sometimes impossible to add type declarations without violating that syntax. Similarly, it is tricky and sometimes impossible to instrument the code with things like counters and accumulators and conditional breakpoints. I think it is much better to write one's own specialized iterator macros that look and behave more like the core built-ins of map, reduce, and do, but with whatever specializations and optimizations that apply to the problem at hand. I also think it is better to do that because it lets me be a programmer, not a configuration technician.
@ramit722 күн бұрын
Can one get ctags like functionality in vanilla vim?
@GavinFreeborn19 күн бұрын
Indeed you can ctag support is includedin vanilla vim
@ramit718 күн бұрын
@@GavinFreeborn I see awesome :D thanks!
@ruffianeo341822 күн бұрын
Your comments on Common Lisp performance are just plain wrong, btw. It has (without additional libraries and right out of the box): arrays, hash-tables, ... So the data structures are not the reason. And Common Lisp is fast (SBCL for example). Python is not even in the same ball park. So, you cannot argue that perfomance was the reason Common Lisp did not become main stream if mainstream python is by a factor of 30 slower, 25 years later and popular....
@GavinFreeborn19 күн бұрын
I never said performance was the only reason common lisp did not become mainstream. Some could see it as a factor when compared to languages that began to take its place but it definitely was not the soul or even main reason.
@ruffianeo341822 күн бұрын
Just imagine all the work hours, spent on rust and zig and llvm and (and the weekend spent on python) and Haskell and whatnot - all going into making Common Lisp perfect? This, my friends would be heaven on earth.
@nigelthornbrake23 күн бұрын
Nice video, great gentle introduction to org. You mentioned org-capture as one of the things to look into at the end, but forgot it's almost constant companion: org-refile!
@JinnyjinnyJin25 күн бұрын
I hear you prefer cabal over stack, because it's not needed any more. How about dockerizing your app? AFAIK, only stack support such command.
@fytubevw25 күн бұрын
Beyond Mars -level cli setup... slick.
@chillbro227526 күн бұрын
Been wanting to learn Clojure or Common Lisp. Although Clojure seems really cool (it introduced me to LISPs), I was never able to get the environment setup in Emacs like i saw people do it. Then on top of that, I just don't like the the Java Interop code looks -- just puts me off. I'm actually turning to Common Lisp to see if setting it up is easier. I don't know if anything I want to do can be done in CL though. It just seems like a freaking cool language.
@jenniferdarline26 күн бұрын
I had installed all the dependencies and tried using Roswell as well as the shell script from the install directions. Additionally on arch I could not makepkg, there was a fatal error in SBCL about core being built for a runtime that was not matching my host name and I dont know enough or have the patience to try to solve it. So I went back to Emacs. Plus after reading a very well written opinion about LEM on Reddit it seems that its a good concept but still too young and lacks the practicality Emacs has after decades of maturity.
@JReuben11127 күн бұрын
one day Lisp will return - as IO for LLMs
@adjbutler29 күн бұрын
Why learn it??? because it helps you get good at Elm.... which will destory Javascript in the long run.... a worthy goal for anyone.
Ай бұрын
Thanks! Kmonad is a great piece of software. It just works, and the configuration file (intimidating at first) is very easy to edit because it has a smart design. I had tried to configure my keyboard with a mix of xmodmap, setxkbmap, sxhkd and xcape. All of them worked for one specific thing but were very incompatible with the others, and some had a horrible syntax. Kmonad did everything with a single binary and a single configuration file. Awesome.
@jatlineurАй бұрын
haskell is a math language
@Freddy78909Ай бұрын
Watch the video "The Curse of Lisp". The strengths are also weaknesses. Like rolling your own syntax using macros might be fun for computer nerds but horrible in a production setting
@Freddy78909Ай бұрын
You realize Type Classes are yet another workaround (similar to templates in other languages) caused by constraints of a strongly typed language? Javascript, Python etc simply don't have this problem because they're weakly typed. Which is my preference honestly
@GavinFreebornАй бұрын
That is certainly one way to see it. To me and many others it is far more than a workaround. They let a function handle many types and be extended to handle more. This unfortunately isn't a native feature that comes with most dynamic languages and requires dynamic dispatch, modifying the function, or modifying the class to support the operation as seen in javascript and python. Adding methods is great and all and if the language allows it like in the case of JavaScript it's fine but in the case of python that isn't an option. There is a reason both languages have a common iteration interface. It's to fill this gap.
@teddykayyАй бұрын
>2024 >2 years ago 🤔
@stendallАй бұрын
Type classes seem very similar to C++ templates. Are they really that different?
@majorgear1021Ай бұрын
Since I spend 40 hours a week at work using my employer’s laptop, I’d need a way to access my personal notes over the Web or synced to my personal phone before I could consider using Emacs Org mode. Can Org Mode data be accessed in either of those ways?
@jarvisfamily3837Ай бұрын
"...the development past these simple prototypes was very slow and seemed to run into a wall very quickly" - unfortunately, this is a concise description of programming projects in general.
@only2seaАй бұрын
It blew my mind; even though I have used Org mode since 2007, I didn't know many of the things you mentioned here.
@frankchen5728Ай бұрын
Thank you very much for the great video, Gavin! I followed the instructions to set up Corfu in my emacs. It works for Lisp but not Python. Is there any other extensions I need to install to make it work for Python?
@insane_tuxАй бұрын
Hi, please tell me what kind of theme you have in emacs ?
@intermarer9145Ай бұрын
Emacs has a regex builder?? Awesome 🥳
@AlBakerDevАй бұрын
Get on board with Clojure everyone!
@NormanBauer2 ай бұрын
I have tried using Doom emacs and just can’t for life of me figure out it’s purpose over vanilla emacs.
@kahnfatman2 ай бұрын
I’m in such a hype for Ocaml and Lisp now. I’m learning algorithms in Haskell. I’m leaving my OOP root into the FP world!!!
@EdouardTavinor2 ай бұрын
Hello :) I've been using more defun recursion with tail call optimisation to do loops recently. It's a one-size-fits-all solution :)
@segeus2 ай бұрын
Why do near 30% of programmers tend to give you "uncanny valley" vibe in their videos?😅
@GavinFreeborn2 ай бұрын
Probably because they are extremely uncomfortable reading scripted content. I really need to work on that
@krepes86852 ай бұрын
Just been offered a full-time graduate full-stack engineering position working with haskell and typescript... very excited!
@GavinFreeborn2 ай бұрын
Congrats! Wish you the best
@FineWine-v4.02 ай бұрын
On a completely unrelated (or related) topic; Could GNU-Jami be a viable replacement for Discord ?? You know since you seem to be a GNU-Guy (not really, but Considering Emacs welllllll.... ok fine)
@Oi-mj6dv2 ай бұрын
Man this video is god. Btw this might be too specific, and im kind of an emacs/linux noob. Do you happen to know/can you make a video on how to configure guile-geiser in Emacs?
@tufflax2 ай бұрын
"Why You Should Learn Lisp In 2024" is not a question; don't put a question mark after it.
@ron5212 ай бұрын
Back in the 80's we learned Lisp on IBM's Lisp/VM while at the University of Maryland. Recursion seemed so seamless in Lisp. I can't say why, later I felt that my work with Lisp helped me feel more comfortable writing with SQL queries.
@marknaylor73222 ай бұрын
My goto languages for AoC is Clojure. Mainly because I don't use the language enough, and AoC gives me a use case for practice. I might, at one one, vaguely thought of using elisp, but passed because of my Clojure focus. This video confirmed my basic approach. • Read text from source file • Convert data to a data structure • Process the data structure with appropriate functions
@marknaylor73222 ай бұрын
Adding lambdas to hooks is bad form.
@ujjawalsinha89682 ай бұрын
Who is learning LISP right now?
@sdsa0072 ай бұрын
wow I finally understand macros, I finally know how to play with them!
@3a1462 ай бұрын
Can only do programming with Lisp. Also learned how to do formal mathematical proof in the sense of Curry-Howard btw.
@3_14pie2 ай бұрын
well, I'm trying hard to agree with you,but I'm 3 days straight trying to get the lsp to work on vscode, and I use arch (btw), so I'm used to clunky configurations with confusing documentation
@timedebtor2 ай бұрын
As stress increases every language devolves to lisp
@pavelgarlor2 ай бұрын
(Message ‘good ‘video)
@vinapocalypse2 ай бұрын
Java won in the enterprise because it's "portable" and had the weight of a company behind it, but also because it has a very strict syntax and is C-like enough that everyone who went to college in the US can understand/learn it will minimal effort, meaning companies who adopt it had a large hiring pool of potentially inexperienced programmers, as opposed to a much smaller pool of more experienced/well-versed programmers
@coolbugfacts12342 ай бұрын
most actual java code is completely unreadable though, it is so complicated it can only edited using a sophisticated IDE, and even a simple system cannot even begin to be understood since the logic and behavior is spread to thousands of different source code and XML configuration files so the signal to noise ratio is to a first approximation 100% noise
@grokitallАй бұрын
i have heard the myth about portable java code for years, and am still waiting to find anyone who actually writes it. most programmers grow up using a single infrastructure like for example windows, and tend to encode so many of the shortcuts from that infrastructure into the code that when they try and run it on any other platform it explodes and does not work at all. to write portable code, you must write portable code and test it against your targets as early as you can. i know of more than one project developed on a windows laptop, but targeted to be a multi user unix app, where the built in assumptions meant it would only work single user on windows, as the developer had no experience of any other platform. in most cases, it required a near complete rewrite with continual testing against the destination platform to get it to work, with the original implementation being seen as only any good as a demonstrator project.
@Oi-mj6dv2 ай бұрын
The functional danger triad of despair: haskell, lisps(CL you have my heart) and apl derivatives.