{"id":21169451,"url":"https://github.com/smarr/jssom","last_synced_at":"2025-07-09T19:31:26.784Z","repository":{"id":21641874,"uuid":"24962537","full_name":"smarr/JsSOM","owner":"smarr","description":"JsSOM - The SOM (Simple Object Machine) Smalltalk implemented in JavaScript","archived":false,"fork":false,"pushed_at":"2024-06-16T16:36:34.000Z","size":427,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-16T16:59:23.257Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smarr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-10-08T21:47:48.000Z","updated_at":"2021-10-13T21:13:29.000Z","dependencies_parsed_at":"2024-06-16T16:25:22.823Z","dependency_job_id":"427c0ac2-3c8c-4788-91ac-46c654e6efc0","html_url":"https://github.com/smarr/JsSOM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarr%2FJsSOM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarr%2FJsSOM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarr%2FJsSOM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarr%2FJsSOM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smarr","download_url":"https://codeload.github.com/smarr/JsSOM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225581486,"owners_count":17491729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T15:30:17.179Z","updated_at":"2024-11-20T15:31:09.594Z","avatar_url":"https://github.com/smarr.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"JsSOM - The SOM (Simple Object Machine) Smalltalk implemented in JavaScript\n===========================================================================\n\nIntroduction\n------------\n\n[SOM][SOM-st] is a minimal Smalltalk dialect used to teach VM construction. It\nwas originally built at the University of Århus (Denmark) where it was used for\nteaching and as the foundation for [Resilient Smalltalk][RS]. Later is was also\nused for instance at the [Hasso Plattner Institute (Potsdam, Germany)][SOM].\n\nIn addition to JsSOM, [other implementations][github] exist for Java (SOM,\nTruffleSOM), C (CSOM), C++ (SOM++), Python (PySOM), RPython (RPySOM,\nRTruffleSOM) and Squeak/Pharo Smalltalk (AweSOM).\n\nA simple Hello World looks like:\n\n```Smalltalk\nHello = (\n  run = (\n    'Hello World!' println.\n  )\n)\n```\n\nThis repository contains a JavaScript-based implementation of SOM, including\nSOM's standard library and a number of examples. JsSOM is a simple abstract\nsyntax tree interpreter. It isn't optimized or tuned for performance. However,\nsome aspects were easier to implement by doing node-replacement in a\nself-optimizing interpreter style.\n\nTo clone the repository, please use the `--recursive` option to load all\nsubmodules:\n\n    $ git clone --recursive https://github.com/SOM-st/JsSOM.git\n\nJsSOM's tests can be executed with:\n\n    $ make  # note, it will download the Google Closure compiler\n    $ ./som.sh -cp Smalltalk TestSuite/TestHarness.som\n\nA simple Hello World program is executed with:\n\n    $ ./som.sh -cp Smalltalk Examples/Hello.som\n\nThis code is distributed under the MIT License. Please see the LICENSE file for\ndetails. To build JsSOM, you'll further need PyYAML.\n\nBuild Status\n------------\n\nThanks to Travis CI, all commits of this repository are tested.\nThe current build status is: [![Build Status](https://travis-ci.org/SOM-st/JsSOM.png?branch=master)](https://travis-ci.org/SOM-st/JsSOM)\n\n [SOM-st]: http://som-st.github.io\n [github]: http://github.com/SOM-st/\n [SOM]:    http://www.hpi.uni-potsdam.de/hirschfeld/projects/som/\n [RS]:     http://dx.doi.org/10.1016/j.cl.2005.02.003\n [big-int]:https://www.npmjs.org/package/big-integer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmarr%2Fjssom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmarr%2Fjssom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmarr%2Fjssom/lists"}