3 ms·
Toit [video, DK]
- self 8y agoNote: The slides are in English, but the talk is in Danish. Click through to get to the video, then register to download the slides in PDF. Toit is Lars Bak and Kasper Lund's brand new programming language and software platform for small IoT devices. There's very little else I can find about it online; it was publicly unveiled in this session: https://di.ku.dk/english/event-calendar-2018/dsfd-talk-lars-bak/ https://di.ku.dk/english/event-calendar-2018/dsfd-talk-lars-... I can't find an online recording of that, if there is one. Other links I've found: * toit like a tiger: https://www.toitware.com/ https://www.toitware.com/ (check out that font!) * news article: original danish: https://www.version2.dk/artikel/aarhus-eksperter-chromes-javascript-motor-skaber-iot-sprog-virtuel-maskine-1085544 https://www.version2.dk/artikel/aarhus-eksperter-chromes-jav... * translated to english: https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fwww.version2.dk%2Fartikel%2Faarhus-eksperter-chromes-javascript-motor-skaber-iot-sprog-virtuel-maskine-1085544&edit-text=&act=url https://translate.google.com/translate?sl=auto&tl=en&js=y&pr... * github organization: https://github.com/toitware https://github.com/toitware (no repos or public accounts) * twitter account: https://twitter.com/toitware https://twitter.com/toitware (no tweets) Toit's features: * object-oriented * indentation-based syntax * looks a bit like self/smalltalk (not surprising) * virtual machine and compiler written in C++ * lightweight processes/tasks, not async * will use raft * IoT target platform right now: ESP32: http://www.m5stack.com/ http://www.m5stack.com/ * garbage-collected * project started in February 2018 * will open source the vm, language, core library Example, seen in the news article and in the slides: class TreeNode: left := null right := null TreeNode TreeNode left right size result := 1 if left: result += left.size if right: result += right.size ^result build_tree depth if depth == 0: ^TreeNode ^TreeNode build_tree depth - 1 build_tree depth - 1 main tree := build_tree 5 assert tree.size == 63 TreeNode and TreeNode left right appear to be constructors. i know what you're thinking: "nulls?! in a language in 2018?!"