this post was submitted on 26 Oct 2025
2 points (75.0% liked)

Programming Languages

1446 readers
1 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
 

(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
[–] mobotsar@sh.itjust.works 5 points 1 month ago (8 children)

If only it had the one thing of OCaml does that's actually important: ML modules.

Okay, I'm being kinda glib. Ocaml has plenty of other stuff going for it, and F# is a great, productive language, but its biggest weakness is something it doesn't have.

[–] expr@programming.dev 3 points 1 month ago (4 children)

That, or Haskell's typeclasses (which serve much of the same need). Without one or the other you lose out on a lot of expressive power.

[–] mobotsar@sh.itjust.works 2 points 1 month ago* (last edited 1 month ago) (3 children)

Modules are substantially more expressive than typeclasses, but yes, type classes get you a decent part of the way there.

[–] expr@programming.dev 2 points 1 month ago (1 children)

They have different sets of tradeoffs and prioritize different things. Nevertheless, you can express typeclasses with the module system just as you can express the module system with typeclasses (using modern Haskell language extensions to the typeclass system). One is not more expressive than the other. You give me any usage of the module system, and I can show you how it can be done with typeclasses.

[–] mobotsar@sh.itjust.works 1 points 1 month ago (1 children)

Hah, I was afraid you would say that when I wrote my comment. I don't mean expressive in the sense of "can encode X"; I mean expressive in the sense of "can nicely encode X". The bullshit you have to put yourself through in Haskell to get the core niceties of modules is unpalatable (to me, anyway).

[–] expr@programming.dev 2 points 1 month ago

You likely aren't familiar with modern Haskell, tbh. Things have changed a lot in the last handful of years. If you give me an example, I can show you how it can be done pretty reasonably (I write Haskell professionally, fwiw).

load more comments (1 replies)
load more comments (1 replies)
load more comments (4 replies)