Zoe is an AI assistant that can automate tasks like banking, reminders, publishing web pages, and finding subtitles. It communicates through email, instant messaging, Twitter, and broadcasting messages. The document provides examples of commands to send messages through different channels, and references documentation on how to interact with Zoe through a scripting interface or natural language.
Zoe is an AI assistant that can automate tasks like banking, reminders, publishing web pages, and finding subtitles. It communicates through email, instant messaging, Twitter, and broadcasting messages. The document provides examples of commands to send messages through different channels, and references documentation on how to interact with Zoe through a scripting interface or natural language.
A bird's eye view on some programming languages, focusing on concepts like typing, execution model or style. Presented on T3chFest 2016 in Leganés, Madrid, Spain.
GUL UC3M - Introduction to functional programmingDavid Muñoz Díaz
Functional programming models computations as expressions rather than instructions. It emphasizes immutable data and functions, and avoids mutable state. Some key aspects of functional programming include: treating functions as first-class values, recursion instead of loops, lazy evaluation, and immutable data structures. While any language can support aspects of functional programming, some languages are better optimized for the functional style.
The document describes the design and implementation of a simple virtual machine. It discusses representing code as an AST and traversing it using a stack-based virtual machine. Key points include:
- Frames are used to represent the call stack, containing local variables and the current instruction pointer.
- The AST is traversed recursively, with nodes pushing and popping values on the frame stack.
- Basic operations like addition are implemented as callable objects that manipulate the frame.
- The AST can then be compiled to bytecode with instructions like PUSHINT and CALL to run on the virtual machine.
- Finally, the document proposes generating native code instead of bytecode to remove the overhead of interpretation.
A bird's eye view on some programming languages, focusing on concepts like typing, execution model or style. Presented on T3chFest 2016 in Leganés, Madrid, Spain.
GUL UC3M - Introduction to functional programmingDavid Muñoz Díaz
Functional programming models computations as expressions rather than instructions. It emphasizes immutable data and functions, and avoids mutable state. Some key aspects of functional programming include: treating functions as first-class values, recursion instead of loops, lazy evaluation, and immutable data structures. While any language can support aspects of functional programming, some languages are better optimized for the functional style.
The document describes the design and implementation of a simple virtual machine. It discusses representing code as an AST and traversing it using a stack-based virtual machine. Key points include:
- Frames are used to represent the call stack, containing local variables and the current instruction pointer.
- The AST is traversed recursively, with nodes pushing and popping values on the frame stack.
- Basic operations like addition are implemented as callable objects that manipulate the frame.
- The AST can then be compiled to bytecode with instructions like PUSHINT and CALL to run on the virtual machine.
- Finally, the document proposes generating native code instead of bytecode to remove the overhead of interpretation.