Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a22d764bbdff4af4

Jump to content

Smalltalk MT

From Wikipedia, the free encyclopedia

Smalltalk MT is an implementation of the Smalltalk programming language created in 1994 by Tarik Kerroum to deal with some of the shortcomings of Smalltalk-80 style of implementations. Smalltalk MT adopts a different approach in that the Smalltalk source is compiled to machine code before being executed.

This allows the developer the freedom of working with compiled code without the need for the traditional compile-link-run cycle. This is like a specialized form of incremental or dynamic compilation.

Smalltalk MT directly interfaces to DLLs in exactly the same manner as C which allows DLL calls to be tested directly in a Workspace, which allows a scripting style of approach to accessing any DLL based code.

For example, one could write in a Workspace the following (single line or multiline, breaking on the '.' character) to reverse the string 'abc':

a := 'abc'. WINAPI _strrev: a. a inspect.

For 64-bit Windows,[1] try:

a:= 'abc'.
WINAPI _wcsrev: a.
a inspect.

The WINAPI call directly calls the DLL function _strrev natively passing parameters from the Smalltalk environment to the C environment and back.

Smalltalk MT has a close integration with COM objects and fully compiled COM components can be created that operate in exactly the same way as C/C++ COM objects.

In 1998 David Anderson teamed up with Tarik Kerroum to advance Smalltalk MT into the high performance and graphics areas.

References

[edit]
  1. "_strrev, _wcsrev, _mbsrev, _mbsrev_l". 2 December 2022.
[edit]