Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
706 commits
Select commit Hold shift + click to select a range
053d3de
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Dec 21, 2023
a98b364
Refactored document loading so only Documents module knows the detail…
gbracha Dec 21, 2023
6aed2ed
TL;DR:
mzimmerm Dec 23, 2023
7b561c7
Ensure saved documents record dependencies that originate from their …
gbracha Dec 23, 2023
a429c34
Merge pull request #124 from mzimmerm/master
gbracha Dec 23, 2023
60c75aa
Cleanup documentation for Documents module.
gbracha Dec 23, 2023
ae7c45d
Update version number.
gbracha Dec 23, 2023
6b51b49
Add option to deploy app with GUI.
gbracha Dec 27, 2023
d34d44e
Fix lists and add toggling headers
no-defun-allowed Jan 11, 2024
281adf3
Restore README
gbracha Jan 12, 2024
c80e870
Fix a bug in deployment. This bug creates a memory leak causing GUI a…
gbracha Jan 12, 2024
30b51db
Revsied deployment to use WebCompiler's preloader. This reduces dupli…
gbracha Jan 13, 2024
d60ed77
Eliminate strings with spaces from messages displayed in method prese…
gbracha Jan 14, 2024
4fcae60
Add convenience method for creating amplets form classes.
gbracha Jan 24, 2024
7981f47
Extract messages from the class factory.
no-defun-allowed Jan 26, 2024
21c6f86
Update the master version number of the PWA.
gbracha Feb 1, 2024
2e01da8
Add center button to documents.
gbracha Feb 6, 2024
17fded4
Add some suppirt for strikethrough.
gbracha Feb 8, 2024
2252e0c
Modified build script, added deploy scripts. Changed the way the PWA …
mzimmerm Feb 8, 2024
c66fd83
Update app version.
gbracha Feb 9, 2024
4ae9ed4
Minor typos adjusted.
gbracha Feb 9, 2024
d29d9c7
More typos.
gbracha Feb 9, 2024
591bbc3
Add section image, in preparation for further Document changes.
gbracha Feb 9, 2024
7e445f0
Fix bug introduced by changes to header mirror.
gbracha Feb 9, 2024
d374de3
Update version, amke sure no document work was lost.
gbracha Feb 9, 2024
57f4feb
Drag & drop for video and audio files. Includes load and save of docu…
gbracha Feb 11, 2024
13e7da9
In the files in pull request https://github.com/newspeaklanguage/news…
mzimmerm Feb 14, 2024
a1abc80
Improvements to Documents. Theseinclude support for customized saving…
gbracha Feb 24, 2024
a134dc7
Telescreen as a Docu-App. Some small refinements still needed, but ba…
gbracha Feb 24, 2024
fca987c
Adding the unzipped Telescreen template dcument, so we can track the …
gbracha Feb 24, 2024
0f567f7
Cleanup some unneeded imports.
gbracha Feb 24, 2024
eb30b49
A few more Telescreen improvements. These ensure that new slides are …
gbracha Feb 24, 2024
a208379
Merge branch 'master' into master
gbracha Feb 24, 2024
7978c87
Merge pull request #125 from mzimmerm/master
gbracha Feb 24, 2024
8616049
Update README.md
gbracha Feb 24, 2024
8ea4ed8
Polishing up the README.
gbracha Feb 24, 2024
57522e0
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Feb 24, 2024
932f633
More REASDME fixes
gbracha Feb 24, 2024
fb28c07
Get rid of https: link to avoid hystrionics from browser due to githu…
gbracha Feb 24, 2024
217a2b1
Minor fixes to the new build/deploy regime, per Milan's comments.
gbracha Feb 26, 2024
0f8f274
Update sw.js
gbracha Feb 26, 2024
89dc880
Add soem comments to runningInPWA method,in case we decide to use it.
gbracha Feb 27, 2024
1d3577c
Changed PWA manifest from minimal-ui to standalone, to hide the explicit
mzimmerm Mar 1, 2024
283d91d
Fixed HTML (bold->strong) in the Help section of PWA Navigation.
mzimmerm Mar 2, 2024
4284a31
Merge pull request #126 from mzimmerm/master
gbracha Mar 4, 2024
a3c3759
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Mar 5, 2024
09e9fa7
Make sure documents use symbols rather than selectors for dependencie…
gbracha Mar 6, 2024
2d1ca50
Make sure AmpleforthViewer correctly sets up IDE standard names so sa…
gbracha Mar 6, 2024
a942220
Update Newspeak version
gbracha Mar 6, 2024
f8cbcd5
Update sw.js
gbracha Mar 8, 2024
ecb0825
Add some comments about the differences between Ampleforth versions. …
gbracha Mar 10, 2024
95dda01
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Mar 10, 2024
b76c14e
Typos
gbracha Mar 10, 2024
cda730f
Typo fixed.
gbracha Mar 10, 2024
29b5b2d
Improve CodeMirror behavior by setting the autorefresh option.
gbracha Mar 14, 2024
a2cf509
Force new version
gbracha Mar 24, 2024
385cb59
Sort out mistakes in version numbering and manifests.
gbracha Mar 24, 2024
032c842
Mark every amplet with its immediately enclosing document, and ensure…
gbracha Apr 3, 2024
d450920
Retract changes that tied amplets to their immediately enclosing docu…
gbracha Apr 7, 2024
dfb4e91
Rationalize the modeling of slots in the IDE. Slots were viewed as a …
gbracha Apr 7, 2024
a0acc18
Update version in light of recent commits.
gbracha Apr 7, 2024
0a4a343
A set of fixes to the IDE UI. The corrections to object presenters, e…
gbracha Apr 9, 2024
b532a91
Fix display of lazy slots. Fix reactive update issues around views. A…
gbracha Apr 12, 2024
2705e1d
Update version number.
gbracha Apr 12, 2024
f35ea10
A few more fixes to ObjectPresenter to make sure BasicView works well…
gbracha Apr 13, 2024
1d32f82
Fix the version.
gbracha Apr 13, 2024
e9703ea
Remove one stray print
gbracha Apr 13, 2024
dbf4a65
Fixes to document transclusion.
gbracha Apr 19, 2024
7348338
WIP. Adding ampletId attribute so that we can have multiple amplets w…
gbracha Apr 20, 2024
8ec52b4
A number of changes designed to allow multiple amplets with the dsame…
gbracha Apr 20, 2024
cd447da
Raise verdsion.
gbracha Apr 20, 2024
8cd6442
More Ampleforth fixes, for situations we haven't seen yet.
gbracha Apr 20, 2024
8fe76a1
Merge branch 'ampleforthFixes'
gbracha Apr 20, 2024
1c920e9
Version number.
gbracha Apr 21, 2024
e09d40b
Yet another attempt to fix document transclusion.
gbracha Apr 23, 2024
561a45d
Version number.
gbracha Apr 23, 2024
c1f2fdf
The prior version broke the help in the IDE. Specifically, the handli…
gbracha Apr 24, 2024
40ba4c8
A number of changes to make Telescreen and transclusion better. There…
gbracha May 3, 2024
8b7ee06
Latest fixes to Telescreen. Helps make sure that udisplayed slides ar…
gbracha May 5, 2024
9d34c7b
Fix type annotation.
gbracha May 8, 2024
2283c65
Make the display of help properly reactive - that is, make sure it th…
gbracha May 9, 2024
5c7d1af
Update sw.js
gbracha May 10, 2024
20022c9
Adapt to revisions in Collections - viz., making Maps and Sets ordere…
gbracha May 20, 2024
ab2d4e7
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha May 20, 2024
2073438
version number
gbracha May 20, 2024
72c9a95
Added tool tips.
gbracha May 21, 2024
1af3e08
Some improvements for diaplying class browsersinline in documents.
gbracha May 25, 2024
04f35a7
Version number.
gbracha May 25, 2024
fa22cd3
WIP on fixing amplet update. This got broken when we introduced the m…
gbracha Jul 3, 2024
cb77975
Saving some changes that haven't worked to address amplet numbering a…
gbracha Jul 7, 2024
a0bc7e8
A better fix for the bug where editing an amplet's HTML source has no…
gbracha Jul 7, 2024
4968450
Version.
gbracha Jul 7, 2024
6d45beb
Fix for issue #70.
gbracha Jul 9, 2024
c98e8b3
Version number for fix to issue 70
gbracha Jul 9, 2024
7b4eb40
Update documentation and copyright for Ducts.
gbracha Jul 10, 2024
7c058f2
Added documentation for Ampleforth document lifecycle.
gbracha Jul 11, 2024
205d7fd
WIP. Toward support for tiling windows in Hopscotch. Added a fragment…
gbracha Jul 25, 2024
e30f469
WIP. Extending HopscotchForCroquet with more widgets.
gbracha Jul 30, 2024
8289a0b
WIP. Fix some typos.
gbracha Jul 30, 2024
d008af9
WIP on Croquet integrated UI.
gbracha Aug 6, 2024
8fc0d0f
Start moving common code fro Croquet support into Fragment.
gbracha Aug 6, 2024
d655473
WIP on additional fragment support.
gbracha Aug 8, 2024
b8047b1
Add support for pickers, slider in HopscotchForCroquet. Use lazy slot…
gbracha Aug 10, 2024
589f364
Update croquet JS.
gbracha Aug 10, 2024
4ccac19
add missing/wrong counter accessors for newly added fragments.
gbracha Aug 10, 2024
d8248e5
WIP on supported fragments. Pickers, Slider, menus, more code mirror …
gbracha Aug 12, 2024
01e3591
More refectoring to make Croquet subclass work for menus.
gbracha Aug 14, 2024
62e0e59
WIP. Croquet collaboration on slider and pickers now works. Experimen…
gbracha Aug 19, 2024
f0acc70
WIP.
gbracha Aug 29, 2024
045cf26
WIP. Moved buttons and links to new scheme.
gbracha Sep 6, 2024
dd14581
WIP. New scheme for communicating with croquet, applied to all releva…
gbracha Sep 12, 2024
8aea476
WIP.Update Croquet JS file.
gbracha Sep 12, 2024
1e63c43
WIP. Revised handling of Croquet, to avoid a flodd of creation events…
gbracha Sep 16, 2024
cb67537
Attempt to fix check box
gbracha Sep 22, 2024
b09f912
Actually attempt to fix checkbox
gbracha Sep 22, 2024
2d613c3
Ensure overridden classes stay public.
gbracha Sep 24, 2024
5be9215
WIP on checkboxes and code mirror.
gbracha Oct 2, 2024
0a2083b
CodeMirror fragments mostly working.
gbracha Oct 2, 2024
1e272d8
Working menus with Croquet sync. Partly working code mirror.
gbracha Oct 4, 2024
fb7e347
Small fix to ensure exact interface compatibility. Enable collaborati…
gbracha Oct 5, 2024
795d485
Get toggle composer working for Croquet hopscotch.
gbracha Oct 6, 2024
4091a87
Keydown events work for code mirror (evaluate may still need work).
gbracha Oct 6, 2024
b755737
Fixed cancel behavior for hopscothc croquet.
gbracha Oct 6, 2024
002e388
Mostly fixed CoemIrror text insertion under HopscotchForCroquet. Stil…
gbracha Oct 8, 2024
86161de
Update croquet support; improve document support slightly.
gbracha Oct 14, 2024
e4bebf7
Croquet code mirror cursor bug seems fixed. Still some weirdness on a…
gbracha Oct 15, 2024
5c09046
Search bar improvements. Not perfect yet. The fixes involve changing …
gbracha Oct 16, 2024
e298ed8
Fix bug where factory link would not toggle correctly. This is sympto…
gbracha Oct 30, 2024
880b5ea
WIPO. Address sync of selection. Works, but needs cleanup.
gbracha Nov 2, 2024
e1c9b5d
Previous fix requires latest croquetpasoup.js
gbracha Nov 2, 2024
809c7f0
HopscotchFor Croquet syncs selection, so evaluation works correctly.
gbracha Nov 2, 2024
f8eb61a
WIP. Sync browser back/forward buttons. Not quite right - in some cas…
gbracha Nov 3, 2024
f63e36f
Fix bug where croquet code mirror accept caused other open code mirro…
gbracha Nov 12, 2024
d349245
WIP. Mostly address issue where CodeMirror accept caused spurious cha…
gbracha Nov 13, 2024
90222d6
Fix buglet in ToggleComposer.
gbracha Nov 14, 2024
209b205
Fix bug that slipped in from experimentation.
gbracha Nov 14, 2024
e787c6b
Sync up croquetpsoup.js with latest changes to Newspeak code. Also, m…
gbracha Nov 15, 2024
cf368ef
Another step toward consistency in the IDE namespace setup. I deally,…
gbracha Nov 16, 2024
46f9873
WIP. Support for synchronized reading of files. Unfortunately, this o…
gbracha Nov 17, 2024
d4748cd
WIP on file sync. Now we actually produce proper files. Nevertheless,…
gbracha Nov 18, 2024
69b460c
Refine types.
gbracha Nov 19, 2024
1ac0ee3
Sync of file loading works.
gbracha Nov 19, 2024
fbd1af7
Fragments for video and audio players.
gbracha Dec 11, 2024
ca53da8
Fix bug in WindowFragment (might not be the right fix yet).
gbracha Dec 17, 2024
64fac60
WIP on WindowFragment.
gbracha Dec 18, 2024
92c3b82
Fixed WindowFragment so updates behave properly.
gbracha Dec 18, 2024
9628ee5
Handle loading of large files in croquet sync version. This involves …
gbracha Dec 21, 2024
bf28168
WIP to make documents easier to work with when describing Newspeak co…
gbracha Dec 28, 2024
1990298
WIP. Steps to support drag and drop in the collaborative setting. Muc…
gbracha Dec 28, 2024
03d685c
Revisions to drag and drop in documents, to help support collaboration.
gbracha Dec 29, 2024
7eeba39
More WIP on drag and drop. The revised scheme that should allow for c…
gbracha Jan 1, 2025
5e6e69f
WIP. Minor progress on the revised drag/drop scheme that will allow c…
gbracha Jan 13, 2025
12d78eb
WIP. Fixed refresh problem in new media scheme.
gbracha Jan 17, 2025
4365579
WIP. Support for saving images; clean up of loading in progress.
gbracha Jan 17, 2025
468ba7b
WIP. New drag & drop scheme now saves and loads correctly. Issues rem…
gbracha Jan 19, 2025
fa47bcd
Long overdue cleanup of Document loading code. New scheme for drag & …
gbracha Jan 20, 2025
1be2d07
Avoid global media registry; each document now has its own. At this p…
gbracha Jan 20, 2025
a684233
Untested work supporting collaborative darg and drop. Regular version…
gbracha Jan 21, 2025
7a29d81
Fix buglety around loading videos.
gbracha Jan 21, 2025
96a5a09
Collaborative drag & drop working. The exception is Firefox, which is…
gbracha Jan 23, 2025
619c986
WIP. Making the croquet platform work across snapshots. This is still…
gbracha Feb 1, 2025
bda5273
Update newspeaklanguage.org.version
gbracha Feb 9, 2025
d908c65
Now works with Croquet snapshotting. Still needs cleanups.
gbracha Feb 14, 2025
e0eaee9
Cleaned up version. Removed debug printing, unnecessary replay flag, …
gbracha Feb 14, 2025
c48473b
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Feb 14, 2025
ba2bb35
More cleanups of unused code etc. Bugs remainn around loading of docu…
gbracha Feb 15, 2025
4395885
Update croquet parameter management. Remove obsolete keys from source…
gbracha Mar 22, 2025
0bb5c04
Make use of platform js localStorage. This is in preparation for a ve…
gbracha Mar 22, 2025
bd985c7
Croquet platform now uses overridden js module. IDE uses platform bas…
gbracha Mar 23, 2025
95e6709
Making croquet version run with distinct storage per session.
gbracha Mar 24, 2025
ca9799b
Fix Telescreen bug that caused wrong display on load.
gbracha Apr 3, 2025
99f658d
Latest Telescreen source.
gbracha Apr 3, 2025
c1453f4
Fix Telescreen cloning.
gbracha Apr 3, 2025
f793ee0
Partially (?) address new bug in drag and drop sync.
gbracha Apr 3, 2025
76979c4
Small chnages to ensure that we can always get an amplet for a class …
gbracha Apr 6, 2025
3ac9082
Fix menu positioning.
gbracha May 9, 2025
e3cd9b3
Prevent crash when browsing unary primitive methods that might otherw…
gbracha May 24, 2025
bcc1321
Fixes to document image handling. The prior changes in support of col…
gbracha May 29, 2025
aafb6bb
There are two hard problems in CS: naming, caching and off-by-one err…
gbracha May 30, 2025
f30a7fe
Start of work to generalize and harmonize API for IDE presenters with…
gbracha May 31, 2025
7ea9858
WIP. Refinements to the built-in help in the IDE. The end goal is to …
gbracha Jun 7, 2025
051d29b
Fix bugs in Telescreen slide removal.
gbracha Jul 3, 2025
edbda91
Fix typo in error handling code.
gbracha Jul 3, 2025
ec6ab01
Updated comments, with notes on evolving the old version to convert p…
gbracha Jul 4, 2025
476a30b
fix typos
santana Jul 15, 2025
661ad35
fix broken link in README.md
santana Jul 16, 2025
acc0c53
Prefer -p POSIX option for mkdir over --parent (--parents in GNU)
santana Jul 16, 2025
f6a95f9
Merge pull request #135 from santana/fix/fix-README-typos
gbracha Jul 16, 2025
a250f08
Merge pull request #136 from santana/fix/fix-broken-link
gbracha Jul 16, 2025
6baa74e
use GitHub's Mardown extension for alert blocks
santana Jul 16, 2025
8d0da46
update build instructions
santana Jul 16, 2025
d5b2e82
fix broken link to section 4 in README.md
santana Jul 16, 2025
3d165bb
Merge pull request #140 from santana/fix/fix-broken-link-in-README-md
gbracha Jul 17, 2025
fef8ce4
Fix issue with loading images in Croqute version (bug was introduced …
gbracha Jul 17, 2025
2407660
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Jul 17, 2025
dfa26d0
Update version
gbracha Jul 19, 2025
e30198e
Update to Croquet 2.0
gbracha Jul 19, 2025
36b7ee9
Fix Checkbox and TodoMVC (which uses it). It was broken by croquet ad…
gbracha Jul 20, 2025
0ea38b9
Fix checkboxes.
gbracha Jul 20, 2025
66df44d
Help improvements
gbracha-f5 Jul 24, 2025
fa0aa67
Deployment improvements. Support app serialization as individual app …
gbracha Jul 26, 2025
7789b3f
Update version.
gbracha Jul 26, 2025
b840e0a
Revise image resources so that ide deploys cleanly from the live syst…
gbracha Jul 30, 2025
fc7faa5
Remove old PNG files. Part o fthe clenaup; the old names were inconsi…
gbracha Jul 30, 2025
91bcf45
A few more old image files that need to go.
gbracha Jul 30, 2025
0c363be
Update list of resource files.
gbracha Jul 31, 2025
67d97cd
Update version umber. Actual change is in the primordialsoup repo.
gbracha Aug 1, 2025
b493e58
Fix naming issue with access control images.
gbracha Aug 1, 2025
8424818
Merge pull request #138 from santana/chore/use-github-markdown-extens…
gbracha Aug 2, 2025
f1c5251
Update version. Some comments on Documents, but mainly aligh with lat…
gbracha Aug 3, 2025
d5ff3a7
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Aug 3, 2025
9c57dda
Merge pull request #139 from santana/chore/update-build-instructions
gbracha Aug 5, 2025
7abf0af
Merge pull request #137 from santana/fix/fix-non-posix-mkdir-option
gbracha Aug 5, 2025
a2b06a5
Fix a few more old symbols relate dto the cleanup of icon names.
gbracha Aug 19, 2025
f532bc5
Version #
gbracha Aug 19, 2025
ff0967b
Interim fixes for menus. This fixes issue #97, and more importantly m…
gbracha Aug 24, 2025
e9a5ed8
WIP on menu improvements. Croquet menu behavior is not quite there ye…
gbracha Aug 24, 2025
1099dfe
Menu problems largely solved. Some uses go thru the openMenu: API and…
gbracha Aug 26, 2025
296ff25
The menu fixes require a new event to be handle by the JS file.
gbracha Aug 26, 2025
0b8feeb
Issue #109
gbracha-f5 Sep 17, 2025
ca5dee2
Resolve #109
gbracha-f5 Sep 17, 2025
350bee2
Update Newspeak2JSCompilation.ns
gbracha-f5 Sep 27, 2025
d27055d
Update DeploymentManager.ns
gbracha-f5 Sep 27, 2025
81a0d2a
Update NewspeakParsing.ns
gbracha-f5 Sep 27, 2025
94de477
WIP. Trying to resuscitate deployment of the Javascript based impleme…
gbracha Sep 29, 2025
c6d84bf
WIP. Still resurrecting the old JS implementation. Now with support f…
gbracha Oct 4, 2025
4fdb7f0
Update version.
gbracha Oct 4, 2025
f278eda
WIP. More work on JS compilation and deployment. More fixes for Lazy …
gbracha Oct 5, 2025
6e30bb0
WIP: Add support for saving files in a way that preserves the desired…
gbracha Nov 20, 2025
cd4d2d9
WIP for fixing file naming on save. Only works on Chrome so far.
gbracha Nov 20, 2025
946262f
Chnages tro make file saving work better.
gbracha Nov 20, 2025
2b37634
Some work on adding Transcript support. This deals only with the basi…
gbracha Nov 21, 2025
3f6001e
Remove Electron IDE from build script
gbracha Nov 21, 2025
a2e20fd
Remove Electron from the system. See previous commit on build script …
gbracha Nov 21, 2025
244a30c
Merge branch 'master' of github.com:newspeaklanguage/newspeak
gbracha Nov 21, 2025
3573f39
WIP: Bringing the JS based version back to life. Doesn't fully work b…
gbracha Nov 21, 2025
28ab47e
WIP. Allow private views, not sync'ed by Croquet. Not fully tested yet.
gbracha Nov 21, 2025
1b98d34
Further de-Electronification.
gbracha Nov 21, 2025
3aa4897
More Electron neutralization. Also a bit more work on IDE transcript …
gbracha Nov 21, 2025
7c23911
Clean up.
gbracha Nov 21, 2025
dfa5ecb
WIP. An experiment to add voice control to Newspeak. Largely coded wi…
gbracha Nov 22, 2025
2fe8099
Fixed a coiuple of lurking buglets, now that we have a proper substri…
gbracha Nov 22, 2025
1d0dd2b
Complete revision of WebFiles so as to bypass annoying browser naming…
gbracha Nov 24, 2025
66cce78
WIP. Started integrating voice control into Hopscotch. Currently only…
gbracha Nov 25, 2025
c1bda9d
WIP on voice control. Works for home, history and refresh (top level).
gbracha Dec 16, 2025
1d2aa1f
WIP. Refresh, history, home work. Back and forward are partially work…
gbracha Dec 16, 2025
07286fa
WIP. Voice control allows getting references and definitions, more or…
gbracha Dec 19, 2025
b767866
Version #.
gbracha Dec 19, 2025
a297fde
WIP. Added voice control to go the root namesapce and workspaces.
gbracha Dec 19, 2025
ecc7ea3
WIP on voice control. Fix so classes (or anything that starts with up…
gbracha Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 21 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
**/xcuserdata
.vscode
workspace.code-workspace
out
buildlocal.sh
.DS_Store
node_modules
dist
dev-dist
build
types
.idea
.github
package-lock.json

# The directory 'pwa-deployed-versions' keeps track of PWA cache versions
# for URLs deployed from this repository.
# Only the 'newspeaklanguage.org.version' (the PWA version for newspeaklanguage.org)
# is kept in git.
# Any other version files, for example 'localhost.version', should not be committed.
!pwa-deployed-versions
pwa-deployed-versions/*
!pwa-deployed-versions/newspeaklanguage.org.version

# The directory 'out' is ignored
/out/
147 changes: 147 additions & 0 deletions ADocument.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
<div class = "ampleforthDocumentClass" name = "ADocument" classBody = "() (
notAFragment = (^33)
testButton1 = (^button: #TestButton1 action: ['testing' out])
testButton2 = (^button: #TestButton2 action: ['testing' out])
testButton3 = (^button: #TestButton3 action: ['testing' out])
testButton4 = (^button: #TestButton4 action: ['testing' out])
toggle = (^expanded: (testButton4) collapsed: (label: 'open'))
) : (
)
" </div><div class = "ampleforthDocumentBody">
<div contenteditable="true"
style="border: 2px solid blue; resize: horizontal; overflow: auto"
onkeyup="updateRawHTML()" >
<h1> A Sample Document</h1> This is a <div class="ampleforth"
name="testButton1" contenteditable="false"></div>
embedded in a document!
And here is another one: <span class="ampleforth" name="testButton2"
contenteditable="false"></span> and another
<div class="ampleforth" name="testButton3" contenteditable="false"></div>
<h3> Maintaining State</h3>
Here is a toggle that maintains its state while we edit:
<div class="ampleforth" name="toggle" contenteditable="false"></div>
Let us add another widget <span class="ampleforth"
name="testButton4" contenteditable="false"></span>
<h3>Dealing with Errors</h3>
What if the expression given in the document does not evaluate to a
Fragment?
<br>
If it evaluates without error, we place an
error message that links to an inspector on the result in the
document.
<br>
<div class="ampleforth" name="notAFragment" contenteditable="false"></div>
<br>
Consider a bad selector in the <i>name</i> attribute of an <i>ampleforth</i> node.
<br>
<div class="ampleforth" name="foo" contenteditable="false"></div>
<br>
If the expression does not compile at all, what do we do?
<br>No longer an
issue in the new design.
<br>
Likewise if the <i>initializer</i> attribute is missing.
<br>
Another interesting situation is recursion, as attempted below, which yields an informative error message:
<br>
<div class="ampleforth" name="AmpleforthTargetDocument" contenteditable="false"></div>
</div>
<br>
</div>
</div><script type="text/javascript">
function scheduleTurn(timeout) {
if (timeout >= 0) {
setTimeout(function() {
var timeout = Module._handle_message();
scheduleTurn(timeout);
}, timeout);
}
}

var Module = {
noInitialRun: true,
noExitRuntime: true,
onRuntimeInitialized: function() {
var url = new URLSearchParams(window.location.search);
var request = new XMLHttpRequest();
request.open("GET", url.get("snapshot"), true);
request.responseType = "arraybuffer";
request.onload = function (event) {
var jsBuffer = new Uint8Array(request.response);
var cBuffer = _malloc(jsBuffer.length);
writeArrayToMemory(jsBuffer, cBuffer);
Module._load_snapshot(cBuffer, jsBuffer.length);
_free(cBuffer);
scheduleTurn(0);
};
request.send();
},
print: function(text) {
if (arguments.length > 1) {
text = Array.prototype.slice.call(arguments).join(" ");
}
console.log(text);
},
printErr: function(text) {
if (arguments.length > 1) {
text = Array.prototype.slice.call(arguments).join(" ");
}
console.error(text);
},
setStatus: function(text) {
console.log(text);
},
};
</script>
<script async="" type="text/javascript" src="primordialsoup.js"></script>
<script src="CodeMirror/lib/codemirror.js"></script>
<link rel="stylesheet" href="CodeMirror/lib/codemirror.css">
<script src="CodeMirror/addon/display/autorefresh.js"></script></div> <script type="text/javascript">
function scheduleTurn(timeout) {
if (timeout >= 0) {
setTimeout(function() {
var timeout = Module._handle_message();
scheduleTurn(timeout);
}, timeout);
}
}

var Module = {
noInitialRun: true,
noExitRuntime: true,
onRuntimeInitialized: function() {
var url = new URLSearchParams(window.location.search);
var request = new XMLHttpRequest();
request.open("GET", url.get("snapshot"), true);
request.responseType = "arraybuffer";
request.onload = function (event) {
var jsBuffer = new Uint8Array(request.response);
var cBuffer = _malloc(jsBuffer.length);
writeArrayToMemory(jsBuffer, cBuffer);
Module._load_snapshot(cBuffer, jsBuffer.length);
_free(cBuffer);
scheduleTurn(0);
};
request.send();
},
print: function(text) {
if (arguments.length > 1) {
text = Array.prototype.slice.call(arguments).join(" ");
}
console.log(text);
},
printErr: function(text) {
if (arguments.length > 1) {
text = Array.prototype.slice.call(arguments).join(" ");
}
console.error(text);
},
setStatus: function(text) {
console.log(text);
},
};
</script>
<script async type="text/javascript" src="primordialsoup.js"></script>
<script src="CodeMirror/lib/codemirror.js"></script>
<link rel="stylesheet" href="CodeMirror/lib/codemirror.css"></link>
<script src="CodeMirror/addon/display/autorefresh.js"></script>
5 changes: 3 additions & 2 deletions AccessModifierTesting.ns
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Newspeak3
'AccessModifierTests'
class AccessModifierTesting usingPlatform: platform testFramework: minitest = (|
'Root'
class AccessModifierTesting usingPlatform: platform testFramework: minitest
(* :exemplar: AccessModifierTesting usingPlatform: platform testFramework: ide minitest *) = (|
private TestContext = minitest TestContext.
private ClassMirror = platform mirrors ClassMirror.
private MessageNotUnderstood = platform kernel MessageNotUnderstood.
Expand Down
2 changes: 1 addition & 1 deletion AccessModifierTestingConfiguration.ns
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Newspeak3
'AccessModifierTests'
'Root'
class AccessModifierTestingConfiguration packageTestsUsing: manifest = (|
private AccessModifierTesting = manifest AccessModifierTesting.
|) (
Expand Down
4 changes: 2 additions & 2 deletions ActivationMirrorTesting.ns
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Newspeak3
'Mirrors'
class ActivationMirrorTesting usingPlatform: p minitest: m = (|
'Root'
class ActivationMirrorTesting usingPlatform: p testFramework: m = (|
private ClassDeclarationBuilder = p mirrors ClassDeclarationBuilder.
private ObjectMirror = p mirrors ObjectMirror.
private ActivationMirror = p mirrors ActivationMirror.
Expand Down
4 changes: 2 additions & 2 deletions ActivationMirrorTestingConfiguration.ns
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Newspeak3
'Mirrors'
'Root'
class ActivationMirrorTestingConfiguration packageTestsUsing: manifest = (|
private ActivationMirrorTesting = manifest ActivationMirrorTesting.
|) (
public testModulesUsingPlatform: p minitest: m = (
^{ActivationMirrorTesting usingPlatform: p minitest: m}
^{ActivationMirrorTesting usingPlatform: p testFramework: m}
)
) : (
)
25 changes: 15 additions & 10 deletions ActorsForV8.ns → ActorsForJS.ns
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Newspeak3
'Actors'
class ActorsForV8 usingPlatform: p = (|
'Root'
class ActorsForJS usingPlatform: p = (|
private WeakMap = p collections IdentityMap.
private List = p collections List.
private Message = p kernel Message.
Expand All @@ -10,7 +10,7 @@ private internalRefs <WeakMap[FarReference, InternalFarReference]> = WeakMap new
public Promise = PromiseUtils new.

defaultActor = DOMActor named: 'Default actor'.
|js assign: (js ident: 'currentActor') toBe: defaultActor) (
|_js assign: (_js ident: 'currentActor') toBe: defaultActor) (
public class Actor named: debugName <String> = (|
private (* N.B. Do not leak to subinstances. *) internalActor = DOMActor named: debugName.
|) (
Expand Down Expand Up @@ -40,9 +40,9 @@ public enqueueMessage: actorMessage = (

(* bogus - should drain an explicit queue to allow for a randomizing scheduler *)
js
call: (js propertyOf: (js ident: 'theGlobalObject') at: (js literal: 'setTimeout'))
with: {[js assign: (js ident: 'currentActor') toBe: self.
actorMessage deliverIn: self]. js literal: 0}.
call: (_js propertyOf: (_js ident: 'theGlobalObject') at: (_js literal: 'setTimeout'))
with: {[_js assign: (_js ident: 'currentActor') toBe: self.
actorMessage deliverIn: self]. _js literal: 0}.
)
) : (
)
Expand Down Expand Up @@ -664,11 +664,11 @@ public isTimer ^<Boolean> = (
^true
)
protected schedule: callback after: ms = (
js call: (js propertyOf: (js ident: 'window') at: (js literal: 'setTimeout'))
_js call: (_js propertyOf: (_js ident: 'window') at: (_js literal: 'setTimeout'))
with: {callback. ms}
)
protected schedule: callback every: ms = (
js call: (js propertyOf: (js ident: 'window') at: (js literal: 'setInterval'))
_js call: (_js propertyOf: (_js ident: 'window') at: (_js literal: 'setInterval'))
with: {callback. ms}
)
) : (
Expand Down Expand Up @@ -749,10 +749,10 @@ private createRemotePromiseOf: resolverInTarget in: targetActor for: sourceActor
^Ref wrapping: sourceResolver __owner: sourceActor.
)
private currentActor = (
^js ident: 'currentActor'
^_js ident: 'currentActor'
)
private isRef: object <Object> ^<Boolean> = (
^Ref == (js propertyOf: object at: (js literal: 'newspeakClass'))
^Ref == (_js propertyOf: object at: (_js literal: 'newspeakClass'))
)
private isValueObject: object <Object> ^<Boolean> = (
nil == object ifTrue: [^true].
Expand All @@ -775,5 +775,10 @@ private wrapArgument: argument from: sourceActor to: targetActor = (
private wrapArguments: arguments from: sourceActor to: targetActor = (
^arguments collect: [:argument | wrapArgument: argument from: sourceActor to: targetActor].
)
public ultimateExceptionHandler: h <[:Exception :Activation]> = (
(*:TODO :Bogus Used by the debugger
handlerOfLastResort:: h
*)
)
) : (
)
Loading