[0:09][Recap and set the stage for the day, with a few words on homework assigning][:speech]
[2:34][Review the off-stream work on #line directive generation in terms of forward-declarations, and general cleanliness][:"code generation" :research]
[8:07][Review the fix in the C :"code generation" of Ion's implicitly sized arrays][:language :research]
[10:08][Review the introduction of Ion's switch case comma-notation][:"code generation" :language :research]
[10:51][Review Ion's compound initialising with casting][:"code generation" :language :research]
[13:24][Demo breaking into and stepping through Ion code and :asm, with a note on the utility of our use of the #line directive thanks to Ion's similarity to C][:language :run]
[18:48][Demo :profiling Ion code][:run]
[22:07][Q&A][:speech]
[22:52][@synchronizerman][Then what does \[#line\] actually do?]
[26:08][@captainkraft][@pervognsen I know that Nim has issues with debugging tools. They also compile down to C. Any idea why they can't take advantage of current tools like Ion does?][:language]
[29:04][Set up to fill in the rest of the type system][:"code generation" :language :parsing :speech]
[31:44][Point out where to find the C11 standard[ref
author=ANSI
title="ISO/IEC 9899:201x: Information technology – Programming languages – C"
[1:13:01][Augment our TypeKind struct with all, except long double, of C's builtin types][:language :parsing]
[1:16:38][Introduce promote_operand(), Val union and operand_const(), and enable the resolver to handle our new type representation][:language :parsing]
[1:26:57][@thebuzzsaw][Is there a public repo for what he's working on?[ref
site=GitHub
page="pervognsen / bitwise"
url=https://github.com/pervognsen/bitwise]]
[1:27:12][Continue to enable the resolver to handle our new type representation, and to perform operand promotion][:language :parsing]
[1:38:31][:Run it and hit an assert somewhere][:language :parsing]
[1:39:02][Make resolve_typespec call fatal_error() emitting the line position in the TYPESPEC_ARRAY case][:"error handling"]
[1:39:45][:Run it to see that the assert fires on line 1][:language :parsing]
[1:39:59][Temporarily change sizeof to use type int][:language]
[1:40:13][:Run it to find that it actually works][:language :parsing]
[1:40:30][Q&A][:speech]
[1:40:48][@ws_ubi][I would like to understand why from :language syntax design not everything is like LISP and then you write macros on top of the language if you want to create a "nicer syntax" but the core is simpler, no?[ref
author="John McCarthy"
title="Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I"