Building A Programming Language From Its Core (with Peter Saxton)

  Рет қаралды 6,164

Developer Voices

Developer Voices

Күн бұрын

Пікірлер: 25
@thegeniusfool
@thegeniusfool Ай бұрын
Mr. Saxton is way sharper than most in this borderline of comp sci and coding.
@WalterPrendergast
@WalterPrendergast 3 ай бұрын
Super educational - in a practical way; way to go; Focused and clean POD Cast (very rare on KZbin).
@PixelOutlaw
@PixelOutlaw 3 ай бұрын
We've been using the AST directly for 60 or so years in Lisp. ;) It was going to have more syntax but that got put on hold to great benefit. Except for a few recent dialects who want to litter it with Python/JavaScript literals.
@fredoverflow
@fredoverflow 3 ай бұрын
xkcd 224
@gaboralexnagy5609
@gaboralexnagy5609 3 ай бұрын
Are you referring to Clojure? To be fair, those reader extensions do look like quality of life improvements over all the parens that you would have otherwise. I haven't tried writing macros in Clojure but afaik you can match them in quote forms just as well as regular list exprs.
@thegeniusfool
@thegeniusfool Ай бұрын
Yeah, it was a bit weird that the connection to the abstractness-becoming-pragmaism of S-expressions, since I assume Mr. Saxton is well versed enough to know this connection.
@chivesltd
@chivesltd 3 ай бұрын
Zig mentioned!!! Looking forward to EYG with Zig
@nexovec
@nexovec 3 ай бұрын
I hope this language stays separated from all machines, especially mine. Great job again, Chris
@pookiepats
@pookiepats 3 ай бұрын
😂😂😂😂😂you bastion
@Jebusankel
@Jebusankel 3 ай бұрын
Truffle from GraalVM is interesting to contrast with this. It's an AST centric language implementation framework but it takes performance seriously with lots of the JIT type optimizations you expect from the JVM
@AdrianBoyko
@AdrianBoyko 3 ай бұрын
Do the “platforms” of Roc relate to this in any interesting way?
@hebozhe
@hebozhe 3 ай бұрын
Languages are well-formed formulae with corresponding semantics. That's been the mainstay understanding since Hilbert, and arguably as early as Frege.
@DinHamburg
@DinHamburg 3 ай бұрын
hopefully formally defined.
@JanHolland3000-w2d
@JanHolland3000-w2d 3 ай бұрын
Thx Kris. Very interesting. Had never heard of this before. G, I m not even a developer. Like the thinking though and the name is of course hilarious. Anyway, thx!
@AdrianBoyko
@AdrianBoyko 3 ай бұрын
Is it bad to think of this as a virtual machine with an AST interface? What’s the difference between creating a language for the JVM vs EYG vs LLVM?
@rylaczero3740
@rylaczero3740 3 ай бұрын
As far as I understand JVM and LLVM, they work with instructions, instead of data structures like in the case of EYG.
@ruprecht9997
@ruprecht9997 3 ай бұрын
Interesting video. This guy is obviously smart, but I can not quite determine if the EYG language makes much sense, or if it even qualifies as a language. Possibly my understanding is far off, but here goes. As I see it, supplying a program on AST format, if we are talking about code as text, this means you have already parsed it according to some grammar. But the EYG runtime knows nothing of semantics, so you need to supply "outside world" functionality, to actually do stuff. Is this what effects are? In order for EYG to contribute to creating a new language, it must know of a few primitives, like setting and getting values from local variables, looping, conditionals and function calls. This means it handles stack and heap. But with no assumptions about types, or file systems, or networking, there must be a myriad of functionality that EYG can know nothing of, like even how to add numbers, or string operations, date handling, regular expressions or bit operations, and so on. I see that type checking is mentioned, which means there is some generalized way of expressing complex types even insofar as not making assumptions of representation in memory. Is it correct to say that EYG is not so much a language, as a pluggable runtime for an actual language, and that its input is not source code plus grammar, but the parsed text (AST), as well as a type system? Row types sound like structs, and effects being identified via row types sounds like method signatures. -- In my opinion, writing recursive descent parsers is really quite simple, when one learns to limit recursion. The interesting part is language design. 🙂
@randomgamevideos241
@randomgamevideos241 Ай бұрын
nim ?
@handlers9
@handlers9 22 күн бұрын
It would be painful to do git merge with such json files
@nevokrien95
@nevokrien95 3 ай бұрын
I now want tk write a proper x86_64 compiler for this thing. But I don't want to write it in gleam...
@stretch8390
@stretch8390 3 ай бұрын
welp, time for my daily productivity to be railroaded.
@anwiseru9064
@anwiseru9064 3 ай бұрын
i like how the intro and outro music was a tad louder in this video, more exciting
@pookiepats
@pookiepats 3 ай бұрын
The JVM is a burden
Someone improved my code by 40,832,277,770%
28:47
Stand-up Maths
Рет қаралды 2,6 МЛН
What is generative AI and how does it work? - The Turing Lectures with Mirella Lapata
46:02
Trick-or-Treating in a Rush. Part 2
00:37
Daniel LaBelle
Рет қаралды 45 МЛН
Ice Cream or Surprise Trip Around the World?
00:31
Hungry FAM
Рет қаралды 14 МЛН
MicroServices For Better And Worse (with Ian Cooper and James Lewis)
47:10
Is Odin "Programming done right"? (with Bill Hall)
1:00:05
Developer Voices
Рет қаралды 56 М.
Will we be writing Hare in 2099? (with Drew DeVault)
54:39
Developer Voices
Рет қаралды 17 М.
Linus Torvalds: Speaks on Hype and the Future of AI
9:02
SavvyNik
Рет қаралды 260 М.
Real Programmers Write Machine Code
26:25
ThePrimeTime
Рет қаралды 115 М.
DIY Programming Language #1: The Shunting Yard Algorithm
37:10
Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)
1:24:39
What's Zig got that C, Rust and Go don't have? (with Loris Cro)
1:23:53
Developer Voices
Рет қаралды 185 М.