World: r3wp
[Red] Red language group
older newer | first last |
Kaj 7-Aug-2011 [2835] | Most of the adaptation of Syllable to standard software is in the C library. This is where the handshake between kernel and userland is done in common systems |
Dockimbel 7-Aug-2011 [2836] | Well, then I am ok to add that libC init call in Syllable's runtime part (runtime/syllable.reds) as long as it doesn't need any other OS-specific additions in Red/System. |
Kaj 7-Aug-2011 [2837x2] | OK, thanks. It will also be needed on other systems, though, in forms specific to their C library. I've already included the deviations for Linux |
I haven't tested it yet, but I'm sure that without it, things such as get-env won't work | |
Dockimbel 7-Aug-2011 [2839] | I won't add it for other OS until it becomes mandatory for Red. |
Kaj 7-Aug-2011 [2840] | That's fair enough. I also like to postpone things until they're proven necessary :-) |
Dockimbel 7-Aug-2011 [2841] | BTW, this call could prevent Red from working on Syllable as that libC init is a blackbox. I especially fear a clash with Red and libC thread init routines. |
Kaj 7-Aug-2011 [2842x2] | It would be much worse if it weren't a black box. :-) You'd have to duplicate all the initialisations done in there for all systems and all C libraries and all versions of them |
If Red threading will be incompatible with C libraries, it will be usable in pure Red programs, but not in any program that uses any library that uses the C library | |
Dockimbel 7-Aug-2011 [2844] | Some incompatibilities with multi-threaded C libs might happen, but mono-threaded C libs should be safe. |
Kaj 7-Aug-2011 [2845] | cURL is mono-threaded, though |
Dockimbel 7-Aug-2011 [2846] | I don't know exactly what libC is doing in its thread init routine nor I have time now to investigate that. We'll see if any issue arises once Red gets multithreading support. |
Kaj 7-Aug-2011 [2847] | I'm fairly sure they would be fixable |
Dockimbel 7-Aug-2011 [2848] | BTW, Red will probably be distributed both as a standalone exe and as a dynamic library. So if people wants or needs to deeply rely on C libs, they could embed Red in a C project easily. |
Kaj 7-Aug-2011 [2849] | For Syllable Desktop I have to disable CDROM support, because we have only recently ported that to SDL. But now I get the windows, both with and without border |
Pekr 8-Aug-2011 [2850] | it should not be difficult to port View engine, no? SDL is surely very welcomed .... |
Kaj 8-Aug-2011 [2851x2] | The View engine is under unknown licence, so it's useless |
Do you see them as competing? If the View engine were BSD, I would still put it on top of SDL | |
Henrik 8-Aug-2011 [2853] | Isn't it enough to just make it behave like View? |
Kaj 8-Aug-2011 [2854x2] | I hope so |
There will always be subtle differences, though, so like Red, it won't be fully compatible | |
Henrik 8-Aug-2011 [2856] | View is events, basic graphics structure, DRAW and window handling, as I see it. |
Kaj 8-Aug-2011 [2857x3] | All that except DRAW is done by SDL. For extra functionality, there are many libraries |
This is what I want to make: | |
http://www.youtube.com/watch?v=8nA4WaJTc7Y&NR=1 | |
Endo 8-Aug-2011 [2860] | GEOS on C64 is much better :) http://www.youtube.com/watch?v=j1Mnvead8Tc |
Dockimbel 8-Aug-2011 [2861x4] | Support for functions with variable number of arguments just released. |
New attribute 'variadic documentation: http://static.red-lang.org/red-system-specs.html#section-6.3.3 | |
New attribute 'typeinfo documentation: http://static.red-lang.org/red-system-specs.html#section-6.3.4 | |
'typeinfo is a variant of 'variadic that provides also argument type at runtime. | |
Kaj 8-Aug-2011 [2865x2] | Shouldn't that be type-info? |
Endo, it's in development | |
Dockimbel 8-Aug-2011 [2867x3] | I want attributes to be single words, so as callback is also wrote without an hyphen, I decided to do the same for typeinfo. |
I might change 'typeinfo to 'type or 'info only, but these words alone are too common, so, not enough accurate. | |
If someone has a better proposition for 'typeinfo, I am ready to replace it. | |
Kaj 8-Aug-2011 [2870x2] | Callback is written like that in English (otherwise it would be a verb instead of a noun), but type info is written as two words |
TYPED would also do | |
Gregg 8-Aug-2011 [2872] | TYPED sounds good, based on a glance at the docs. |
Kaj 8-Aug-2011 [2873x2] | I can now draw a pixel on an SDL screen in a format of 32 bits per pixel |
Humble beginnings, but I've had a series of issues already | |
Gregg 8-Aug-2011 [2875] | Getting the basics working is sometimes the hardest part. |
Dockimbel 9-Aug-2011 [2876x2] | I had TYPED in my short-list, so I guess it would be a better choice for a single word. |
Now that variable arguments and RTTI are available, I have re-designed the basic screen printing functions. I have inserted a _ character in front of all PRIN-* functions, as they should not be used anymore in the general case (I might drop them completly later if they are not useful anymore). Before releasing it, I would like to get some feedback first. Now only the polymorphic PRINT and PRINT-WS (inserting spaces) functions should be needed. LF, CR, TAB, SPACE have been declared, so can be freely used in print blocks (or anywhere else). Variadic and typed functions have now a relaxed syntax, allowing to pass a single argument without enclosing [ ] brackets. PRINT: print one or several arguments one after each other. PRINT-WS: print one or several arguments, inserting a space character between each arguments. Here how it looks now: * printing without newline print "hello" print 123 print ["hello" 123 tab "world"] * printing with newline print ["hello" lf] print [123 lf] print ["hello" 123 tab "world" lf] * printing with space inserted print-ws ["hello" 123 "world"] print-ws ["hello" 123 tab "world" lf] | |
Kaj 9-Aug-2011 [2878x2] | Very nice. This takes Red/System a step beyond C |
The only thing I'm not wild about is the print-ws name. Do you think something like print-wide would be too long? | |
Dockimbel 9-Aug-2011 [2880x2] | Well I consider PRINT-WS already too long, but -WIDE is nicer, so it might be a good alternative. |
I use a lot of PRIN-* functions every day for debugging purpose, so this new, much more powerful PRINT alternative, will save me a few hundred keystrokes each day (just not having to type PRIN NEWLINE anymore makes me happy). :-) | |
Kaj 9-Aug-2011 [2882] | :-) It also reads a lot more elegant |
Dockimbel 9-Aug-2011 [2883] | Indeed. |
Endo 9-Aug-2011 [2884] | In PureBasic, there are Print and PrintN functions. PrintN adds new-line to the end. For Print-ws, what about Print-Form ? |
older newer | first last |