News for hackers. Stuff that matters.
Re:Swift is a more convenient Rust by astrobe_ on Friday September 06, 2024 @07:35AM (#41465169)
More than features, JS derives from Lisp because its author was a Scheme implementor. Otherwise function pointers are trivially done even in assembly language, and Smalltalk does have closures.

Or maybe you think of the fact that JS uses prototype-based OOP, which makes it closer to what one would do with Scheme (something inspired from CLOS I guess) than Smalltalk ?

Re:Swift is a more convenient Rust by pjmlp on Saturday September 07, 2024 @05:08AM (#41472621)
Prototype-based OOP came first in SELF, a Smalltalk dialect.

CLOS is an evolution from Flavors and similar Lisp packages, and outside Lisp, Julia would be the closest to it, in modern times, not counting Dylan.

Re:Swift is a more convenient Rust by lispm on Saturday September 07, 2024 @08:18AM (#41473498)
> Prototype-based OOP came first in SELF

Isn't prototype-based OOP roughly a decade older? -> for example "Director" from Ken Kahn is from 1976.

Re:Swift is a more convenient Rust by pjmlp on Sunday September 08, 2024 @02:57AM (#41478688)
Maybe, I never heard of "Director", its documentation seems hard to come by in digital world.

Although Wikipedia also points out that, https://en.wikipedia.org/wiki/Prototype-based_programming

Actually your remark has made me dive into alternative prototype based languages.

Re:Swift is a more convenient Rust by lispm on Sunday September 08, 2024 @05:39AM (#41479293)
Check the resume of Ken Kahn: http://toontalk.com/resume.pdf

Director Guide: https://dspace.mit.edu/bitstream/handle/1721.1/6302/AIM-482b...

Creation of Computer Animation from Story Descriptions: https://dspace.mit.edu/bitstream/handle/1721.1/16012/0720063...

The other mentioned tool was Thinglab, by Alan Borning

https://www.ijcai.org/Proceedings/77-1/Papers/085.pdf

"The Smalltalk notion of an object has been modified and extended in a number of ways. In ThingLab, objects are constructed interactively by editing and making descendants of prototypes. An abstraction hierarchy is used that allows arbitrarily many levels of both parents and descendants, with the problem of objects with several parents being handled by the technique of merging. There is no distinction between classes and instances."

"The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory" https://dl.acm.org/doi/pdf/10.1145/357146.357147

"CLASSES VERSUS PROTOTYPES IN OBJECT-ORIENTED LANGUAGES" https://dl.acm.org/doi/pdf/10.5555/324493.324538

Available in the Browser, running in Smalltalk: https://constraints.cs.washington.edu/thinglab/

Re:Swift is a more convenient Rust by pjmlp on Sunday September 08, 2024 @06:09AM (#41479441)
Thanks for the overview.