Scheme Lisp: Feel the Cool - Andy Balaam [ACCU 2018]

  Рет қаралды 23,387

ACCU Conference

ACCU Conference

Күн бұрын

Пікірлер: 50
@bluegiger
@bluegiger 3 жыл бұрын
If nothing else, this video helped me to grok Closures in a way no other efforts have managed to. Thank you!
@ACCUConf
@ACCUConf 3 жыл бұрын
Great to hear!
@HarishNarayanan
@HarishNarayanan Жыл бұрын
This is what I came to say. I loved the whole video but this finally got me to see closures with clarity. Thank you!
@difflocktwo
@difflocktwo 3 жыл бұрын
such a well done presentation. delivery was spot on.
@ACCUConf
@ACCUConf 3 жыл бұрын
Glad you enjoyed it
@takagiro-space
@takagiro-space 6 жыл бұрын
Просто невероятно крутая презентация! Спасибо!
@Qazqi
@Qazqi 6 жыл бұрын
For anyone interested, the extra bits on encoding numbers as functions come directly from Lambda Calculus. Looking up Church encoding will go into more detail.
@macosxfiles
@macosxfiles 5 жыл бұрын
This is very informative. Thank you, Andy!
@brightscripters4685
@brightscripters4685 4 жыл бұрын
Thanks for this video!
@ACCUConf
@ACCUConf 4 жыл бұрын
Glad it was helpful!
@pazdziochowaty
@pazdziochowaty 5 жыл бұрын
I share your enthusiasm about "Structure and Interpretation of Computer Programs". This is one of my favourite books and I also found it revealing that closures are just enough to create any data structure one can imagine. Just my two cents: 1. I would suggest to make it clear this video is rather addressed to programmers who do not know scheme/lisp or are beginners. I really hoped to see some new things. 2. I would not call functions which take funcions as arguments meta-programming. They are what mathemeticians call higher-order functions. Meta-programming is rather a program which creates another program - a function which returns function works like that and macros are even better example of meta-programs. I find it sad that C (and in effect C++ which wants to keep compatibility with C) use simple text-based macros instead of what lisp/scheme provides. That is the real meta-programming which enables to define new syntax (DSL). Otherwise this is a great video which may get more people into the wonderful world of scheme/lisp. I struggle to understand why languages like haskell were created when there is already the most powerful functional language ever invented
@noralworld697
@noralworld697 5 жыл бұрын
People like to invent things. Forget things. Invent things. Forget things. And so on
@sebastiangudino9377
@sebastiangudino9377 2 жыл бұрын
I would kinda say that at leas in lisp, passing a function to a function IS metaprograming. Since you do not necesarily pass in a function, but rather a list that IS evaluated as a function (A subtle but very powerful diference that lies at the core of what lisp even IS). And as such it pretty much IS meta programing (Calling symbols at runtime is a fundamental manipulation of the code generated when the program runs)
@maxbesley1412
@maxbesley1412 2 жыл бұрын
I’m coming off of learning Haskell for three months. Now I am starting to learn Lisp (I’m a full member of the FP now). I think part of the reason Haskell is useful - and should exist in addition to Lisp - is it’s type system. Haskell’s type system is perhaps it’s central component. Since the type system is so strong, statically typed and the functions are pure, Haskell programs are usually going to be correct if you can get them to compile (unless you made a logic error somewhere). Also to my understanding Lisp is not pure. While Haskell certainly is. I’d love to master both. As well as the fundamental lambda calculus behind FP.
@LGcommaI
@LGcommaI 11 ай бұрын
Extremely relevant re ". I struggle to understand why languages like haskell were created ": kzbin.info/www/bejne/lXuWqWivq7Zrr8U
@LGcommaI
@LGcommaI 11 ай бұрын
Relevant: kzbin.info/www/bejne/lXuWqWivq7Zrr8U
@256k_
@256k_ Жыл бұрын
fantastic lecture!
@ACCUConf
@ACCUConf Жыл бұрын
Very glad to hear your appreciative comment!
@ignaciobianchi9037
@ignaciobianchi9037 3 жыл бұрын
1:15:25 How exactly does mdec decrements the numbers? Also, are the x and y passed in to the mequal? function supposed to be numbers?
@ajbalaam
@ajbalaam 3 жыл бұрын
To add one, we "wrap" the function in another function. To subtract one, we call the function, which "unwraps" it again. Yes, x and y are arguments to the mequal? function. Yes, we are representing numbers with functions.
@fastundercoverkitgoogle7381
@fastundercoverkitgoogle7381 6 жыл бұрын
Excellent!
@cretinobambino
@cretinobambino 3 жыл бұрын
Sum seems more natural to define as (define (sum vs) (if (null? vs) 0 (+ (car vs) (sum (cdr vs))))) (Apologies if formatting is messed up).
@themaxpatel
@themaxpatel 3 жыл бұрын
THIS IS SO COOL!
@wreckgar23
@wreckgar23 6 жыл бұрын
Very cool!
@gongfei
@gongfei 6 жыл бұрын
can't agree more!
@abhishes
@abhishes 3 жыл бұрын
Is there a scheme book which covers metaprogramming, macros and streams?
@ajbalaam
@ajbalaam 3 жыл бұрын
Check out Structure and Interpretation of Computer Programs. There is a full copy available for free online, and you can get it in print.
@freedom_aint_free
@freedom_aint_free 3 жыл бұрын
I start studying Lisps dialects just because I had an idea of not practical pressing need, just as a academic curiosity: I was using Python to manipulate Regular Expressions (regexs), with really complex rules and processing dozens of thousands of words at a time, and most of the time regular expressions are better than hard code the 'if then else and boolen logic' by hand, by oddly enough sometimes it is not, and I though: "If I wrote a program to parse regexs and translate those to code (in this case python) in a metaprogramming style" and in my judgment it can be done in python but feels really clunk and not elegant at all, and after trying some functional languages, of the OCAML family, I though about trying Lisp.
@nathanruben3372
@nathanruben3372 4 ай бұрын
If scheme is the best language out there, why it is a niche language. Why don't we see it anywhere like java, c, c++, python etc..
@stretch8390
@stretch8390 Ай бұрын
Because language design isn't judged by the current whims of economic systems that want a particular type of language for a particular type of problem.
@tomwebdisk01
@tomwebdisk01 4 жыл бұрын
Cool Scheme :D
@ACCUConf
@ACCUConf 4 жыл бұрын
Thanks for watching!
@Show_Cast
@Show_Cast Жыл бұрын
It's 2023 and lisp scheme is going on.
@fabishimwe
@fabishimwe 3 жыл бұрын
Cadddr
@RichardEllwood
@RichardEllwood Жыл бұрын
Lisp is the only truly perfect programming language.
@jacekjacenty
@jacekjacenty 5 жыл бұрын
Why everybody who uses Lisp admires the language beauty but does nothing to make the language usable in normal software projects? We are not students. We have no problems with parentheses. But we can't find good documentation where we could start a simple real-life project in Racket. With regards to Common Lisp decent implementations that work on Windows cost lots of money. You build up your enthusiasm for Lisp and you get quickly disappointed when it comes to real life work. Somehow the languages at the top of popularity list have those and other problems solved. Perhaps a good language with a poor environment is a very bad idea?
@daver1964
@daver1964 5 жыл бұрын
I don't understand your complaint, I picked up racket on windows three months ago and am using it, successfully, to not only script my game, but to provide significant functionality to the game itself. I've not had to look outside the official documentation that comes with racket to do this.
@jacekjacenty
@jacekjacenty 5 жыл бұрын
@@daver1964 perhaps my mind was damaged by Common Lisp. I miss the interactivity. The way racket documentation explains problems with load does not make sense to me. I can see Racket's potential, but at the same time I have not figured out how to use it properly in the context of my needs. Repl was a disappointment.
@LambdaJack
@LambdaJack 5 жыл бұрын
Windoze!? BareMetal!
@insertoyouroemail
@insertoyouroemail 3 жыл бұрын
@@LambdaJack you can run scheme on bare metal?
@jacekjacenty
@jacekjacenty 8 ай бұрын
I saw my comment five years later. I have invested my time into SBCL Common Lisp. The implementation has improved, and interesting libraries have become available. Now, I know how to solve the problems that caused me trouble years ago.
@xavierthomas1980
@xavierthomas1980 6 жыл бұрын
LISP and Scheme are very cool by their simplicity and power, but the parenthesis nightmare gives headache, that's why Lua was invented.
@ДмитрийВасильев-я6б
@ДмитрийВасильев-я6б 6 жыл бұрын
))))))))s are nothing but symptom. True illness of Lisp is nesting denoted by them.
@pazdziochowaty
@pazdziochowaty 5 жыл бұрын
Parentheses are handled by editors much better than whitespace which was made syntax in python. I hate python just for that one reason and I will never use it in my life for any amount of money because I hate when adding/removing one space in the program changes its semantics
@aki44
@aki44 4 жыл бұрын
thats what i felt before but now I love the paranthesis, it makes code virtually like lego blocks. Plus there are a lot of tools out there to auto select/colorize/indent parenthesis blocks; after this experience coding without parens looks boring and is harder to grok.
@IExSet
@IExSet 9 ай бұрын
LOL Lua has comparable number of parens. Lua is awful language, I use it in game scripting, it is inconvenient and hard to make DSL using it.
@IExSet
@IExSet 9 ай бұрын
@@ДмитрийВасильев-я6б it is for compiler only, just as }}} in C++ or other languages end end end in Lua. Lispers use indentation to read code, not parens !
105 STL Algorithms in Less Than an Hour - Jonathan Boccara [ACCU 2018]
53:31
Rebuilding Racket on Chez Scheme Experience Report
21:34
ACM SIGPLAN
Рет қаралды 3,5 М.
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Lisp everywhere! Gurudom is around the corner
26:57
FOSDEM
Рет қаралды 7 М.
The Rise & Fall of LISP - Too Good For The Rest Of the World
17:44
Gavin Freeborn
Рет қаралды 44 М.
"Knit, Chisel, Hack: Building Programs in Guile Scheme" by Andy Wingo
40:36
Strange Loop Conference
Рет қаралды 19 М.
Practical Common Lisp
1:12:05
GoogleTalksArchive
Рет қаралды 35 М.
A Guiler's Year of Racket
26:56
FOSDEM
Рет қаралды 12 М.
Why LISP Is The Language of Legends
9:05
Sammy Engineering
Рет қаралды 38 М.
The History of Lisp and Early Artificial Intelligence
9:59
cryoCode
Рет қаралды 32 М.
SICP: the end of an era
7:10
Computação Raiz
Рет қаралды 27 М.
Scheme Workshop Keynote: Andy Keep
1:07:11
ACM SIGPLAN
Рет қаралды 4,5 М.
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН