diff --git a/pervognsen/bitwise/bitwise/bitwise001.hmml b/pervognsen/bitwise/bitwise/bitwise001.hmml index 7264761..40c9c1e 100644 --- a/pervognsen/bitwise/bitwise/bitwise001.hmml +++ b/pervognsen/bitwise/bitwise/bitwise001.hmml @@ -1,2 +1,75 @@ -[video member=pervognsen stream_platform=twitch project=bitwise title="Introducing Ion" vod_platform=youtube id=T6TyvsKo_KI annotator=] -[/video] \ No newline at end of file +[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]