Basically Emulating Linux with Python at this point... (Porth Ep.14)

preview_player
Показать описание

References:

Support:

Feel free to use this video to make highlights and upload them to YouTube (also please put the link to this channel in the description)
Рекомендации по теме
Комментарии
Автор

Thanks for linking to my old blog post about Wasm type checking!

Just FYI, that was written before we added "multi-value" to WebAssembly, which allows return multiple values from functions, as well as returning multiple values from blocks, and providing parameters to blocks/loops too. This somewhat complicates the type-checking as described in that document, e.g.
```
i32.const 25
block (param i32) (result i32 i32)
i32.const 26
i32.add
i32.const 27
end
```
This is valid, because the block is specified as taking one parameter and producing two results.

It's also worth mentioning that WebAssembly doesn't have many of the traditional stack instructions you'd expect from a stack language (e.g. dup, over, rot, etc.) These also complicate type-checking if you ever support a polymorphic stack, since a value can be consumed more than once, its type must be consistent: e.g. `unreachable dup i32.add` is valid because `dup` has a stack type signature `T -> T T`. But also `unreachable over i32.add` is valid because `over` has a stack type signature `T1 T2 -> T1 T2 T1`, which will unify `T1` and `T2`.

bensmith
Автор

49:18 You had me for a second, I didn't immediately pick up on the sarcasm...

fatherdingo
Автор

Next step : write a kernel using porth for emulating linux

cyp_
Автор

Next stream: Rewriting emacs in porth and compiling it with python LUL

adrianpolv
Автор

20:01
Oh no ... since the last time his powers only got stronger, we gotta keep up or we'll lose!
There's still hope!

monsieuralexandergulbu
Автор

Here are some cool x86 instructions: lea (load effective address) - does the same as mov (add 2 registers, multiply 1 by 1, 2, 4, 8 and add a constant) but instead of dereferencing, it loads the number directly almost like addrof, but whats more awesome is that you can use this address mode almost anywhere like push [2*rax+rsp-8].

wChris_
Автор

Everyone else: threats in violence
Tsoding: threats in semicolon

TomStorey
Автор

He deadass put semicolons in python code, what a savage🔥🔥🔥

weathercontrol
Автор

Glad to hear you don't regret using Python. I too have never commited to using it on a project and considered just deleting the entire thing and starting over several times a day....

mezzer
Автор

46:23 tsoding: I made an oopsie doopsie somewhere

*dereferences pointer*

aanginer
Автор

I love how whenever a number is needed as an example it's always 69... peak comedy amirite

KingJellyfishII
Автор

hi i was just wondering. i dont know why but i cant send messages in any of the channels in your discord server

idkfwayfuiwa
Автор

linux is bloat code new kernel in porth

benikegaming
Автор

Even after working on computers for 27 years now I still need to look at the keyboard to type some special characters... the people who dont are really top noch nerds.. (envy) ;)

Stinktierchen
Автор

Почему этот комментарий закреплён?
И почему он на русском?

monsieuralexandergulbu