#javalang — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #javalang, aggregated by home.social.
-
“Why rewriting Emacs is hard,” by @kanaYes it is, I can tell you from experience. Of course, I was never under any illusion that it would be easy.
@kana , a.k.a. “Gudzpoz,” wrote a blog post which was shared on Lobste.rs, and they kindly mention my own Emacs clone Schemacs, though they refer to the old name of it “Gypsum” because they are citing my EmacsConf 2024 presentation done before the name changed.
It is a pretty good post going over some of the odd details about how Emacs edits text, e.g. the character range is from
0x0 to 0x3FFFFFFrather than the Unicode standard range from0x0 to 0x10FFFF, issues with using a gap buffer as opposed to a “rope” data structure, attaching metadata (text properties) to strings to render different colors and faces, and issues with Emacs’s own unique flavor of regular expressions in which the\=symbol indicates matching on the point in the buffer. (I did not know about that last one!)Apparently, they know these things because they are also working on their own clone of Emacs in Java for the JVM called Juicemacs (the name “Juice” upholding the theme of Java-based applications being named after drinks), and I deduce that their approach is to read through the Emacs C source code to ensure better compatibility. This is now the fourth modern Emacs+EmacsLisp clone that is still under active development that I know of, fascinating work!
My approach is to clone Emacs well enough to get it to pass regression tests, and I don’t read the C source code, I do black-box testing (because those tests become regression tests for my own source code).
Also, the goal with the Schemacs project is more to provide a Scheme-based Emacs that is backward-compatible with GNU Emacs. You use Schemacs because you want to program it in Scheme, not Emacs Lisp, but Emacs Lisp is there for you so you can still use your Emacs config. As a result, I will ignore a lot of these fussy details of the GNU Emacs implementation unless it is going to prevent regression tests from passing.
#tech #software #Emacs #GNUEmacs #Schemacs #EmacsLisp #Lisp #Java #Scheme #R7RS #SchemeLang #LispLang #JavaLang
-
“Why rewriting Emacs is hard,” by @kanaYes it is, I can tell you from experience. Of course, I was never under any illusion that it would be easy.
@kana , a.k.a. “Gudzpoz,” wrote a blog post which was shared on Lobste.rs, and they kindly mention my own Emacs clone Schemacs, though they refer to the old name of it “Gypsum” because they are citing my EmacsConf 2024 presentation done before the name changed.
It is a pretty good post going over some of the odd details about how Emacs edits text, e.g. the character range is from
0x0 to 0x3FFFFFFrather than the Unicode standard range from0x0 to 0x10FFFF, issues with using a gap buffer as opposed to a “rope” data structure, attaching metadata (text properties) to strings to render different colors and faces, and issues with Emacs’s own unique flavor of regular expressions in which the\=symbol indicates matching on the point in the buffer. (I did not know about that last one!)Apparently, they know these things because they are also working on their own clone of Emacs in Java for the JVM called Juicemacs (the name “Juice” upholding the theme of Java-based applications being named after drinks), and I deduce that their approach is to read through the Emacs C source code to ensure better compatibility. This is now the fourth modern Emacs+EmacsLisp clone that is still under active development that I know of, fascinating work!
My approach is to clone Emacs well enough to get it to pass regression tests, and I don’t read the C source code, I do black-box testing (because those tests become regression tests for my own source code).
Also, the goal with the Schemacs project is more to provide a Scheme-based Emacs that is backward-compatible with GNU Emacs. You use Schemacs because you want to program it in Scheme, not Emacs Lisp, but Emacs Lisp is there for you so you can still use your Emacs config. As a result, I will ignore a lot of these fussy details of the GNU Emacs implementation unless it is going to prevent regression tests from passing.
#tech #software #Emacs #GNUEmacs #Schemacs #EmacsLisp #Lisp #Java #Scheme #R7RS #SchemeLang #LispLang #JavaLang
-
“Why rewriting Emacs is hard,” by @kanaYes it is, I can tell you from experience. Of course, I was never under any illusion that it would be easy.
@kana , a.k.a. “Gudzpoz,” wrote a blog post which was shared on Lobste.rs, and they kindly mention my own Emacs clone Schemacs, though they refer to the old name of it “Gypsum” because they are citing my EmacsConf 2024 presentation done before the name changed.
It is a pretty good post going over some of the odd details about how Emacs edits text, e.g. the character range is from
0x0 to 0x3FFFFFFrather than the Unicode standard range from0x0 to 0x10FFFF, issues with using a gap buffer as opposed to a “rope” data structure, attaching metadata (text properties) to strings to render different colors and faces, and issues with Emacs’s own unique flavor of regular expressions in which the\=symbol indicates matching on the point in the buffer. (I did not know about that last one!)Apparently, they know these things because they are also working on their own clone of Emacs in Java for the JVM called Juicemacs (the name “Juice” upholding the theme of Java-based applications being named after drinks), and I deduce that their approach is to read through the Emacs C source code to ensure better compatibility. This is now the fourth modern Emacs+EmacsLisp clone that is still under active development that I know of, fascinating work!
My approach is to clone Emacs well enough to get it to pass regression tests, and I don’t read the C source code, I do black-box testing (because those tests become regression tests for my own source code).
Also, the goal with the Schemacs project is more to provide a Scheme-based Emacs that is backward-compatible with GNU Emacs. You use Schemacs because you want to program it in Scheme, not Emacs Lisp, but Emacs Lisp is there for you so you can still use your Emacs config. As a result, I will ignore a lot of these fussy details of the GNU Emacs implementation unless it is going to prevent regression tests from passing.
#tech #software #Emacs #GNUEmacs #Schemacs #EmacsLisp #Lisp #Java #Scheme #R7RS #SchemeLang #LispLang #JavaLang
-
“Why rewriting Emacs is hard,” by @kanaYes it is, I can tell you from experience. Of course, I was never under any illusion that it would be easy.
@kana , a.k.a. “Gudzpoz,” wrote a blog post which was shared on Lobste.rs, and they kindly mention my own Emacs clone Schemacs, though they refer to the old name of it “Gypsum” because they are citing my EmacsConf 2024 presentation done before the name changed.
It is a pretty good post going over some of the odd details about how Emacs edits text, e.g. the character range is from
0x0 to 0x3FFFFFFrather than the Unicode standard range from0x0 to 0x10FFFF, issues with using a gap buffer as opposed to a “rope” data structure, attaching metadata (text properties) to strings to render different colors and faces, and issues with Emacs’s own unique flavor of regular expressions in which the\=symbol indicates matching on the point in the buffer. (I did not know about that last one!)Apparently, they know these things because they are also working on their own clone of Emacs in Java for the JVM called Juicemacs (the name “Juice” upholding the theme of Java-based applications being named after drinks), and I deduce that their approach is to read through the Emacs C source code to ensure better compatibility. This is now the fourth modern Emacs+EmacsLisp clone that is still under active development that I know of, fascinating work!
My approach is to clone Emacs well enough to get it to pass regression tests, and I don’t read the C source code, I do black-box testing (because those tests become regression tests for my own source code).
Also, the goal with the Schemacs project is more to provide a Scheme-based Emacs that is backward-compatible with GNU Emacs. You use Schemacs because you want to program it in Scheme, not Emacs Lisp, but Emacs Lisp is there for you so you can still use your Emacs config. As a result, I will ignore a lot of these fussy details of the GNU Emacs implementation unless it is going to prevent regression tests from passing.
#tech #software #Emacs #GNUEmacs #Schemacs #EmacsLisp #Lisp #Java #Scheme #R7RS #SchemeLang #LispLang #JavaLang
-
...and @ktoso takes you beyond the world of C interop with Explore Swift and Java interoperability
-
Happy happy birthday #Javalang ❤️
https://blog.jetbrains.com/idea/2025/05/do-you-really-know-java/
-
@postmodern Why is this worse than any other browser? Most of the listed vulnerabilities I skimmed weren't memory or pointer issues, so using #GoLang or #RustLang wouldn't have prevented most of them. Quite a few are also #Android specific, which is more of a #JavaLang and ecosystem problem.
Don't get me wrong. I'm sorry to see Mozilla embrace or support advertising vectors. I'm just not sure I see a *current* security connection absent API changes.
-
@kicolobo @carlosenog @faermanj Se tudo correr bem essas value classes irão aterrisar na #javalang em uns 2 anos.
-
FOSDEM 2024 OpenJDK project Wakefield the Wayland desktop for JDK on Linux
https://ftp.fau.de/fosdem/2024/ub5132/fosdem-2024-2154-openjdk-project-wakefield-the-wayland-desktop-for-jdk-on-linux.av1.webm -
If you're coming from Java, here's a mapping between primitives and Rust's types:
byte -> i8
short -> i16
int -> i32
long -> i64
float -> f32
double -> f64
boolean -> bool
char -> [no 1:1 mapping, Rust's char is a UTF-32, whereas Java's is a UTF-16] -
jRust, a Rust macro that parses Java-like syntax and runs it as a Rust program, https://gitlab.com/jD91mZM2/jrust.
Because why not!