frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

An Implementation of J

https://www.jsoftware.com/ioj/ioj.htm
43•ofalkaed•5h ago

Comments

jandrese•3h ago
> J is a dialect of APL

That is an alarming statement, especially as the first line on the site.

> Words are expressed in the standard ASCII alphabet. Primitive words are spelled with one or two letters; two letter words end with a period or a colon. The entire spelling scheme is shown in the system summary. The verb ;: facilitates exploration of the rhematic rules. Thus:

       ;: 'sum =:+/_6.95*i.3 4'
    ┌───┬──┬─┬─┬─────┬─┬──┬───┐
    │sum│=:│+│/│_6.95│*│i.│3 4│
    └───┴──┴─┴─┴─────┴─┴──┴───┘
    
> The source code for word formation is in the files w*.c. The process is controlled by the function wordil (word index and length) and the table state. Rows of state correspond to 10 states; columns to 9 character classes. Each table entry is a (new state, function) pair. Starting at state S, a sentence is scanned from left to right one character at a time; the table entry corresponding to the current state and character class is applied.

I'm already lost, and this is the first example.

jonahx•3h ago
"The reader is assumed to be familiar with J and C."

And anyone reading this at the time would have been familiar with APL as well.

It's not intended to be beginner friendly. Like J, and like the original J dictionary, the values here are brevity, compactness, and essence. There is plenty of other more beginner friendly material on J out there.

great_wubwub•2h ago
Me too, but

> This document describes an implementation of J in C. The reader is assumed to be familiar with J and C.

jandrese•2h ago
I have to admit I got to https://www.jsoftware.com/ioj/iojATW.htm and seriously considered if the site is just pulling my leg. I think they're being sincere but I can't be 100% sure.
jonahx•2h ago
Not a joke, and a famous piece of J lore!

There have a been at least a couple attempts I've seen posted here of blog posts breaking down the code in a beginner friendly way. One I dug up is: https://blog.wilsonb.com/posts/2025-06-06-readable-code-is-u...

Related: https://needleful.net/blog/2024/01/arthur_whitney.html

nerdponx•1h ago
As someone with enough math background to be comfortable with one letter variable lanes and terse notation, this is still needlessly annoying to me because of the removal of almost all non-essential whitespace and grouping related definitions together on the same line instead of putting them on separate lines, and then using blank lines to separate "paragraphs".

I get it and I've heard it before, it's supposed to make it easier to fit more on one screen which is supposed to reduce cognitive burden. You are free to like what you like of course, but it just makes everything look like a jumble.

And even in a math context, I get frustrated if there's no simple glossary or surrounding prose to describe what's going on. Very few people write math this way, as a dense jumble of symbols. Even in the context of written mathematics, this is a very unusual style. I feel like J fans talk about it as if it's a totally normal thing to do if only you knew a little more math.

ofalkaed•2h ago
That example is what got me to start learning J which I have always found to be unreadable, much prefer my array languages to have their non-ascii symbols. A few nights playing with J and learning was enough to not be completely lost and able to make some progress, but it is still a challenge. When it says it "describes and implementation of J" it is not kidding, it describes the implementation and goes no further. Both the article and the code stick to this sort of terse and very concise language.
mlochbaum•2h ago
It was the subject of quite some debate, see "Panel: Is J a Dialect of APL?" at http://www.jsoftware.com/papers/Vector_8_2_BarmanCamacho.pdf . Ken and Roger backed off this stance after witnessing the controversy.

"Ken Iverson - The dictionary of J contains an introductory comment that J is a dialect of APL, so in a sense the whole debate is Ken's fault! He is flattered to think that he has actually created a new language."

larodi•2h ago
last updated: 2000-06-23
bdangubic•2h ago
2.5 decades of rock solidness :)
ofalkaed•1h ago
I think this is the official J implementation as it stood in 1990 when this paper was originally published, it kept being developed but not this document which describes it. Perhaps someone else knows these details?
oddthink•1h ago
The current version is at https://github.com/jsoftware/jsource
keyle•2h ago
There is a reason most modern programming languages have not followed suit on this syntax... It's pretty thick.
istillcantcode•1h ago
I am new to array languages, but have really enjoyed the experience of using them so far. I have consistently had much better experiences following the tutorials and doing sample problems in most of the array languages I have tried compared to other languages.

I love being able to see an example and type it my editor in without having to switch back and forth a bunch of times because I forgot some syntax by the time I switched windows. Your data is a ball of dough and you can knead it into whatever shape you want with the primitives.

Even if I don't know what the symbols are, its still easier to remember because its less stuff you have to type in. Its a little bit of work up front to learn some of the verbs (why not use Anki and some mnemonics), but you really do have so much more room to think about the problem in your head. The compression is like a cool breeze on a hot summer day.

userbinator•1h ago
For those used to traditional language syntax, anything in the APL family is like Chinese to someone who only knows Latin-family natural languages. It's always amusing to see all the reaction comments when APL/J/K is posted here.
kaoD•29m ago
I kinda liked J but my gripe with it is that I have to learn it almost from scratch every time I try to use it.

The tacit syntax is too idiosyncratic (I always forget the different types of verb trains) and I'm not entirely convinced it actually helped me as a "tool of thought" (but it might just be me not sticking with it long enough to be able to decode The Matrix).

I wish multidimensional arrays were a first-class citizen in my main languages though.

elisbce•32m ago
The more I see these languages that have neither power nor readability, the more I appreciate C.

Linux Sandboxes and Fil-C

https://fil-c.org/seccomp
164•pizlonator•7h ago•44 comments

Recovering Anthony Bourdain's (really) lost Li.st's

https://sandyuraz.com/blogs/bourdain/
167•thecsw•8h ago•54 comments

Using E-Ink tablet as monitor for Linux

https://alavi.me/blog/e-ink-tablet-as-monitor-linux/
70•yolkedgeek•4d ago•25 comments

An Implementation of J

https://www.jsoftware.com/ioj/ioj.htm
43•ofalkaed•5h ago•18 comments

I fed 24 years of my blog posts to a Markov model

https://susam.net/fed-24-years-of-posts-to-markov-model.html
142•zdw•9h ago•64 comments

Closures as Win32 Window Procedures

https://nullprogram.com/blog/2025/12/12/
54•ibobev•6h ago•5 comments

Lean Theorem Prover Mathlib

https://github.com/leanprover-community/mathlib4
20•downboots•4h ago•0 comments

I tried Gleam for Advent of Code

https://blog.tymscar.com/posts/gleamaoc2025/
255•tymscar•13h ago•143 comments

If a Meta AI model can read a brain-wide signal, why wouldn't the brain?

https://1393.xyz/writing/if-a-meta-ai-model-can-read-a-brain-wide-signal-why-wouldnt-the-brain
33•rdgthree•4h ago•15 comments

VPN location claims don't match real traffic exits

https://ipinfo.io/blog/vpn-location-mismatch-report
318•mmaia•10h ago•186 comments

Cat Gap

https://en.wikipedia.org/wiki/Cat_gap
81•Petiver•4d ago•11 comments

Therapeutic Use of Cannabis and Cannabinoids: A Review

https://jamanetwork.com/journals/jama/fullarticle/2842072?guestAccessKey=a368e622-e374-4a0c-8d3b-...
27•bookofjoe•4h ago•7 comments

The Rise of Computer Games, Part I: Adventure

https://technicshistory.com/2025/12/13/the-rise-of-computer-games-part-i-adventure/
70•cfmcdonald•9h ago•25 comments

Heavy metal is healing teens on the Blackfeet Nation

https://www.hcn.org/issues/57-11/heavy-metal-is-healing-teens-on-the-blackfeet-nation/
25•cdrnsf•2h ago•2 comments

No-Tifier (2017)

https://subject.space/projects/no-tifier/
4•aebtebeten•3d ago•0 comments

Dhtml Lemmings (2004)

https://www.elizium.nu/scripts/lemmings/index.php
16•tetris11•5d ago•8 comments

Why Twilio Segment moved from microservices back to a monolith

https://www.twilio.com/en-us/blog/developers/best-practices/goodbye-microservices
208•birdculture•9h ago•167 comments

Useful patterns for building HTML tools

https://simonwillison.net/2025/Dec/10/html-tools/
263•simonw•3d ago•77 comments

Awesome-Jj: Jujutsu Things

https://github.com/Necior/awesome-jj
35•n3t•5h ago•5 comments

Cryptids

https://wiki.bbchallenge.org/wiki/Cryptids
107•frozenseven•1w ago•15 comments

From Azure Functions to FreeBSD

https://jmmv.dev/2025/12/from-azure-functions-to-freebsd.html
86•todsacerdoti•5d ago•14 comments

Mystery Science Theater 3000: The Definitive Oral History of a TV Masterpiece

https://www.wired.com/2014/04/mst3k-oral-history/
30•indigodaddy•6d ago•4 comments

Ask HN: How can I get better at using AI for programming?

283•lemonlime227•14h ago•309 comments

Go Proposal: Secret Mode

https://antonz.org/accepted/runtime-secret/
179•enz•4d ago•78 comments

Free Software Awards Winners Announced: Andy Wingo, Alx Sa, Govdirectory

https://www.fsf.org/news/2024-free-software-awards-winners
31•pseudolus•4h ago•3 comments

Using Python for Scripting

https://hypirion.com/musings/use-python-for-scripting
113•birdculture•5d ago•85 comments

Some surprising things about DuckDuckGo

https://gabrielweinberg.com/p/some-surprising-things-about-duckduckgo
98•ArmageddonIt•8h ago•74 comments

What is the nicest thing a stranger has ever done for you?

https://louplummer.lol/nice-stranger/
351•speckx•2d ago•254 comments

Researchers seeking better measures of cognitive fatigue

https://www.nature.com/articles/d41586-025-03974-w
121•bikenaga•3d ago•32 comments

EasyPost (YC S13) Is Hiring

https://www.easypost.com/careers
1•jstreebin•13h ago