Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1256,7 +1256,7 @@
<div class="dropdown-item" data-lang="j">
<img src="assets/j_logo.svg" alt="J">
<span class="lang-name">J</span>
<span class="lang-version">J9.8.0-beta4</span>
<span class="lang-version">J9.8.0-beta5</span>
</div>
<div class="dropdown-item" data-lang="kap">
<img src="assets/kap.png" alt="Kap">
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate-og-languages.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const LANGS = [
{ name: 'BQN', version: 'CBQN 0.12', file: 'bqn.svg' },
{ name: 'Uiua', version: '0.19.0-dev.4', file: 'uiua.png' },
// Row 2
{ name: 'J', version: 'J9.8.0-beta4', file: 'j_logo.svg' },
{ name: 'J', version: 'J9.8.0-beta5', file: 'j_logo.svg' },
{ name: 'Kap', version: '2026-07-04', file: 'kap.png' },
{ name: 'TinyAPL', version: '0.13-beta', file: 'tinyapl.svg' },
];
Expand Down
2 changes: 1 addition & 1 deletion scripts/known-versions.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"cbqn": "v0.12.0",
"uiua": "0.19.0-dev.4",
"j": "9.8.0-beta4",
"j": "9.8.0-beta5",
"kap": "20260704-1",
"tinyapl": "0.12.0"
}
39 changes: 11 additions & 28 deletions wasm/j/emj.data
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@ else.
end.

NB. Names of params, and defaults
long_param_names =. ;: 'keytype keyshape valuetype valueshape keyhash keycompare initcapacity name'
(long_param_names) =. 4 ; (i. 0) ; 4 ; (i. 0) ; (16!:0`'') ; (16!:0`'') ; 100 ; ''
short_param_names =. _2 <\ 'ktksvtvs'
occupancy=. 0.5 NB. hash only
long_param_names =. ;: 'valuetype valueshape keytype keyshape keyhash keycompare initcapacity name occupancy'
(long_param_names) =. 4 ; (i. 0) ; 4 ; (i. 0) ; (16!:0`'') ; (16!:0`'') ; 100 ; '' ; 0.5
short_param_names =. _2 <\ 'vtvsktks'

if. (-: (index_type {.~ -@#)) 'concurrent' do.
singlethreaded =. 0
Expand All @@ -29,8 +28,8 @@ else.
end.

if. #creation_parameters do. names =. {."1 creation_parameters [ values =. {:"1 creation_parameters else. names =. values =. 0$a: end. NB. requests
if. index_type -: 'hash' do. long_param_names =. long_param_names , <'occupancy' end. NB. occupancy supported only for hash type
names =. (((#short_param_names){.long_param_names),names) {~ (short_param_names,names) i. names NB. xlate short names to long equivs
long_param_names =. 2 }.^:(issym) }:^:(index_type -.@-: 'hash') long_param_names NB. disallow value for symbols, and occupancy for tree
namex =. long_param_names i. names
if. (#long_param_names) e. namex do. 13!:8&3 'incorrect attribute: ' , ;:^:_1 names #~ (#long_param_names) e. namex end.
(,names) =. ,values NB. assign values to local names (, to unbox if singleton)
Expand Down Expand Up @@ -85,12 +84,12 @@ else.
('items',name) =: dict {{
(0 0) 16!:_9 m NB. read-lock.
r =. memu (<<<0 (16!:_5) m) { 1 (16!:_8) m
if. -. y -: 0 do.
if. y do.
r =. r ,&< memu (<<<0 (16!:_5) m) { 2 (16!:_8) m
end.
(1 0) 16!:_9 m
r
}}@valueshape
}}@(0~:valueshape) NB. values only if they are not empty
end.
('close',name) =: (4!:55@;:@(,&name&.>&.;: clsnms)) , (dict 16!:_5~ 1:) NB. clear the empty chain in the keys to avoid errors freeing it
dict NB. We never use the dict itself, but in case a user wants to, this is a hook that they can use to get to it
Expand Down Expand Up @@ -136,21 +135,6 @@ t =. t , '/integer1/integer2/integer4/floating2/floating4/floating16'
n {~ (<;._1 t) i. < y
}}

NB. Parse attribute and set its value. no longer used
parse =: {{)m
'attribute value' =: y
if. (# short_param_names) > idx =. search_short_param_names attribute do.
attribute =. idx {:: long_param_names
end.
incorrect =. (# long_param_names) -: search_long_param_names < attribute
13!:8&3^:incorrect attribute , ' parameter not supported'
if. ('literal' -: datatype value) *. (attribute -: 'keytype') +. attribute -: 'valuetype' do.
value =. typeid_from_typename value
end.
(attribute) =: value
EMPTY
}}"1

coclass'jsymbol' NB. The only extra thing about the symbol class is the path
issym=:1 NB. symbols are created through this locale
coinsert'jdict'
Expand Down Expand Up @@ -19224,7 +19208,7 @@ sdinit''
cocurrent <'z'
3 : 0 ''

JLIB=: '9.8.3'
JLIB=: '9.8.6'

notdef=. 0: ~: 4!:0 @ <
hostpathsep=: ('/\'{~6=9!:12'')&(I. @ (e.&'/\')@] })
Expand Down Expand Up @@ -19283,7 +19267,7 @@ if. notdef 'IFRASPI' do.
IFRASPI=: 0
end.
end.
if. IF64 +. IFIOS do.
if. IF64 +. IFIOS +. UNAME -: 'Wasm' do.
IFWOW64=: 0
else.
if. IFUNIX do.
Expand Down Expand Up @@ -21485,7 +21469,6 @@ for_i. i.#res do.
end.
if. L. y do. res else. >res end.
)
Loaded=: ''
Public=: i. 0 2
UserFolders=: i. 0 2
getignore=: 3 : 0
Expand Down Expand Up @@ -21728,20 +21711,19 @@ load=: 3 : 0
0 load y
:
fls=. getscripts_j_ y
fn=. ('script',x#'d')~
fn=. x & {{ 0!:x_: y_: }}
for_fl. fls do.
if. Displayload_j_ do. smoutput > fl end.
if. -. fexist fl do.
smoutput 'not found: ',>fl
end.
fn fl
Loaded_j_=: ~. Loaded_j_,fl
end.
empty''
)
loadd=: 1&load
require=: 3 : 0
fls=. Loaded_j_ -.~ getscripts_j_ y
fls=. (getscripts_j_ y) -. 4!:3''
if. # fls do. load fls else. empty'' end.
)
scripts=: scripts_j_
Expand Down Expand Up @@ -22573,6 +22555,7 @@ nc=. '--no-cache'
n=. 2 {. 100 #.inv >{.revinfo_j_''
RELNO=: ,'0,p<.>0' (8!:2) n
VERNO=: 100 #. n
if. UNAME -: 'Wasm' do. EMPTY return. end.
if. IFUNIX do.
IFWGET=. IFCURL=. 0
if. -. IFIOS +. UNAME-:'Android' do.
Expand Down
2 changes: 1 addition & 1 deletion wasm/j/emj.js

Large diffs are not rendered by default.

Binary file modified wasm/j/emj.wasm
Binary file not shown.
Loading