Earlier quoted context omitted.
Agreed, but those languages aren't trying to be a "Full-Stack" language. With great power...blah blah you get the point ;)
PreScheme, Nim... Very powerful. Compiled to C for performance.
Red programming language 0.6.2: LibRed and Macros
81–86 of 86 posts
Re: Red programming language 0.6.2: LibRed and Macros
#82Earlier quoted context omitted.
thanks for answering. > Why do you think it's pointless to learn without knowing how it handles memory? I think that a non trivial program will have to employ dynamic memory allocation, so if it is not obvious how to do that then it will not be possible to write a complex program. Learning a language that can handle only simple cases may have some uses, but you already have existing tools for that.
Got it. Red does manage memory for you, but no GC yet so can't do long-running procs without care. I've written small Red apps that used 800MB, loading a large dataset. Totally stable but, again, maybe wait for GC if you're going to grind a lot. Red's complete toolchain, compiler, linker, etc. are bootstrapped entirely in Rebol2. Red is more capable than R2 (though alpha, with features pending), so it's safe to expec…
Re: Red programming language 0.6.2: LibRed and Macros
#83Earlier quoted context omitted.
Where do you see a nice list of these types?
The Red website has it somewhere, but they're focusing on the Lang and not the site at the moment, so it might be hard to find. I think the Rebol website (successor language that is mostly compatible although interpreted only) should have a lot of those.
I think that this is backwards; Red is inspired by Rebol, which is relatively old:
> Red is a computer programming language. Red was made to overcome the limitations of the programming language Rebol.
(https://en.wikipedia.org/wiki/Red_(programming_language) ).
Re: Red programming language 0.6.2: LibRed and Macros
#84Their reactive (dataflow) dialect is beautiful.
Re: Red programming language 0.6.2: LibRed and Macros
#85Earlier quoted context omitted.
No need to apologize, that was a good example :) I liked this big: >> unique collect [foreach val blk [keep type? val]] == [word! time! email! url! paren! file! issue! pair! tuple! set-word!] I think it could almost be read and understood by a person who does not know REBOL or Red.
Yup. We often write code like normal programmers, but sometimes we do build up vocabularies more, even when not using `parse` to write DSLs. "Red or REBOL" = Redbol (sounds like Red Bull) :) And where Perl has Mongers, Ruby has Rubyists, Python has Pythonistas, and Rebol has Rebolers, Red has Reducers.
Re: Red programming language 0.6.2: LibRed and Macros
#86Rebol looks interesting; what does Red do for memory management? Is it garbage collected or does it do reference counting? If it is reference counted then what does it do with circular references? i did take a glance at the documentation but did not find the answer to this question - without knowing how the thing allocates memory it is sort of pointless to invest time into learning the language...
Red will have GC, but it's not there yet. Soon. Red/System is a C level language, where you have to alloc/free yourself. Why do you think it's pointless to learn without knowing how it handles memory?
- GC is added after a lot of language is already there.
- Actors are planned to be added _after_ I/O, and _after_ GC, and _after_ all the GUI capabilities (Trello board lists "figure out how to rewrite event loop with actors")
- A lot of FFI is already there, so GC, and actors are coming after FFI.
These are not features you add on top of a language and hope they magically work. Actors directly affect how I/O and GC work. GC should be very aware of how FFI works. etc.etc.etc.
A lot of these issues are dismissed by the core team as "it's not difficult to write a GC, we have it in a branch somewhere" (referring to a naïve mark-and sweep stop-the-world GC).