updated onyx presentation
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 19 Feb 2021 03:32:39 +0000 (21:32 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 19 Feb 2021 03:32:39 +0000 (21:32 -0600)
onyx.prez

index 5b38c68e2df51f2310058c3a7c568b3e9bb0b54b..8af1ebf0098a28acd7c60960f31dac8e851fe7b2 100644 (file)
--- a/onyx.prez
+++ b/onyx.prez
@@ -8,13 +8,15 @@
 [define_text_style header color   $tbright $tbright $tbright font_attr bold font_size 72 font_name "Arial" left padding 10]
 
 [define_text_style hyperlink color 100 100 255 font_attr italic font_size 40 font_name "Arial" left padding 10]
+[define_text_style code color $tbright $tbright $tbright font_size 40 font_name "monospace" left padding 20]
 
 [load_image wasm_logo "https://webassembly.org/css/webassembly.svg"]
 
 # ---------------------------------------------
 [slide] [background $bbright $bbright $bbright]
 
-[rect color 0 0 0 x 0 w 100 y 40 h 20] 
+[rect color 40 40 40 x 0 w 100 y 35 h 30]
+[rect color 0   0  0 x 0 w 100 y 40 h 20] 
 
 [text_style title font_size 96]
 [y 50] Onyx
@@ -28,7 +30,7 @@
 # Introduce what Onyx is, the design goals, the improvements over C, etc.
 
 [slide]
-[rect color 40 40 40 x 8 w 84  y 0 h 100]
+[rect color 40 40 40 x 8 w 84  y 5 h 95]
 [rect color 0  0  0  x 0 w 100 y 5 h 10]
 [text_style header]
 [y 12] What is Onyx?
@@ -38,7 +40,7 @@
 
 [y 34] Some important design features:
 [text_style inherit padding 15]
-▪ No dependence on other langauges
+▪ No dependence on other languages
 ▪ Fast compilation
 ▪ Easy to write
 ▪ Easy to read
 # BRIEFLY introduce WASM and its capabilities
 
 [slide]
-[rect color 40 40 40 x 8 w 84  y 0 h 100]
+[rect color 40 40 40 x 8 w 84  y 5 h 95]
 [rect color 0  0  0  x 0 w 100 y 5 h 10]
 [text_style header]
-[y 12] Brief aside: WebAssembly
+[y 12] Brief aside of WebAssembly
 
 [text_style normal]
-[y 20] WebAssembly (WASM for short) is a new execution platform for the web.
+[y 20] WebAssembly (WASM) is a new execution platform for the web.
 
 [y 30] It defines:
 [text_style inherit padding 15]
 ▪ Arbitrary imports
 ▪ Safe indirect function calls
 
+[text_style normal]
+[y 60] Multiple environments:
+[text_style inherit padding 15]
+▪ Web browsers
+▪ WebAssembly Systems Interface (WASI)
+
 [text_style normal centered]
-[y 75] For more information, you can check out,
+[y 80] For more information, you can check out,
 [text_style hyperlink centered]
 https://webassembly.org/
 
@@ -75,12 +83,46 @@ https://webassembly.org/
 # High-level language features and design that make it super cozy to program in.
 
 [slide]
-[rect color 40 40 40 x 8 w 84  y 0 h 100]
+[rect color 40 40 40 x 8 w 84  y 5 h 95]
 [rect color 0  0  0  x 0 w 100 y 5 h 10]
 [text_style header]
-[y 12] Design of Onyx
+[y 12] High-Level Design of Onyx
+
+[text_style normal font_attr italic font_size 44]
+[y 30] Declare anywhere
+[text_style normal padding 15]
+▪ Declaration order of global symbols does not affect compilation.
+▪ Removes clunky function prototypes in C.
+
+[text_style normal font_attr italic font_size 44]
+[y 50] Polymorphic procedures and structures
+[text_style normal padding 15]
+▪ Making procedures polymorphic is as easy as possible.
+▪ Polymorphic procedures are not 'special'.
 
 [text_style normal font_attr italic font_size 44]
-[y 20] Declare anywhere.
-Polymorphic procedures and structures.
-Package system.
+[y 70] Package system
+[text_style normal padding 15]
+▪ Prevent cluttering of global scope.
+▪ Easily access symbols in a package.
+
+# ---------------------------------------------
+# Hello, World!
+
+[slide]
+[rect color 40 40 40 x 8 w 84  y 5 h 95]
+[rect color 0  0  0  x 0 w 100 y 5 h 10]
+[text_style header]
+[y 12] Obligatory 'Hello, World!' in Onyx
+
+[rect color 10 10 10 x 15 y 34 w 70 h 40]
+
+[text_style code]
+[y 40]
+ 1  #load "core/std"
+ 2
+ 3  use package core
+ 4
+ 5  main :: (args: [] cstr) {
+ 6      println("Hello, World!");
+ 7  }