3

(as an interested university student:) From Programming at a small scale in Javascript and Logo¹, I have gathered that not knowing what type something is can be annoying. They also have REPLs, which is pretty nice. From various blog posts and debugging Rust programs, I have learned that not having a REPL can be annoying. Are there languages that have both?

(¹ Logo is a "lisp" with omitable parentheses, where these also don't define runtime-mutable s-expressions, lists are in brackets, and also Logo doesn't have structs, giving it bad maintainability outside of not having Type Annotation too)

Candidates

  • C# : Does it have a repl?
  • Java in BlueJ somehow
  • sometimes people just put Lisp or Lua in their C/Rust++ program (emacs, shenzhen I/O(game)), this accomplishes a similar task of making some debugging or scripting code faster to compile/interpret, but slower to run
you are viewing a single comment's thread
view the rest of the comments
[-] Ephera@lemmy.ml 5 points 2 months ago

I guess, Python technically counts, although the type annotations were one hell of an afterthought.

I do feel like the two features are somewhat at odds with each other.
A REPL is useful for quickly trying something out, which you'd typically use to put together a quick script. In a larger application, you generally want to define unit tests, which make your "quickly trying something out" reproducible and automateable.
Meanwhile, type annotations primarily start to shine in larger applications, where you cannot keep the whole context in your head and where refactorings become problematic, when nothing checks that the parts still work together.

In some sense, they also don't work well together. Type annotations work best when the whole context is known. But in a REPL, you almost always have an incomplete context, because you're still typing everything out.
So, it cannot type-check the first few lines you write and it becomes awkward to try to show type errors once the context is complete, because the code isn't on-screen anymore.

this post was submitted on 26 Oct 2025
3 points (80.0% liked)

Programming Languages

1453 readers
2 users here now

Hello!

This is the current Lemmy equivalent of https://www.reddit.com/r/ProgrammingLanguages/.

The content and rules are the same here as they are over there. Taken directly from the /r/ProgrammingLanguages overview:

This community is dedicated to the theory, design and implementation of programming languages.

Be nice to each other. Flame wars and rants are not welcomed. Please also put some effort into your post.

This isn't the right place to ask questions such as "What language should I use for X", "what language should I learn", and "what's your favorite language". Such questions should be posted in /c/learn_programming or /c/programming.

This is the right place for posts like the following:

See /r/ProgrammingLanguages for specific examples

Related online communities

founded 2 years ago
MODERATORS