Promise-based Alert, Confirm and Prompt replacement
This is a code bundle for Smalltalk Interface Design. The original project is available at https://www.figma.com/design/Ehd2uJlwqr3GqyUqcKmN5N/Smalltalk-Interface-Design.
Smalltalk interpreter
Helios IDE for Amber Smalltalk
An implementation of the Smalltalk language that runs on top of the JS runtime.
Amber Smalltalk wrapper around jQuery
A Smalltalk VM that runs on top of JavaScript
Development goodies for Amber Smalltalk
Smalltalk-inspired message passing for the DOM
Smalltalk tutorial "Prof Stef" for Amber
Lite mite wrapping basic DOM for Amber Smalltalk
An implementation of the Smalltalk language that runs on top of the JS runtime.
Stream-based, mochikit-inspired framework for creating and manipulating contents of a page. For Amber Smalltalk.
A simple Smalltalk to js translator.
Amber Smalltalk and Angular JS
experimental lisp which supports both s-expressions and smalltalk esque syntax
An implementation of the Smalltalk language that runs on top of the JS runtime.
a smalltalk esque class browser for coffeescript
Smalltalk language support for CodeMirror
An experimental language inspired by Smalltalk, Lua, and JavaScript.
Virtual Machine for Squeak Smalltalk and derivatives
Lite mite wrapping basic DOM for Amber Smalltalk
Smalltalk VM implemented in Javascript, for browser and Node.js
Ethereum smart contract programming language, inspired by Smalltalk
Utilities for speeding up development of simple networked applications
Tiny Smalltalk to Z80 compiler for RetroShield hardware
High-performance incremental Smalltalk parser for the oak ecosystem with flexible configuration.
Smalltalk language frontend for Rosetta transpiler
Low-level dynamic GemStone/S GCI loader and raw ABI bindings.
Safe Rust client API for GemStone/S over GCI.
Command line tools for gemstone-rs.
Local-only web explorer for GemStone/S using gemstone-rs.
Derive macros for gemstone-rs BridgeRoot mappings.
Entity-messaging system for composing large programs from small programs
no_std implementation of the guest protocol for flo_scene for smaller wasm guests
Inter-scene and inter-process communication for flo_scene
Trolololo.
A Smalltalk-like Method Finder for Ruby with some extra features
Smalltalk brought to the web
Smalltalk-inspired dependency mechanism.
A ruby gem inspired by a talk from Sandi Metz (https://youtu.be/9lv2lBq6x4A) and Yehuda Katz blogpost (http://yehudakatz.com/2009/10/04/emulating-smalltalks-conditionals-in-ruby/) for better conditions' flow.
The Opal language for simplicity and Smalltalk-like syntax.
Adds conditional methods similar to those in Smalltalk.
Blocktalk is a dynamic, object-oriented programming language somewhat in the tradition of Smalltalk and Ruby.
Poor's man Smalltalk-like environment for Ruby using TK
Smalltalkable is a library to write your ruby code in smalltalkish way.
IfElse is an implementation of the pure object-oriented conditional syntax found in languages of the SmallTalk family, including Self. Those languages distinguish themselves by taking the "everything is an object / everything is a method" approach to a further extreme than Ruby, and getting rid of almost all cases of special syntax other than object definition and method call. Ruby, of course, already works this way for some purposes -- thus most Ruby developers prefer to write [1, 17, 39].each {|x| puts x} rather than for x in [1, 17, 39] puts x end and 3.times {|n| puts n} instead of i = 1 while i <= 3 puts i i += 1 end This module extends that same preference to conditional statements, providing replacements for the Ruby keywords +if+, and +unless+: x = 1 (x >= 0).if {puts 'positive'} (x < 0).unless {puts 'positive'} Note that as with the built-in special forms these methods replace, these methods are available on any Ruby Object, and obey the usual rules of which values are considered "Truthy" and "Falsey". <b>Note that the primary purpose of this gem is to demonstrate that the built-in (special form) versions of conditionals provided with Ruby are mostly syntactic sugar -- as with the +for+ keyword, there is no real need for these to be built into the language. With that said, the gem is fully tested, has no particular performance penalty (beyond the usual cost of method dispatch), and should be fully useable in general purpose code.</b> <b>Note also that while Smalltalk-family languages also provide an equivalent to the Ruby +else+ keyword, this depends on the more general block/lambda capability of those languages, which allow a method to take multiple blocks as arguments. This could be imitated with a syntax like:</b> # NOT A REAL EXAMPLE (x > 42).if then: lambda {|x| :big }, else: lambda {|x| :small} <b>which is true to the SmallTalk original, but feels less Ruby-ish to me, so I didn't implement this -- perhaps in a later version.</b>
Cosell is a minimal implementation of the 'Announcements' observer framework, originally introduced in VisualWorks Smalltalk as a replacement for 'triggerEvent' style of event notification. Instead of triggering events identified by symbols, the events are first class objects. For rationale, please see the original blog posting by Vassili Bykov (refs below). *Lineage* This implementation is loosely based on Lukas Renggli's tweak of Colin Putney's Squeak implementation of Vassili Bykov's Announcements framework for VisualWorks Smalltalk. (Specifically Announcements-lr.13.mcz was used as a reference.) Liberties where taken during the port. In particular, the Announcer class in the Smalltalk version is implemented here as a ruby module which can be mixed into any object. Also, in this implementation any object (or class) can serve as an announcement, so no Announcement class is implemented. The ability to queue announcements in the background is built into cosell. <b>The Name 'Cosell'</b> I chose the name 'Cosell' because a. Howard Cosell is an iconic event announcer b. Googling for 'Ruby Announcements', 'Ruby Event Announcements', etc., produced scads of results about ruby meetups, conferences, and the like. So I went with something a bit cryptic but hopefully a little more searchable. *See* * {Original blog posting describing Announcments by Vassili Bykov}[http://www.cincomsmalltalk.com/userblogs/vbykov/blogView?entry=3310034894] * {More info on the Announcements Framework}[http://wiki.squeak.org/squeak/5734]
No description provided.
No description provided.
No description provided.
No description provided.