• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp4382
r3wp44224
total:48606

results window for this page: [start: 47601 end: 47700]

world-name: r3wp

Group: Red ... Red language group [web-public]
Dockimbel:
19-Sep-2011
Well, it depends if the function taking a function pointer is invoking 
it directly or if it's passing it to another function (local or imported). 
In the former case, the compiler can set the right cconv itself, 
in the latter case, it can't and need some help from the user.
Dockimbel:
19-Sep-2011
The inferer is very simple, it just looks at the cconv of the calling 
function and propagates it to the callback. If the callback has already 
a cconv defined, it checks if both cconv matches, and raise an error 
if it's not the case.
Dockimbel:
19-Sep-2011
Ok, these are the changes I will make today wrt cconv resolution:

- 'cdecl and 'stdcall keywords will be accepted as function attributes.

- 'callback attribute remains, it lets the compiler decide on the 
cconv to apply. If it fails to solve it, an error will be raised 
and user will have to manually set it instead (replacing 'callback 
by 'cdecl or 'stdcall).
Pekr:
19-Sep-2011
then we need typesets and attribute sets :-)
Dockimbel:
19-Sep-2011
I think I see your concern. It might be probably less confusing to 
leave the 'callback keyword mandatory for "callbacks" and accept 
'stdcall and 'cdecl as additional attributes, but it is a bit more 
verbose also.
Kaj:
19-Sep-2011
What's the difference between a cdecl callback and a regular cdecl 
function?
Kaj:
19-Sep-2011
I thought so, so why not drop the callback attribute and let the 
programmer decide whether it is used as a callback or not?
Dockimbel:
19-Sep-2011
But in such case, users woud have to always set the cconv manually 
and the compiler wouldn't be able to help catch errors.
Dockimbel:
19-Sep-2011
The current 'callback attribute triggers the compiler inferer and 
cconv errors.
Dockimbel:
19-Sep-2011
If we get rid of 'callback attribute, then only 'cdecl attribute 
will be required and it will have to be set manually everywhere it 
is needed.
Dockimbel:
19-Sep-2011
This might be the best option currently, as it would just require 
users to change 'callback to 'cdecl in most cases and just drop the 
'callback attribute in other cases.
BrianH:
19-Sep-2011
Then we could just specify 'callback if we want the system to guess, 
'cdecl if we know it's that, and nothing if stdcall.
Dockimbel:
19-Sep-2011
No, it can't work that way. If 'callback is used, then we need the 
error system to catch the unresolved cases, so we need to set initially 
every callback function calling convention as "unknown" instead of 
stdcall. For the unresolved cases, the user must be able to set manually 
the convention, so he needs both 'cdecl and 'stdcall to be accepted.
BrianH:
19-Sep-2011
I guess I just don't understand well enough what is done to support 
callbacks. If you specify a 'callback attribute, is there a shim 
created that marshalls arguments from the callback calling convention 
(cdecl or stdcall) to the internal calling convention of the function 
(stdcall or cdecl)? And if you specify 'cdecl or 'stdcall, does that 
affect the internal calling convention so that no shim is required?
Dockimbel:
19-Sep-2011
When you use 'callback attribute on a function, the compiler just 
tries to determine what is the appropriate calling convention to 
apply internally to the callback function. In order to acheive that, 
it checks the first caller function that will take the callback as 
argument and set the callback to the same calling convention. This 
part is done by the compiler's front-end, which just tries to set 
the calling convention correctly (just a word! in an internal block!), 
nothing else.


The compiler's back-end just emits the right code for whatever calling 
convention the function has (cdecl, stdcall, syscall, ...).
Dockimbel:
20-Sep-2011
I have pushed a new revision of Red/System where the 'callback attribute 
is removed. Also, 'cdecl and 'stdcall are now accepted as functon 
attributes. I will update the specifications accordingly later today.
Kaj:
20-Sep-2011
I can create and close an SQLite database now
Kaj:
20-Sep-2011
Now I can execute SQL statements on a database, and process the results 
row by row with a callback
Janko:
21-Sep-2011
I copy/pasted it do text editor and was able to login. The code for 
GTK looks very nice
Dockimbel:
21-Sep-2011
I am using Chrome 14 on Win7 and have no issue reading the captcha.
Kaj:
21-Sep-2011
There are sample WAV files, and BMP files for PeterPaint, in the 
SDL documentation
Kaj:
27-Sep-2011
Implemented the SQLite type system and stepwise query processing
Kaj:
27-Sep-2011
Values can now be extracted with optimal efficiency and control
Kaj:
27-Sep-2011
Precompiled SQL statements can now be bound and rebound to external 
parameters
Kaj:
28-Sep-2011
I don't know if anyone has tested it, but Red/System should approach 
the speed of C. So that would be somewhere around the speed of C++ 
and such somewhat higher level languages
MikeL:
28-Sep-2011
Kaj,   I have just started to look at CURL for NTLM.   Is it just 
grab the NTLM value from the headers and pass it with CURL as with 
HTTP-Auth?  Has anyone / everyone done this already?
MikeL:
28-Sep-2011
I appreciate it. I will try a few attempts when running behind the 
firewall.  I want to put together a simple regression package for 
a web site using CURL and REBOL and/or RED.
Kaj:
28-Sep-2011
Have a look here at a third, under Passwords and HTTP Authentication:
Kaj:
9-Oct-2011
Implemented horizontal and vertical box layouts in the GTK binding
Kaj:
11-Oct-2011
Normally a button needs more than one parameter, so it would always 
have brackets. But here they're only used as examples, so they only 
have a display text and the brackets can be left out
Andreas:
12-Oct-2011
After having a quick glance at it, at least for utf8 it's quite basic 
and does not take any of the above overlong combinations into account.
Kaj:
18-Oct-2011
I never liked either GTK or Qt. The reason I'm binding one anyway 
is that we want native platform user interfaces for Red. Linux and 
BSD don't have a native interface, but if you have to appoint one, 
you have to appoint two: GTK and Qt
Kaj:
18-Oct-2011
Basically, to bind a C++ library, you have to write two bindings: 
one from C++ to C, and then one from C to your target language. This 
is because only C++ knows what C++ objects mean, and C++ claims that 
its object classes are a program's interface
Kaj:
18-Oct-2011
For generic libraries, binding tools exist, such as SWIG and SIP. 
Unfortunately, they don't solve the problem but only assist a little, 
and the result is very bloated
Kaj:
18-Oct-2011
Since a few years, Qt and KDE use a new tool: Smoke. It's more automated, 
so it looks like it can generate a C interface without writing C++ 
yourself. However, the cross-compilation problem still exists. Because 
the tool is so generic, the bindings it generates are also quite 
bloated and probably otherwise inefficient. In any case, it's just 
the first step for a Red binding, because I put abstraction layers 
over my bindings that are much more REBOL like
Kaj:
18-Oct-2011
So I chose GTK to support as the "native" GUI for Linux and BSD. 
It can also run on several other platforms until we have native support 
for those
Kaj:
18-Oct-2011
I'm not planning to fragment the effort by doing a Qt binding as 
well, but I did evaluate it, and the decision could change if I would 
be funded for it
Gabriele:
19-Oct-2011
TL;DR: the creators of C++ and C++ compilers decided that the world 
was not complicated enough, so they worked hard to make it more complicated.
Kaj:
21-Oct-2011
It discusses 0MQ and shows SDL and GTK, but it's a primitive Hello 
World example when the GTK binding was only a week old, and callbacks 
in Red weren't fixed yet
Dockimbel:
21-Oct-2011
BTW, do you plan to make a small documentation on the GTK+ binding 
API and/or a dedicated web page?
Kaj:
21-Oct-2011
Thanks. I'm limiting the documentation to the examples for now. I 
have to choose between writing documentation or more bindings, and 
I need the bindings
Kaj:
21-Oct-2011
Implemented TEXT and AREA styles, based on the GTK text view widget
Kaj:
22-Oct-2011
I can't implement things such as GTK sliders and progress bars, because 
they use floats
Kaj:
22-Oct-2011
That's a pity, because Jaromil requested slider and file selector 
widgets from me. When he has those, he can start using Red for a 
GUI for his Tomb security tool
Dockimbel:
22-Oct-2011
I understand the frustration...If it could be added in 2-3 days, 
I would add it now, but a complete support would require much more 
time. I will try next week to make a more accurate evaluation of 
all the additions and changes required in Red/System compiler for 
supporting float numbers.
Kaj:
22-Oct-2011
Implemented SECRET style, for hiding entering passwords and such
Kaj:
22-Oct-2011
Both single and double precision floats will be necessary to interface 
with other subsystems
GrahamC:
22-Oct-2011
And that can't be done by linking to a math library?
Kaj:
22-Oct-2011
Implemented activate action for FIELD and SECRET styles, so that 
they can respond to pressing the enter key
Pekr:
23-Oct-2011
According to Twitter message, Doc got simple program compiling and 
running on Linux ARM. Nice and congrats :-)
Kaj:
23-Oct-2011
And the meaning of life, of course
Kaj:
25-Oct-2011
Implemented all the needed GTK constructs and a convenience function 
for actually extracting the text content from an AREA widget
Kaj:
26-Oct-2011
Added dynamic scroll bars to the AREA widget and normalised its appearance 
like other input widgets
Kaj:
26-Oct-2011
The obvious defaults and accessors that you would expect often aren't 
there
Claude:
27-Oct-2011
thank you very much kaj and dockimbel ;-)
Kaj:
28-Oct-2011
Nice new features are side-by-side diffs and support for symbolic 
links
Kaj:
30-Oct-2011
It does Flash and everything
Kaj:
31-Oct-2011
Thanks. It's remarkable how big the gap is between the low and high 
hanging fruit. I've spent ten years on Syllable and REBOL, and three 
hours on this browser so far, including the WebKitGTK+ binding
Kaj:
31-Oct-2011
Reviewed some Python, Ruby and Haskell bindings for GTK, and they 
all look like my Goodbye Cruel World example in various incarnations, 
instead of my Hello World example :-)
Kaj:
31-Oct-2011
GTK's, and other IDEs', idea has always been that Glade, and now 
a newer interface builder, makes it easier, but combining a generated 
XML interface definition manually with some code language doesn't 
compare to Red/System
Dockimbel:
3-Nov-2011
You can't reuse a function name in Red/System. `printf`and `free` 
are already defined in the runtime source code (%red-system/runtime/). 
If you provide alternative names (not used by the runtime) for those 
imported functions, it will work correctly.
Dockimbel:
6-Nov-2011
Being able to make GUI apps on Android requires at least two more 
steps:
- have Red/System linker be able to generate shared libraries

- build a generic Java bridge to be able to instanciate java objects, 
invoke methods and receive events
Pekr:
6-Nov-2011
I finally find some time to read Red/System doc, and I have a novice 
question - what is basically the difference of cdecl or stdcall? 
Respectively - when wrapping API stuff, how do I know which one to 
use? I expect this area is for more skilled C developers, than occassional 
interface users?
Dockimbel:
6-Nov-2011
what is basically the difference of cdecl or stdcall?


See this wikipedia page for some basic info about calling conventions: 
http://en.wikipedia.org/wiki/X86_calling_conventions


Respectively - when wrapping API stuff, how do I know which one to 
use? 


When you're wrapping an API, you should find out how the library 
was compiled, and infer from that what calling convention is required. 
Most of C libs are using cdecl, while the Windows win32 API uses 
stdcall.
BrianH:
6-Nov-2011
The NDK supports compiling to 3 different native formats right now 
- two ARM platforms, and x86. You can create an APK that supports 
one or more of these platforms. The binaries are packaged into an 
archive, with the binaries of different platforms put into subdirectories 
in that archive. When an APK is installed, only the binaries for 
the supported platform(s) are loaded.
BrianH:
6-Nov-2011
In a lot of ways, Android reminds me of the Oberon System. You don't 
install apps, you install system services, that for some of the types 
of services provide a UI, and for other types of services provide 
an API or task execution model.
BrianH:
6-Nov-2011
Go for 2.0, and you'll cover almost everything. Certain Red facilities 
could require more recent versions, but between 2.0 and 2.2 there 
were mostly just features added, as far as native code is concerned. 
If you support pre-2.3, you might as well set the baseline as far 
back as 2.0.
BrianH:
6-Nov-2011
There are a lot of people still waiting for their manufacturers to 
provide upgrades from 2.1 to 2.2, so 2.1 support is a good idea. 
The main thing added in 2.2 was the Dalvik JIT compiler, and that 
doesn't really affect native code that much. The NDK docs have a 
pretty good changelog that tells you what was added in each version.
Dockimbel:
6-Nov-2011
I will stick with ARMv5 until we rewritte Red/System in Red and add 
a code optimizer. Such optimizer will be able to generate v6 and 
v7 specific code when required.
BrianH:
6-Nov-2011
Android lets you bundle seperate binaries for ARM5 and ARM7 support 
in the same APK. Which binaries get loaded depends on which level 
the phone supports, though if there's no ARM7 binary the ARM7 phone 
can run an ARM5 binary. If you want to do the progressive use of 
ARM7 features if ARM7 is available, it's best to let the APK do it 
for you. I don't think that there are any ARM6 devices for Android, 
especially since the NDK doesn't support them, but if you want to 
add ARM6 support for other platforms then cool.
Dockimbel:
6-Nov-2011
Well, I am not doing the ARM port only for Android, I target also 
iOS and some embedded boards (like e.g. the Raspberry Pi).
Group: Topaz ... The Topaz Language [web-public]
Dockimbel:
26-Jun-2011
I am pretty sure that we will find some ways to combine Topaz and 
Red at some point, once both get more mature.
Gabriele:
30-Jun-2011
But what about concentrate all the effort on one product ?


We all have different goals. My main goal is to be able to try out 
experiments (like, what would it be like to add feature X to the 
language?); there's no way I can do this with R3. Also, I don't want 
to program in C (so, again, R3 and Boron are out).


My secondary goal is to simplify creation of web and mobile applications. 
R3, RED and Boron do not run inside the browser; RED may be able 
to target mobile platforms eventually, so we may be able to collaborate 
here.
Gabriele:
2-Jul-2011
What is next is completing Topaz. The current version exists only 
so that I don't have to write any JS code in order to write the "real" 
Topaz. If you look inside next/ on the repository, i need to add 
all the datatypes and the natives, then write a translator that turns 
all that into something the current compiler can digest.
Gabriele:
19-Jul-2011
I was thinking about this:


In Topaz, you can make an op! out of any two-arguments function! 
(or native!). So, would it make sense to define IN as an op! rather 
than a function? Ie:

   'word in context

rather than

    in context 'word


The problem with it is that, contrary to +, * etc., there is no visual 
clue that IN is an op! rather than a function. However, the same 
can be said for AND, OR etc. in REBOL.


Which lead me to think: maybe the fact that the name is not a verb, 
but a preposition? In that case, should TO also be an op!?

    x to string!

rather than

    to string! x
Endo:
19-Jul-2011
Making IN and TO as OP! looks ok.
=> looks better than -> but it a bit similar >= and <=

I'm not sure if it reduces readability. Especially if we put string! 
value in a word (I'm not sure either if anyone uses this)

;rebol
>> to t 5
== "5"

;topaz
t: string!
x => t
Geomol:
19-Jul-2011
Having the ability to create operators would be a good first step 
to deside, which operators makes sense, and who don't.
BrianH:
19-Jul-2011
That would be nice, but this is also a Topaz group, and that's a 
REBOL convention :)
BrianH:
19-Jul-2011
The big problem isn't an interpreter or copying thing, it's a syntax 
thing. If Topaz keeps the same evaluation precedence as REBOL, operators 
are going to continue to be awkward. The reasons behind the REBOL 
precedence rules are sound, and derived from the interpretation method, 
but if they are emulated in Topaz we'll still have asymmetry between 
the left hand side and the right hand side of an operator, requiring 
parens to resolve. Even if they don't have runtime overhead, we still 
have to type them. Not necessarily a problem, unless Gabriele thinks 
so :)
Maxim:
19-Jul-2011
I don't find C's precedences to be that far off the mark of the most-commonly 
usefull pattern.  I don't have to write parens nearly as much in 
C than I have to in REBOL, its like a 10 to 1 ratio.  Do I feel like 
precedence is actually helping me.


its also a problem to me that rebol's clean syntax gets bloated by 
all those (relatively) useless parens.  


Add the fact that Compose will often bite you in the arse because 
of these (I do a lot of run-time code building and compiling in many 
of my apps) and its just gets really complex for nothing.
Kaj:
19-Jul-2011
My C book falls open at page 53, as all of them do. It's just to 
hard to remember, lots of programs have superfluous parens "to be 
sure", and it's accepted that some of C's precedence should have 
been designed differently
Gabriele:
20-Jul-2011
See, all this is the reason, I think, why Carl never allowed creating 
new operators. :) (Aside from what looks like an optimization in 
R2, I think R3 works like Topaz in this regard and could easily allow 
custom ones.)
Gabriele:
20-Jul-2011
Brian: a clarification, Topaz is both an interpreter and a compiler, 
and although you can compile whenever you need speed (so in principle 
there won't be much need to manually optimize functions for the interpreter), 
in most cases you're running in an interpreter very like REBOL.
Gabriele:
20-Jul-2011
The issue of parens: i think that no matter what the precedence rules 
are, you'll find cases where you need parens.


Now, one of the things I want to try doing in Topaz is TCO, so maybe 
parens will have less overhead in the future than in REBOL, but it's 
hard to predict whether this is possible at all in the interpreter. 
They will probably not have significant overhead if you compile.


I vote we worry about readability first though, there's always going 
to be alternatives when performance is required. (Eg. the fact that 
something is available as an op! does not mean that it is not also 
available as a regular function; like in REBOL you have both AND 
and AND~. In fact, Topaz requires that you pass a function! or native! 
to make op! - so such function version has to exists anyway.)
Geomol:
20-Jul-2011
That might be a drastic announcement. Letting = have higher precedence 
than the rest could be a good idea, but might be hard to implement 
and/or have performance hit.
Gabriele:
22-Jul-2011
Endo: think about the fact that the (...) is usually a long expression, 
but more importantly, there is no clue that TO is an op rather than 
a function, other than it not being a verb (which is not obvious).


The IN case is much easier to read, and IN is used in a similar way 
in other languages. TO might confuse both rebolers and non-rebolers... 
:)


I still like the idea of them being ops, i'm just worried about it 
being too unreadable and forcing parens most of the time. would anyone 
prefer using some kind of symbol? eg. similar to the <- suggested 
above.
Endo:
22-Jul-2011
Normally all op!s are somehow related with math, as we can consider 
equality tests (=, !=, > etc) and logical operations (xor, and etc.) 
as math operations.

TO and IN are different by this way, they are not related any math 
operation, they don't test, they don't calculate anything.

And one of them should have a precedence the other, or we should 
use parens, or can we say always left-to-right:

>> o: context [a: "3"]
>> 'a in o to integer!
shadwolf:
12-Aug-2011
arriving to do something like that in a rebol inspired script language 
would be terrific ... I know I'm just giving some thought and no 
code ... well ... I have not your talent for those thing :)
shadwolf:
12-Aug-2011
oh last remark ... I noticed most of the time scripting language 
tends to be differenciated by their affectation symbol  example lua 
use var ::= 1 rebol var: 1 perl var= 1, PL/SQL var:=1;  etc ... I 
like the rebol way of affectation and since that one of the sign 
of a rebol script I think it's important to keep in in spin off languages 
...
shadwolf:
12-Aug-2011
ok one last remark with red, borron, and red isn't that too much 
spin off language to handle for this community ? I understand there 
is a lot to research on this very interesting field ... but don't 
you fear that those project  will in a short term stop growing cause 
complexity level reach and there is noone to keep them on the progressing 
curve. Can eventually  those project be merged into one single project 
keeping the other two less advanced  as research ground and the BIG 
thing being granted with the best ideas proven in the "research" 
project ?
shadwolf:
12-Aug-2011
I fear that being 3 totally seperated projects on their own they 
won't liveon ... and somehow collide  ... Ok I'm not clear on this 
...
Gabriele:
13-Aug-2011
Shadwolf, something like "bla" . "bla" . "bla" cannot be optimized 
in an interpreter like Topaz, moreover, why the hell should i have 
to write . a hundred times and have an error when i forget it? So, 
no, you won't get this in Topaz.
Gabriele:
13-Aug-2011
Re: SFD: I hope to have something to demo as well, but i can't guarantee 
that as Topaz still has a long way to go before 1.0. Worst case, 
i'll just talk about it in general and accept questions.
shadwolf:
16-Aug-2011
take them as overall general comments and particular taste of someone 
used to program in around 20 languages ...
GrahamC:
12-Sep-2011
And the slides are going up on github too ?
Kaj:
13-Sep-2011
I'll try to report the Topaz and Red talks here tomorrow
Kaj:
15-Sep-2011
The presentations of Gabriele and Nenad were great, and we also had 
a good time afterwards. We thank them both
PeterWood:
16-Sep-2011
Right-click and then select rewind takes you back to the beginning.
Gabriele:
17-Sep-2011
Graham, the windows pc that was there did not have a second screen. 
My laptop has DVI, not HDMI, but only digital DVI, and the projector 
(or, at least tha adaptor that was there) seemed to want analog. 
So I'm sorry if you're looking at my back most of the time, but it 
was hard to do anything without looking at the projector screen :)
Gabriele:
17-Sep-2011
onetom: I used Keynote, it can export to a few formats, including 
HTML (by just making PNGs, so it gets pretty big). I can also provide 
the keynote file if useful. (Unfortunately, I was very tight on time 
and was unable to do this in Topaz itself.)
47601 / 4860612345...475476[477] 478479...483484485486487