8 ms·
Red Programming Language 0.6.3
- Buttons840 9y agoRed looks like a good language. They seem to be supporting Linux last though, which has kept me from trying it personally.
- ncx 9y agoLinux supports everything that Windows and MacOS supports except for GUI. As for GUI, https://gitter.im/red/red/welcome?at=595f60f50de4d2545e026e52 https://gitter.im/red/red/welcome?at=595f60f50de4d2545e026e5... > No timeframe until we find someone to work on it. Though, we should be presenting Red at the GNOME global conf in China on October, so I hope we can find someone motivated and skilled enough there to work on it. So Linux GUI might come not too late.
- vanderZwan 9y agoThat sounds a bit like a chicken and egg problem to me
- tgb 9y agoNon-mobile link which has more links to other content: http://www.red-lang.org/2017/07/063-macos-gui-backend.html http://www.red-lang.org/2017/07/063-macos-gui-backend.html
- throwaway7645 9y agoI'm always excited for a new Red release. I'm glad they're taking time to get the GUI DSL right for 10 platforms, but I hope it doesn't come at the detriment of enhancements to Red/System, Multi-Core, Concurrency, and all the other promised goodies. The thing badly needed at this point I think is better doc. I know it is ~95% compatible with REBOL, but honestly the REBOL doc is very basic. It shows you how to do a lot of neat things with the built in DSLs, but nowhere and i mean anywhere does it show you in any detail how to implement your own DSL, while you frequently hear about how powerful the dialects are. I'm still super pumped about this language and am thrilled for each new release.
- akavel 9y agoI also tried to learn the "PARSE dialect" (the DSL coding mechanism of REBOL/Red), as this is what's often claimed to be the crucial differentiating factor (the "main idea") of REBOL/Red - but I failed, because of what OP mentions. The REBOL docs feel to me more like an example-based guide, than a solid RTFM-grade manual. I find such a guide OK and valuable as a tutorial, a starting point, and to teach idioms and mindset; but then I need a reference manual to clarify all details and fully explore the topic. Also read some third-party articles on PARSE, but none of them were comprehensive enough (AFAIR, mostly being tutorial-like too). Lua and Go do it well in my opinion - they both provide a solid tutorial-like experience, but then a full-blown, well written reference manual too.
- dockimbel 9y agoThere are two third-party reference-like (but non-authoritative) documentations that I know of [0][1]. A Red reference documentation for Parse will be available later this year. [0] https://en.wikibooks.org/wiki/REBOL_Programming/Language_Features/Parse/Parse_expressions#Differences_between_R2_and_R3_parsing https://en.wikibooks.org/wiki/REBOL_Programming/Language_Fea... [1] https://github.com/gchiu/rebol.net/blob/master/wikipedia/Parse%20Project.wiki https://github.com/gchiu/rebol.net/blob/master/wikipedia/Par...
- akavel 9y agoThanks Nenad! :) The links indeed look interesting, at least at a first glance, though it seems not quite clear to me which keywords are R2 vs. R3 (proposals?) vs. Red, especially in the link marked as [1]. Still, at least that's something, will certainly be very useful if I try to understand PARSE again at some point in future. And I'm very happy to hear you're planning some more comprehensive docs for Red!
- throwaway7645 9y agoGood to see I'm not the only one that has trouble transitioning from playing with Rebol to actually using it in non-trivial programs. Sure they have a form of OO, but I'm not sure if it is really idiomatic to use it a bunch or if coding should be more like C. I'm prepared for Red zealotry though if they can provide the experience that they're aiming for along with good doc.
- axaxs 9y agoAm I reading this right? A single binary, less than 1mb in size, that handles GC and cross compiles? Color me impressed. Looking at platforms, does it not do 64 bit?
- ncx 9y ago> Looking at platforms, does it not do 64 bit? Right now, it only compiles to 32 bit binaries (which can run on both 32 and 64 bit OS). 64 bit support will come after the compiler is bootstrapped. > and cross compiles Yup, easy cross compilation. You do not need different cross compilers for different platforms a la llvm and gcc, a single 1 mb binary can produce binaries for all supported platforms.
- m-j-fox 9y agoI looked over the code to guage how big this 32-bit problem is. It's going to be a lot of work. 32-bit is hardcoded everywhere. Compiler, linker, libc calls. So, on one hand, there's massive cross-platform support. On the other hand, those platforms are all obsolete, or about to be. Even the mobile and embedded ones have all gone 64-bit. Maybe backwards compatibility will be maintained for a few years. But it ruins the embed-red-in-C story already.
- ncx 9y agoThe current compiler was written with the aim of quick development till 1.0 is reached (because in the initial development phase, there are obviously many other important things to focus on). So, yeah the toolchain has some issues, eg. there are very few (if any) optimizations. Also, only 32 bit is supported. There are AFAIK no plans to add 64 bit support before bootstrapping phase because the current toolchain architecture isn't that great and will be heavily improved during 1.x cycle. A bit more details here - https://gitter.im/red/red?at=56ac45a1586242210ae0704d https://gitter.im/red/red?at=56ac45a1586242210ae0704d and https://github.com/red/red/wiki/Question-about-contributing-to-core-parts-of-Red's-toolchain https://github.com/red/red/wiki/Question-about-contributing-...
- rkangel 9y ago
- _mhr_ 9y agoCould I use Red in a manner similar to Awk for record processing?
- greggirwin 9y agoYes, absolutely. Red has a `parse` function, that uses EBNF-like rules, but someone has written a nice regex translator if you need that bit. It's also possible to write a nice AWK-like dialect that handles things at a higher level. I've done that in the past. One of the current limitations is that the I/O model is simple, and there is no GC yet. Those will come in the relatively near future, but if you have large files, or need long running processes, it will be more work for a while. Still doable, just not as easy.
- deleted 9y ago[deleted]
- tbirdz 9y agoVery Cool! I've got to try this out! I'm definitely picking up a bit of a Tcl vibe here, which is another language I've been wanting to try out. Especially with the integrated GUI toolkit, it's giving me some Tk vibes as well. Does anyone know if there was any direct inspirational link from Tcl to Red/Rebol, or was it just by the nature of the idea of making an extensible langauge suitable for making lots of DSLs in?
- greggirwin 9y agoRebol/Red (a.k.a. Redbol) languages inherit from Lisp, Forth, and Logo, along with Self for the object model. Tcl was not an influence as far as I know. There will certainly be other minor influences, as Sassenrath, Ousterhout, and Cowlishaw were all important designers in that era.
- SeanDav 9y agoLooks interesting, almost too good to be true! How viable is the Android path and is the plan to fully support Mobile features? Just trying to get an idea of where Mobile development fits into the scene.
- ZenoArrow 9y agoAndroid GUI support is planned for 0.6.5. iOS support is planned but not started. Can get some sense of the maturity of different features by looking at the feature and version roadmaps: http://www.red-lang.org/p/roadmap.html http://www.red-lang.org/p/roadmap.html https://trello.com/b/FlQ6pzdB/red-tasks-overview https://trello.com/b/FlQ6pzdB/red-tasks-overview It is possible to compile console apps that run on Android right now, though AFAIR this feature isn't fully stable yet. It's also worth noting that Red can be used as an embedded language. So for example, after 0.6.5 is released, you could have an Android app where the GUI was written in Red, but code managing phone features like GPS could be written in another language. As for supporting mobile features directly, I imagine some of this will be managed by libraries rather than baked into the language runtime. Worth noting that the module system is planned for 0.8.0. However, it should be possible to write feature rich mobile apps long before then.
- ncx 9y agohttp://www.red-lang.org/2015/12/answers-to-community-questions.html http://www.red-lang.org/2015/12/answers-to-community-questio... > Will Red get direct access to Android's (and IOS later) camera, location, gyroscope, etc features? > Absolutely, our GUI engine already features a camera widget (in our Windows backend). The work on Android backend in 0.6.x version will bring wrappers to all the common hardware features. So yeah, I guess the plan would be to support all mobile features.
- get52 9y agowhy not blue lanG? XD
- agentgt 9y agoWhen Rebol first appeared it reminded me very much of new language that appear at the same time called Curl (not be confused with ubiquitous HTTP tool). The similarity, goals, and timing of release of both languages is in interesting convergence. Curl unfortunately tried to go to commercial and died a quick death. I'm glad Rebol and now Red are doing well.
- greggirwin 9y agoIndeed, Curl had a number of common goals with Rebol. Good insight.
- vram22 9y agoSuch as? Interested to know, please see sibling comment by me.
- greggirwin 9y agoThe main one was that having a single language was a win, compared to mixing 6 or 7 of them, and their associated cognitive overhead. Red expands this in both directions, with Red/System as the low level dialect and metaprogramming at the highest level.
- vram22 9y agoI got to know about the Curl language and tried it out some when it came out. (IIRC Tim Berners-Lee was involved with it in some way, and I later read that the tech was sold to some Japanese company). They had an IDE called Curl Surge (IIRC). I thought it was an interesting and potentially useful language, specially for web apps. But (with the caveat that I did not try Curl out for long), not sure how similar Curl was to Rebol. I thought Curl was a bit like Lisp, so AFAIK the only / main similarity with Rebol might have been homoiconicity (if I'm right about them both having that property). But could be wrong.