We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
Bitwise»Episode Guide
Types Revisited
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:09Recap and set the stage for the day, with a few words on homework assigning
🗩
0:09Recap and set the stage for the day, with a few words on homework assigning
🗩
0:09Recap and set the stage for the day, with a few words on homework assigning
🗩
2:34Review the off-stream work on #line directive generation in terms of forward-declarations, and general cleanliness
📖
2:34Review the off-stream work on #line directive generation in terms of forward-declarations, and general cleanliness
📖
2:34Review the off-stream work on #line directive generation in terms of forward-declarations, and general cleanliness
📖
8:07Review the fix in the C code generation of Ion's implicitly sized arrays
📖
8:07Review the fix in the C code generation of Ion's implicitly sized arrays
📖
8:07Review the fix in the C code generation of Ion's implicitly sized arrays
📖
10:08Review the introduction of Ion's switch case comma-notation
📖
10:08Review the introduction of Ion's switch case comma-notation
📖
10:08Review the introduction of Ion's switch case comma-notation
📖
10:51Review Ion's compound initialising with casting
📖
10:51Review Ion's compound initialising with casting
📖
10:51Review Ion's compound initialising with casting
📖
13:24Demo 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
🏃
13:24Demo 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
🏃
13:24Demo 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
🏃
18:48Demo profiling Ion code
🏃
18:48Demo profiling Ion code
🏃
18:48Demo profiling Ion code
🏃
22:07Q&A
🗩
22:07Q&A
🗩
22:07Q&A
🗩
22:52synchronizerman Then what does [#line] actually do?
🗪
22:52synchronizerman Then what does [#line] actually do?
🗪
22:52synchronizerman Then what does [#line] actually do?
🗪
26:08captainkraft 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?
🗪
26:08captainkraft 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?
🗪
26:08captainkraft 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?
🗪
29:04Set up to fill in the rest of the type system
🗩
29:04Set up to fill in the rest of the type system
🗩
29:04Set up to fill in the rest of the type system
🗩
31:44Point out where to find the C11 standard1
📖
31:44Point out where to find the C11 standard1
📖
31:44Point out where to find the C11 standard1
📖
32:53A few words on learning C via DikuMUD2 and K&R3
🗩
32:53A few words on learning C via DikuMUD2 and K&R3
🗩
32:53A few words on learning C via DikuMUD2 and K&R3
🗩
35:28Integer promotions4
🗩
35:28Integer promotions4
🗩
35:28Integer promotions4
🗩
1:00:42Usual arithmetic conversions5
🗩
1:00:42Usual arithmetic conversions5
🗩
1:00:42Usual arithmetic conversions5
🗩
1:11:38Seek advice on triggering the final operand promotion case under 6.3.1.8 Usual arithmetic conversions6
🗩
1:11:38Seek advice on triggering the final operand promotion case under 6.3.1.8 Usual arithmetic conversions6
🗩
1:11:38Seek advice on triggering the final operand promotion case under 6.3.1.8 Usual arithmetic conversions6
🗩
1:13:01Augment our TypeKind struct with all, except long double, of C's builtin types
1:13:01Augment our TypeKind struct with all, except long double, of C's builtin types
1:13:01Augment our TypeKind struct with all, except long double, of C's builtin types
1:16:38Introduce promote_operand(), Val union and operand_const(), and enable the resolver to handle our new type representation
1:16:38Introduce promote_operand(), Val union and operand_const(), and enable the resolver to handle our new type representation
1:16:38Introduce promote_operand(), Val union and operand_const(), and enable the resolver to handle our new type representation
1:26:57thebuzzsaw Is there a public repo for what he's working on?7
🗪
1:26:57thebuzzsaw Is there a public repo for what he's working on?7
🗪
1:26:57thebuzzsaw Is there a public repo for what he's working on?7
🗪
1:27:12Continue to enable the resolver to handle our new type representation, and to perform operand promotion
1:27:12Continue to enable the resolver to handle our new type representation, and to perform operand promotion
1:27:12Continue to enable the resolver to handle our new type representation, and to perform operand promotion
1:38:31Run it and hit an assert somewhere
🏃
1:38:31Run it and hit an assert somewhere
🏃
1:38:31Run it and hit an assert somewhere
🏃
1:39:02Make resolve_typespec call fatal_error() emitting the line position in the TYPESPEC_ARRAY case
1:39:02Make resolve_typespec call fatal_error() emitting the line position in the TYPESPEC_ARRAY case
1:39:02Make resolve_typespec call fatal_error() emitting the line position in the TYPESPEC_ARRAY case
1:39:45Run it to see that the assert fires on line 1
🏃
1:39:45Run it to see that the assert fires on line 1
🏃
1:39:45Run it to see that the assert fires on line 1
🏃
1:39:59Temporarily change sizeof to use type int
1:39:59Temporarily change sizeof to use type int
1:39:59Temporarily change sizeof to use type int
1:40:13Run it to find that it actually works
🏃
1:40:13Run it to find that it actually works
🏃
1:40:13Run it to find that it actually works
🏃
1:40:30Q&A
🗩
1:40:30Q&A
🗩
1:40:30Q&A
🗩
1:40:48ws_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?8,9
🗪
1:40:48ws_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?8,9
🗪
1:40:48ws_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?8,9
🗪
1:44:30sergej_reich pervognsen At least on 64-bit Linux: sizeof(long) == 8. I think that's true for most other Unix-like systems
🗪
1:44:30sergej_reich pervognsen At least on 64-bit Linux: sizeof(long) == 8. I think that's true for most other Unix-like systems
🗪
1:44:30sergej_reich pervognsen At least on 64-bit Linux: sizeof(long) == 8. I think that's true for most other Unix-like systems
🗪
1:45:54dahlajn Is the plan to port over the compiler itself to Ion once it can bootstrap itself?
🗪
1:45:54dahlajn Is the plan to port over the compiler itself to Ion once it can bootstrap itself?
🗪
1:45:54dahlajn Is the plan to port over the compiler itself to Ion once it can bootstrap itself?
🗪
1:47:17jprzemieniecki pervognsen What is the reason to have the long type in Ion anyway?
🗪
1:47:17jprzemieniecki pervognsen What is the reason to have the long type in Ion anyway?
🗪
1:47:17jprzemieniecki pervognsen What is the reason to have the long type in Ion anyway?
🗪
1:48:56Stop recording
🗩
1:48:56Stop recording
🗩
1:48:56Stop recording
🗩