ImportC
?
?
W, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Keyboard Navigation
Global Keys
[, < / ], > Jump to previous / next episodeW, K, P / S, J, N Jump to previous / next timestamp
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 CreditsIn-Menu and Index Controls
a
w
s
s
d
h
j
k
l
←
↑
↓
↓
→
Esc Close menu / unfocus timestamp
Quotes and References Menus and Index
Enter Jump to timestampQuotes, References and Credits Menus
o Open URL (in new tab)Filter Menu
x, Space Toggle category and focus nextX, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Filter and Link Menus
z Toggle filter / linking modeCredits Menu
Enter Open URL (in new tab)⏫
Previous: 'WhiteBox'
⏫
0:02 : Introduce Walter
0:02 : Introduce Walter
0:02 : Introduce Walter
0:45 : Thank you to Abner
0:45 : Thank you to Abner
0:45 : Thank you to Abner
1:09 : Who's here from out of town?
1:09 : Who's here from out of town?
1:09 : Who's here from out of town?
1:40 : Background writing a C and then C++ compiler, and inventing D
1:40 : Background writing a C and then C++ compiler, and inventing D
1:40 : Background writing a C and then C++ compiler, and inventing D
2:26 : D is designed to be easy to interface to C
2:26 : D is designed to be easy to interface to C
2:26 : D is designed to be easy to interface to C
3:19 : To Make C Code Accessible From D
3:19 : To Make C Code Accessible From D
3:19 : To Make C Code Accessible From D
4:13 : How Wrong Can We Be
4:13 : How Wrong Can We Be
4:13 : How Wrong Can We Be
5:26 : How Wrong Can We Be, Continued…
5:26 : How Wrong Can We Be, Continued…
5:26 : How Wrong Can We Be, Continued…
6:52 : Solutions
6:52 : Solutions
6:52 : Solutions
7:32 : Experience shows it just isn't good enough and is a significant barrier
7:32 : Experience shows it just isn't good enough and is a significant barrier
7:32 : Experience shows it just isn't good enough and is a significant barrier
7:52 : Enter the .h to .d Translator
7:52 : Enter the .h to .d Translator
7:52 : Enter the .h to .d Translator
8:10 : Much improves the situation, but
8:10 : Much improves the situation, but
8:10 : Much improves the situation, but
9:00 : The simplest way for D to get all declarations from, say, stdio.h
9:00 : The simplest way for D to get all declarations from, say, stdio.h
9:00 : The simplest way for D to get all declarations from, say, stdio.h
9:18 : import stdio;
9:18 : import stdio;
9:18 : import stdio;
9:42 : It must just work
9:42 : It must just work
9:42 : It must just work
10:21 : Incorporate a C compiler into the D compiler
10:21 : Incorporate a C compiler into the D compiler
10:21 : Incorporate a C compiler into the D compiler
11:01 : ImportC
11:01 : ImportC
11:01 : ImportC
11:47 : First Gigantic Problem: Preprocessor
11:47 : First Gigantic Problem: Preprocessor
11:47 : First Gigantic Problem: Preprocessor
13:04 : Abandon the Preprocessor!
13:04 : Abandon the Preprocessor!
13:04 : Abandon the Preprocessor!
14:50 : Opinion of the preprocessor
14:50 : Opinion of the preprocessor
14:50 : Opinion of the preprocessor
15:48 : Next Problems: Need a C
15:48 : Next Problems: Need a C
15:48 : Next Problems: Need a C
17:37 : Layout of the D compiler
17:37 : Layout of the D compiler
17:37 : Layout of the D compiler
17:46 : With ImportC
17:46 : With ImportC
17:46 : With ImportC
18:04 : Have to tweak the lexer and semantic analysis
18:04 : Have to tweak the lexer and semantic analysis
18:04 : Have to tweak the lexer and semantic analysis
18:26 : Ground Rules
18:26 : Ground Rules
18:26 : Ground Rules
20:34 : Lexing differences
20:34 : Lexing differences
20:34 : Lexing differences
20:51 : C parsing is just not that complicated
20:51 : C parsing is just not that complicated
20:51 : C parsing is just not that complicated
21:44 : Ambiguous Syntax
21:44 : Ambiguous Syntax
21:44 : Ambiguous Syntax
22:35 : One Big Simplification: C doesn't have modules
22:35 : One Big Simplification: C doesn't have modules
22:35 : One Big Simplification: C doesn't have modules
23:05 : Some constructs do not exist in D
23:05 : Some constructs do not exist in D
23:05 : Some constructs do not exist in D
23:41 : Bit Fields
23:41 : Bit Fields
23:41 : Bit Fields
24:48 : Old-Style Function Declarations
24:48 : Old-Style Function Declarations
24:48 : Old-Style Function Declarations
25:05 : Very Different Static Initializers
25:05 : Very Different Static Initializers
25:05 : Very Different Static Initializers
25:49 : #pragma pack
25:49 : #pragma pack
25:49 : #pragma pack
27:13 : Tag Name Space
27:13 : Tag Name Space
27:13 : Tag Name Space
28:59 : Advantages (Enhancements?): Forward references and compile-time execution
28:59 : Advantages (Enhancements?): Forward references and compile-time execution
28:59 : Advantages (Enhancements?): Forward references and compile-time execution
31:07 : Problems: No C test suite, and const is transitive in D
31:07 : Problems: No C test suite, and const is transitive in D
31:07 : Problems: No C test suite, and const is transitive in D
33:46 : Additional Uses
33:46 : Additional Uses
33:46 : Additional Uses
37:00 : Conclusion
37:00 : Conclusion
37:00 : Conclusion
37:56 : References1
37:56 : References1
37:56 : References1
⏬
Next: 'ImportC - Q&A'
⏬