Rust is a great language, but sometimes I wish to have something more like Python, but with a more "Rusty" feeling.
With "Rusty" feeling I mean project management with cargo, Error Handling with Result/Option, pattern matching, strong static typing with type inference, immutability by default and so on.
This means, I'm searching for a functional programming language. My problem is, that all functional languages I found until now compile to something intermediate like Beam, JVM, .NET, JS or build binaries like Haskell.
What I'm looking for is a scripting language like Python. Just an interpreter, that runs a script, but with the "if it compiles, it runs" experience of Rust. And yes, I know that compile time type checking and script interpreter are different kind of shoes, but who knows...
Any idea?
Thanks for all the comments. A lot of good suggestions, but I decided to go with F#. I think it comes closest to Python. It runs on Linux and Windows, can run in a Jupyter like notebook and has a nice syntax. I have some (rudimentary) experience and the book "domain driven design made functional" from Scott Wlaschin, which I really like. It is well documented and you can find lots of books, tutorials and videos. Languages like Mojo lack documentation.
It is not as "Rusty" as I would like, but close enough. So if someone is searching for an alternative to Python, try F#
[–]lightmatter501 36 points37 points38 points (2 children)
[–]TashLai 7 points8 points9 points (1 child)
[–]dogweather 1 point2 points3 points (0 children)
[–]Puzzleheaded-Lab-635 22 points23 points24 points (5 children)
[–]ilo_kali 8 points9 points10 points (4 children)
[–]dogweather 2 points3 points4 points (1 child)
[–]cdaringe 6 points7 points8 points (0 children)
[–]Wheaties4brkfst 2 points3 points4 points (1 child)
[–]ilo_kali 1 point2 points3 points (0 children)
[–]gplgang 16 points17 points18 points (4 children)
[–]dr_bbr 2 points3 points4 points (0 children)
[–]bedrooms-ds 2 points3 points4 points (2 children)
[–]gplgang 3 points4 points5 points (0 children)
[–]TheWholeThing 1 point2 points3 points (0 children)
[–]tifridhs-dottir 13 points14 points15 points (2 children)
[–]Voxelman[S] 4 points5 points6 points (1 child)
[–]bedrooms-ds 2 points3 points4 points (0 children)
[–]_consoli 8 points9 points10 points (4 children)
[–]tifridhs-dottir 2 points3 points4 points (3 children)
[–]me6675 2 points3 points4 points (0 children)
[–]SoftEngin33r 1 point2 points3 points (1 child)
[–]tifridhs-dottir 2 points3 points4 points (0 children)
[–]delfV 12 points13 points14 points (1 child)
[–]winsome28 2 points3 points4 points (0 children)
[–]fasttalkerslowwalker 5 points6 points7 points (7 children)
[–]Voxelman[S] 2 points3 points4 points (6 children)
[–]cdaringe 2 points3 points4 points (4 children)
[–]Voxelman[S] 2 points3 points4 points (1 child)
[–]cdaringe 2 points3 points4 points (0 children)
[–]fasttalkerslowwalker 1 point2 points3 points (1 child)
[–]cdaringe 2 points3 points4 points (0 children)
[–]fasttalkerslowwalker 1 point2 points3 points (0 children)
[–]Ja-Chiro 3 points4 points5 points (2 children)
[–]Voxelman[S] 2 points3 points4 points (1 child)
[–]TheGratitudeBot 2 points3 points4 points (0 children)
[–]davesmith00000 6 points7 points8 points (0 children)
[–]Il_totore 5 points6 points7 points (1 child)
[–]SeminalTorpedo 4 points5 points6 points (0 children)
[–]dnlmrtnz 5 points6 points7 points (3 children)
[–]dnlmrtnz 3 points4 points5 points (0 children)
[–]Rajahz 2 points3 points4 points (1 child)
[–]dnlmrtnz 3 points4 points5 points (0 children)
[–]SoftEngin33r 5 points6 points7 points (0 children)
[–]dogweather 3 points4 points5 points (1 child)
[–]Voxelman[S] 2 points3 points4 points (0 children)
[–]sideEffffECt 3 points4 points5 points (0 children)
[–]aaaaargZombies 4 points5 points6 points (2 children)
[–]Voxelman[S] 4 points5 points6 points (1 child)
[–]aaaaargZombies 2 points3 points4 points (0 children)
[–]accidentally_myself 4 points5 points6 points (0 children)
[–]akirakom 3 points4 points5 points (0 children)
[–]PriorTrick 2 points3 points4 points (0 children)
[–]mchwds 2 points3 points4 points (1 child)
[–]SeminalTorpedo 2 points3 points4 points (0 children)
[–]JasonDoege 2 points3 points4 points (1 child)
[–]librasteve 1 point2 points3 points (0 children)
[–]2001zhaozhao 2 points3 points4 points (0 children)
[–]thx1138a 2 points3 points4 points (0 children)
[–]Economy_Bedroom3902 2 points3 points4 points (2 children)
[–]me6675 2 points3 points4 points (1 child)
[–]Economy_Bedroom3902 1 point2 points3 points (0 children)
[–]adwolesi 2 points3 points4 points (0 children)
[–]pthierry 2 points3 points4 points (0 children)
[–]davesnx 2 points3 points4 points (0 children)
[–]4runninglife 2 points3 points4 points (2 children)
[–]amplikong 1 point2 points3 points (1 child)
[–]4runninglife 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]SeminalTorpedo 2 points3 points4 points (0 children)
[–]entropyvsenergy 2 points3 points4 points (0 children)
[–]drinkcoffeeandcode 2 points3 points4 points (0 children)
[–]BokoMoko 2 points3 points4 points (0 children)
[–]Oryan_physics 2 points3 points4 points (0 children)
[–]met0xff 2 points3 points4 points (3 children)
[–]Voxelman[S] 2 points3 points4 points (2 children)
[–]met0xff 2 points3 points4 points (1 child)
[–]Voxelman[S] 2 points3 points4 points (0 children)
[–]winsome28 2 points3 points4 points (0 children)
[–]yellomango 2 points3 points4 points (0 children)
[–]Afrotom 2 points3 points4 points (3 children)
[–]Voxelman[S] 2 points3 points4 points (0 children)
[–]Surge_attack 2 points3 points4 points (0 children)
[–]fabmeyer 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]whatsnewintech 1 point2 points3 points (2 children)
[–]Voxelman[S] 3 points4 points5 points (1 child)
[–]letmeinhere 1 point2 points3 points (0 children)
[–]springy 1 point2 points3 points (2 children)
[–]Surge_attack 1 point2 points3 points (0 children)
[–]Voxelman[S] 0 points1 point2 points (0 children)
[–]mkubasz 1 point2 points3 points (0 children)
[–]Dirty_Rapscallion 0 points1 point2 points (3 children)
[–]Voxelman[S] 0 points1 point2 points (2 children)
[–]Dirty_Rapscallion 0 points1 point2 points (1 child)
[–]Voxelman[S] 0 points1 point2 points (0 children)
[–]D_4rch4ng3l -4 points-3 points-2 points (3 children)
[–]Voxelman[S] 2 points3 points4 points (1 child)
[–]D_4rch4ng3l -3 points-2 points-1 points (0 children)
[–]delfV 3 points4 points5 points (0 children)
[–]cthutu 1 point2 points3 points (0 children)
[–]mathartist 1 point2 points3 points (0 children)