lainchan / λ

(untitled)

Splicer · 2017-10-22 21:06
I hadn't taken a closer look at the REBOL language family before, but someone just showed me the Red language which belongs to the same family, and I was very positively surprised: http://www.red-lang.org HOW THE fuarrrk DOES SO MUCH MAGIC FIT IN A 1 MB EXECUTABLE?!? In particular, it definitely has the easiest to use GUI library that I've ever seen, to the extent where I could see a complete newbie write fairly complex GUI applications with no prior programming experience. It's supposed to have really good metaprogramming functionality as well, though I haven't quite gotten that far. I could definitely see myself using it for quick scripting purposes where I also want a simple GUI to go with it. This is one of those rare situations where I feel that I haven't learned the core language at all beyond some vague familiarity, but I'm already managing to write practical programs that I wouldn't have managed to do in the languages I know until I became fairly seasoned, and I am spooked.
Unknown · 2017-10-22 22:42
Judging from the code examples, it does look very readable and simple to set up. Probably because it lacks special characters or abbreviated function names like cons/car. Might pick this up sometime this weekly. Have you made any interesting programs with it yet?
Agent Smith · 2017-10-23 03:18
there are so many new languages that can do xyz better that ive become jaded to be honest
Yet Another Lainon · 2017-10-25 08:49
That design makes me want to press that button so bad. That aside, it's absurd how terse and powerful this is; but it allows some pretty weird runtime errors atm. Waiting to see where it goes.
Yuki Nagato · 2017-10-26 03:25
>>4558 Yeah, it occupies a very interesting point in the design space that hasn't been explored much. Prototypical OO along with a simple enough syntax to enable better-than-lisp metaprogramming and absurdly powerful DSL's. The downside of that is that when you combine weak dynamic typing, prototypes, and heavy reliance on advanced metaprogramming techniques, you end up with a somewhat error-prone system. It'd be interesting to see if someone could come up with a static typed language in the same family that keeps the terseness. That's probably possible, but in order to make it work it'd require changing the built-in parser system in order to make typed DSL's, since having DSL's that integrate seamlessly with the language itself is one of the family's key strengths. Possibly using some variant of parser combinators?
fsociety · 2017-10-26 03:46
>>4565 i thought red had optional static typing
Technician · 2017-10-26 04:45
>>4566 It does. But the type system is very basic, and lots of things just have the same type.
Rick Deckard · 2017-10-26 05:08
>>4567 With that said, while the type system is fairly minimal, type inference works really well when you do add type annotations. The system is really good at catching type errors by inferring types. The issue is more that many things are not type errors. All objects have the same type (object! ), so you do sort of have an equivalent of Javascript's "undefined is not a function" errors if you use objects.
Hong, Guil Dong · 2017-10-26 06:23
>>4568 I'm interested in Red but I think I want to wait for more stability, maybe a 1.0