cinera_handmade.network/pervognsen/bitwise/bitwise/bitwise001.hmml

76 lines
6.0 KiB
Plaintext

[video member=pervognsen stream_platform=twitch project=bitwise medium=speech title="Introducing Ion" vod_platform=youtube id=T6TyvsKo_KI annotator=Miblo]
[0:02][Recap and set the stage for the day, with a note about the schedule]
[1:48][Determine to begin the project by writing a systems programming :language]
[5:35][Introducing Ion[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[11:54][Non-goals of Ion[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[14:25][Why C?[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[16:21][But why not C?[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[23:22][Resolution[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[33:31][Quality of life[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[36:46][Implementation[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[39:24][Random cool stuff[ref
site=GitHub
page="pervognsen / bitwise / Ion: A C-Like Systems Programming Language"
url=https://github.com/pervognsen/bitwise/blob/master/notes/ion_motivation.md]][:language]
[39:53][Sketch out Ion's enum, struct, var, const and func declarations][:language]
[44:07][A few words on the \:= and *= notation in Ion][:language]
[45:52][Sketch out Ion's constructor-type syntax][:language]
[49:01][Ion's precedence table][:language]
[53:23][Translation units and packaging in Ion][:language]
[58:30][Q&A]
[59:48][Immutable default variable declarations][:authored :language]
[1:00:14][@shdslyr][Is there a reason for using C99 codebase as opposed to a more modern dialect?][:language]
[1:01:02][@cubercaleb][With \:=, you don't know what you are parsing until you see the \:=][:language]
[1:02:01][@oaeui][I wonder if we'll get bitfields][:language]
[1:02:25][@ptz3233][I don't understand how it can be LL(1) and that still work. Wouldn't it add c before multiplying d?][:language]
[1:03:02][@ialwayslosethis][@pervognsen Tuples?][:language]
[1:03:09][@segfaultax][@pervognsen Does the type system support parametric polymorphism?][:language]
[1:03:41][@symbolic_butt][@pervognsen Will you explain what "LL(1)" mean?][:language]
[1:04:01][@dangalf_][@pervognsen Is "var" required in a declaration when specifying the type?][:language]
[1:04:21][@hugoschm][@pervognsen Are you interested in code formatters like go fmt and prettier? Sounds like it would be easy with Ion][:language]
[1:04:50][@captainkraft][@pervognsen Did you talk about why you chose C to build the :language?]
[1:05:15][@faranwath_][@pervognsen Will the compiler itself be a standalone program? That is, will opening a file be handled as an assembly system call? No dependencies at all?][:language]
[1:05:49][@sir_feedalot][@pervognsen How do you plan to handle errors? Special return values like C?][:language]
[1:06:13][@adz465][@pervognsen I'm a recent graduate who is learning a lot in a new embedded job. Will I have trouble trying to keep up and follow the development of this and understand it? Is this aimed towards seasoned professionals?]
[1:06:57][@captainkraft][@pervognsen Would you recommend any particular books for those of us that want to follow along with you and get a bit more on our own between streams?]
[1:07:16][@mr4thdimention][@pervognsen How much do you think you'll have done on the next stream?]
[1:08:19][@vassvik][@pervognsen Will there be multiple return values?][:language]
[1:08:44][@gargltk][@pervognsen What are your thoughts on default values for structure fields?][:language]
[1:09:12][@symbolic_butt][@pervognsen No null type in the :language, right, and what about void?]
[1:09:34][@poopenthusiast420][@pervognsen Is the :language whitespace sensitive? For example, would having two spaces before the pos = {min.x ...} line to align it with the size line below be a warning / error?]
[1:10:29][@panic00][@pervognsen Are you using the go "lexer hack" to automatically insert semicolons or something else?][:language]
[1:11:12][@tbodt_][@pervognsen Will there be goto statements?][:language]
[1:11:33][@badflydog][@pervognsen Varargs?][:language]
[1:13:06][@gargltk][@pervognsen How about 'switch'? Same as C?][:language]
[1:13:30][@garryjohanson][@pervognsen Will heavy math around algorithm complexity be introduced? How math heavily would this be overall?][:language :mathematics]
[1:13:54][@dangalf_][I had just been thinking, spending hours watching [@cmuratori Casey] / @Jon (now [@pervognsen Per]) code, wouldn't I be better off spending those hours writing on my own?]
[1:15:18][@tbodt_][@pervognsen How do I pronounce your name?]
[1:15:34][@0b0000000000000][@pervognsen Will the compiler be able to resolve loops at compile time? (Will it include an interpreter so that anything can run at compile time)][:language]
[1:16:22][@segfaultax][@pervognsen Will it have type inference? If so, how extensively? Only vars (like go)? Parameters?][:language]
[1:16:32][Sketch out type inference in Ion][:language]
[1:20:52][@sir_feedalot][@pervognsen Will modules allow "private" (i.e. non-exported) functions?][:language]
[1:21:50][@cubercaleb][@pervognsen Could the return statement on line 47 be simplified by removing Rect from the compound?]
[1:22:14][Wind it down, with a glimpse into the future]
[/video]