Racket Town Hall
35:12
2 ай бұрын
The State of Racket
31:23
2 ай бұрын
Пікірлер
@AndriyTyurnikov
@AndriyTyurnikov 3 күн бұрын
Any sufficiently complicated Lisp implementation* contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of M-expressions. *With the exception of Wolfram Language
@fatboyzzfatboyzz7407
@fatboyzzfatboyzz7407 15 күн бұрын
How about adding one extra space like ")) )". - ")" before space close "(" from current line. - ")" after space close ")" from previous line. (𝚍𝚎𝚏𝚒𝚗𝚎 (𝚌𝚘𝚗𝚌𝚊𝚝𝚎𝚗𝚊𝚝𝚒𝚘𝚗 𝚒𝚗) (𝚕𝚎𝚝 ([𝚊𝚌𝚌 ""]) (𝚏𝚘𝚛 ([𝚒 𝚒𝚗]) (𝚜𝚎𝚝! 𝚊𝚌𝚌 (𝚏𝚘𝚛𝚖𝚊𝚝 "~𝚊~𝚊" 𝚊𝚌𝚌 𝚒)) ) 𝚊𝚌𝚌))
@woolion
@woolion 22 күн бұрын
The future looks awfully safe! For real, it's shocking how little the non-determinism issue is discussed.
@hythloday.spector
@hythloday.spector 29 күн бұрын
Sounds like Erlang, isn't it?
@mlliarm
@mlliarm Ай бұрын
Loved it, thanks !
@davidkrentzlin1663
@davidkrentzlin1663 2 ай бұрын
The speaking style, ugh, took, ugh, away from the content unfortunately.
@StephenSmith-xyz
@StephenSmith-xyz 2 ай бұрын
Curious what you didn't like? I found it to be very natural and humourous. But everyone is entitled to their own opinion for sure!
@JoePep-b6w
@JoePep-b6w 2 ай бұрын
I was also touched by the tribute they paid to Seymour Papert & Marvin Minsky. The world of programming, AI and computational thinking does indeed owe a whole lot to those two, not forgetting John MacCarthy too.
@JoePep-b6w
@JoePep-b6w 2 ай бұрын
This is awesome, The organizers of RacketCon did a super wonderful job. And I am so surprised that even at this age these two gurus do not only remain extremely clear about the fundamental ideas of programming but that they are also so current about what ever is going on and also so lucid. It is really an honour to see such legends alive and well and still contributing great ideas.
@maccsguitar
@maccsguitar 2 ай бұрын
Lambda was absolutely nonsensical for me as a beginner and it was even tedious to write. Function would be even worse to write, but at least it would make sense. Symbol fn would be even better, as functions are so central and used everywhere. Even the mathematician who invented chose lambda arbitrarily. I think we should optimize for semantics and not history. 'Lambda-functions' makes it sound like a very different thing to other functions and methods and even many intermediate programmers avoid the subject because they don't know what 'lambda' means, when it hasn't meant anything from the beginning!
@allanschougaard3701
@allanschougaard3701 2 ай бұрын
"used everywhere" Everywhere is a big place. Where do you mean?
@maccsguitar
@maccsguitar 2 ай бұрын
​@@allanschougaard3701Racket is the subject in the video, so I was referring to that specifically, though I could mean lispy languages in general. I would say it's pretty rare to not see any lambdas in any given random racket/scheme/lisp file.
@allanschougaard3701
@allanschougaard3701 2 ай бұрын
@@maccsguitar Where lambda enters the picture: kzbin.info/www/bejne/rH6neaOGg8SjZpofeature=shared&t=255
@allanschougaard3701
@allanschougaard3701 2 ай бұрын
"Symbol fn would be even better" how so?
@maccsguitar
@maccsguitar 2 ай бұрын
​@@allanschougaard3701 Church selected lambda and went on to formulate lambda-calculus. He could have used "hat" and the name could have been something else. That's history, but in current programming languages it is customary to call them functions. Lambdas, hats or other could-be-churchisms seem unnecessary now that we have renamed the concept in this field and operate by different semantics than lambda-calculus. Functions in programming languages don't operate by replacement as lambda-calculus does. As for why fn would be better in my opinion, it is shorter to write and refers to the concept of functions. Shorter format optimizes for experts who know what it means and have to read and write it every day, while still being an understandable shorthand for the beginner. My experience as a beginner was that I understood the shorthand "defun" immediately to mean "define function", whereas it took me a _year_ to understand that "lambda" is doing almost exactly the same thing. I avoided using it for all that time just because I did not understand the word and what it refers to. By that time, I had been programming in javascript and still hadn't connected the dots that js "function (x) {...}" and lisp "(lambda (x) ...)" are similar. Any of "fn", "fun", "func" or "function" (for example) would have been so much easier to understand and I would have been able to progress much faster.
@ascho-o3x
@ascho-o3x 2 ай бұрын
There are in fact already two libraries the implement a HTML like language: rws-html-template and web-server/templates
@replikvltyoutube3727
@replikvltyoutube3727 2 ай бұрын
Turn lisp into this popular language called java
@faster-than-light-memes
@faster-than-light-memes 2 ай бұрын
It's easy to specify a program that plays chess. It's hard to specify a program that plays good chess.
@generalyoutubewatching5286
@generalyoutubewatching5286 2 ай бұрын
Also MLIR is designed for this.
@laughingvampire7555
@laughingvampire7555 2 ай бұрын
it's all about performance
@usagi-z
@usagi-z 2 ай бұрын
We call @ a 'monkey'
@ascho-o3x
@ascho-o3x 2 ай бұрын
Something with a long tail?
@hi_arav
@hi_arav 2 ай бұрын
🔥 🔥
@mikedelmonaco6193
@mikedelmonaco6193 2 ай бұрын
I like the closing paren suggestion, but not because of readability. I think proper indentation makes it obvious enough where the `for` ends and you don't need to worry about which parens match to which. My main reason for liking it is because of git diffs. When you add a new sub-expression to the end of a multi-line expression like a `define` or a `for`, the git diff should be just adding a new line. But since the close parens are no longer on what used to be the last expression, you get a 2-line diff with a modification. It's a small thing, but it makes reading diffs a little slower because it's not always obvious whether the now second-to-last expression actually changed or it's just the closing parens.
@CCcorrodedCrustacean
@CCcorrodedCrustacean 2 ай бұрын
I don't care that much about the other points, but I can't agree more that the indentation style is a pain. I'm pretty sure people who complain about 'too many parentheses' are in fact bothered by not being able to see matching parens immediately. This style also makes it more trouble than it's worth to edit lists of arguments because the first element is on the same line as the head, and the last has all the closing parentheses after it, so they can't be moved or deleted as a line. I also find it annoying that the indentation width varies with the length of the head, which can eat up horizontal space very quicly, leading to wrapped or truncated lines which are a pain to read.
@sillystuff6247
@sillystuff6247 2 ай бұрын
the dying scala language is "a better java than java"? scala is not even a top 20 language on any major programming language survey/index. no new major apps or companies are built around scala. real-world programmers avoid scala because scala is designed to confuse.
@ascho-o3x
@ascho-o3x 2 ай бұрын
Yeah? Well, you know, that's just like your opinion, man.😊
@sillystuff6247
@sillystuff6247 2 ай бұрын
really hope most racket community members aren't this arrogant. if they are, i won't be exploring racket much longer.
@lockbert99
@lockbert99 2 ай бұрын
I was doing that matching paren style in Emacs Lisp code and I told a co-worker about it (who was not a Lisp user) and he gave me some strong negative reaction. And that included going against the Lisp Gods or something similar. And I have felt guilty about doing it ever since and try and avoid it. Thanks for showing that!
@metalnwood
@metalnwood 2 ай бұрын
When the topic of indentation with parens comes up, semi frequently, I have to agree based on my experience that it clicks and becomes natural and you get very used to the structure of lisp. So I really don't believe that the messy representation of lisp in the 'prickly' way is required. It may help some people new to the language but assuming that they become proficient they will also become proficient in working with the structure of lisp and they will start to read it more naturally. It will be other areas of lisp that have people leave the language before they are proficient in it, not the parens.
@tgerdin1
@tgerdin1 2 ай бұрын
In Sweden @ is known as a cinnamon roll.
@peterkerj7357
@peterkerj7357 2 ай бұрын
Va?!
@tgerdin1
@tgerdin1 2 ай бұрын
@ kanelbulle (iaf i Västerås)
@ascho-o3x
@ascho-o3x 2 ай бұрын
@@tgerdin1 snabel-a in Denmark
@billyburton123
@billyburton123 2 ай бұрын
coming from other languages I agree. Going beyond naming, capital letter class/types make it easy to see what it is at a glance, and I didn't realize how easy matching braces could get in s-expression based languages. Maybe there will be an autoformatter that can do this for you
@apgwoz
@apgwoz 2 ай бұрын
I can’t imagine a better way to make people ignore the rest of the great points than to bring up a “tabs vs spaces” argument. Closing parentheses location doesn’t matter, but they definitely always belong next to other closing parens. :)
@ascho-o3x
@ascho-o3x 2 ай бұрын
Do the location of }s matter?
@apgwoz
@apgwoz 2 ай бұрын
@ *sigh* - joking or not, if you have to apologize for it ahead of time, it’s probably best not to say it.
@spdegabrielle
@spdegabrielle 2 ай бұрын
I like it. I like the proposal.
@spdegabrielle
@spdegabrielle 2 ай бұрын
I love unhinged data representations! Great presentation 8:37
@lockbert99
@lockbert99 2 ай бұрын
It looks like make-immutable-string only takes a parameter list of chars? Is that correct?
@jackfirth8890
@jackfirth8890 2 ай бұрын
Yup, just like make-string. Though that module wasn't the subject of my talk and I have mixed feelings about its existence.
@lockbert99
@lockbert99 2 ай бұрын
@@jackfirth8890 Possibly a dumb question as I am new to Racket, but how do you turn a string literal or mutable string into a immutable string? Or maybe just, how do you initialize an immutable string with a string literal?
@jackfirth8890
@jackfirth8890 2 ай бұрын
@lockbert99 String literals are already immutable. Also there's the string->immutable-string function.
@strickvl
@strickvl 2 ай бұрын
Why was 4o-mini used to generate the script at the start? It's pretty poor at coding..
@campbellhutcheson5162
@campbellhutcheson5162 2 ай бұрын
I think that there is a strange reaction in the FP community against LLMs when it's obvious that they will replace much of programming and that what we desire in a programming language is going to change. I don't know for certain what we are going to want in future programming languages, but some guesses are that speed and verifiability will matter more and readability and error-avoidance will matter less. And, I think it makes sense for people to talk more about what a language designed for LLMs might look like rather than something else.
@LongFacedBastard
@LongFacedBastard 2 ай бұрын
It is not at all "obvious" that statistical plagiarism networks will "replace" programming unless you're a college student that's never built anything but has crypto investments
@tahoupt
@tahoupt 2 ай бұрын
Thanks for these talks! BTW, does anyone happen to know the recording setup? One of the better slide-and -speaker recordings I've seen.
@PanSkordos
@PanSkordos 2 ай бұрын
Timeless! If the computer were to make an exception and allow Hal and Gerry to live forever, they would continue to contribute positively to our world ad infinitum.
@mlliarm
@mlliarm 2 ай бұрын
I wasn't prepared to see a Unix shell pipe command DSL in a Racket presentation. This is beautiful. Thanks for sharing !
@mikedelmonaco6193
@mikedelmonaco6193 2 ай бұрын
that ocular-patdown dsl looks pretty cool 😎
@nbme-answers
@nbme-answers 2 ай бұрын
2:59 START
@nathantaylor7026
@nathantaylor7026 2 ай бұрын
In 2009 I showed up to UBC as a new grad student and had the good fortune to TA the very first iteration of 110. Learned a heck of a lot in the process. Over the years I found myself at the front of the classroom and the experience I got from 110 held me in good stead. Cheers, Gregor, Kurt, and Kim!
@iitalics
@iitalics 2 ай бұрын
very cool 😎
@3a146
@3a146 2 ай бұрын
Hey, do you mean metalinguistic abstraction?
@deathdoughnut
@deathdoughnut 2 ай бұрын
Yeah! Metalinguistic abstraction and language-oriented programming are both terms for more or less the same idea, with slightly different emphases.
@veronikawinters6435
@veronikawinters6435 2 ай бұрын
I love that these dudes are talking about high level concepts and then a bunch of kids come in and teach them how to use a music box heh
@hansu7474
@hansu7474 2 ай бұрын
Seriously, you guys have great minds in front of you and barely ask any interesting question?
@randomsearches369
@randomsearches369 2 ай бұрын
Such a wholesome talk.!
@eternaldoorman5228
@eternaldoorman5228 2 ай бұрын
1:05:20 So somebody _did_ invent the food-transfer protocol?
@eternaldoorman5228
@eternaldoorman5228 2 ай бұрын
Oh no, it was just a paper roll, not a bread roll.
@eternaldoorman5228
@eternaldoorman5228 2 ай бұрын
Reminds me of Thanksgiving in an US Gaol. That was a Food Transfer Protocol!
@mendelovitch
@mendelovitch 2 ай бұрын
There's the Hyper Text Coffee Pot Control Protocol.
@alexanderalejandre241
@alexanderalejandre241 2 ай бұрын
Lovely
@integralyogin
@integralyogin 2 ай бұрын
Partial list of favorite Wizard Books: Sri Aurobindo - The Life Divine (TLD) [Integral Yoga/Philosophy] Ken Wilber - Kosmic Consciousness or Sex Ecology Spirituality (SES) [Integral Philosophy] Aleister Crowley - Magick (Liber ABA) [Occultism] Abelson, Sussman - Structure and Interpretation of Computer Programs (SICP) [CS] Sri Aurobindo - Savitri [Integral Yoga/Poetry] Sri Ramakrishna - The Gospel of Sri Ramakrishna [Bhakti Yoga (Love-Devotion)] The Mother (Mirra Alfassa) - Collected Works [Philosophy, Religion, Yoga] Tènzin Wangyal Rinpoché - The Tibetan Yogas Of Dream And Sleep [Tibetan Buddhism, Dream Yoga] this talk was brilliant and reveals much Blessings
@laxmanneupane1739
@laxmanneupane1739 2 ай бұрын
Lmaao.
@callmesun.7126
@callmesun.7126 2 ай бұрын
Sussman sounds like he is going to buy a shrimp boat and play ping pong against the Chinese with Scheme. Glad to see him.
@AyuPapaBonanza
@AyuPapaBonanza 2 ай бұрын
Just wow!
@LynnWhirley
@LynnWhirley 2 ай бұрын
Great video! You made complex topics easy to understand, well done! Curious to dive deeper? Feel free to check out my bio! Thanks for the video, I'll be watching for more updates!
@JasonCunliffe
@JasonCunliffe 3 ай бұрын
03:53 >>> START *Douglas Crockford*
@krazeemonkee
@krazeemonkee 3 ай бұрын
please, please, please, does anyone know the name of the font/type-face in the splash screen *edit* and also bottom left corner for entire video 😅 *edit*?? "ninth racketcon" ~ that's the simula font which was also used in an ad campaign for arc browser but i haven't been able to find its name! 🙏🏽 i'd greatly appreciate any leads at all! blessings ✨