800+ entries in 0.104s
diana_coman: asciilifeform, it IS stock
ada tasks, sure; it's not that the q
mircea_popescu: now the question is, if you only need this specifically once, why do you need
ada to do it for you
diana_coman: hm; earlier I used "standalone" as "standalone lib" because there is such a thing: it means precisely that it includes
ada run-time
a111: Logged on 2018-10-26 02:14 asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a
Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics )
diana_coman: if encapsulated too then it has to be dynamic but if not "encapsulated" then it can be static (and you need to link the
ada libs with main proggy too)
diana_coman: re client/server: client is ALSO cpp+
ada at the very least
diana_coman: quite; anyways, now that I have on eulora server c,cpp and
ada together, it's a whole new level of madness
mircea_popescu: in other euloraleaks, it seems self-evident that by the time we're done writing a kernel in
ada, the os will be called auntoo, right.
diana_coman: thanks! one of those days I'll get around to write-up the jam stuff for linking the lib with the client too ; at any rate, the linking seems sorted for now - it's
Ada code for all the pieces that is missing
diana_coman: shinohai, an
Ada lib for client-side logging would be quite useful
mircea_popescu: in other news : i'm not entirely current here, but diana_coman does seem to have neatly resolved the
ada-cpp linking conundrums. going on which theory, the next step we're upon is what to do with the keys.
diana_coman: so far I can tell that the static lib has the huge disadvantage that one needs then to link with it everything but the kitchen sink to bring in all it needs from
ada runtime
diana_coman: because in the docs it's claimed that non-
ada main should be with the encapsulated-lib version, ugh
ave1: all these extra code generation in
Ada is managed with gnatbind
a111: Logged on 2017-11-20 23:38 asciilifeform: typical,
http://adagin.blogspot.com/2013/12/ada-2005-access-types-part-i.html , lively : type Hooker_Array is array (Positive range <>) of Hooker_Class_Ptr; procedure Violate_Bodies (x : Hooker_Array); ... 'We want to track all our victims, presumably in some sort of set or container, so that we might disinter them later as needed. Similarly, we might also want to do strange, awful things with the dead bodies of the hookers.'
mircea_popescu: now obviously, "best place for
ada code is in
ada program". but the issue here is how to effectually corrupt, stupidity into sense.
a111: Logged on 2019-01-06 17:28 asciilifeform: the 1st step to adaizing a cpp turd is to remove the cpp threadisms, they will not only not work with
ada's sane tasking but actually destroy the guarantees of the latter
a111: Logged on 2019-01-09 14:08 diana_coman: (those are needed to do the elaboration in
ada so can't do without them either)
diana_coman: as it is specific to
ada, a non-
ada main has no idea (nor does it care) about it and therefore won't do it automatically; the only way to have it done is to call explicitly the "init" procedure for the
Ada unit that is to be used; and the only way to *have* such an init procedure seems to be the standalone lib thing
diana_coman: re
ada elaboration since apparently it's not summarised in the logs as such: it's basically the code that runs *before* the main program starts and what it does is broadly initializing variables that the main program may expect to be able to access (e.g. "global" or in libs that are used) and running the "main" code (aka between begin and end of a package as opposed to that in procedures/functions) from units that are used
mircea_popescu: so basically "the way to call
ada from non-
ada context is called 'standalone encapsulated dynamic' in
ada" is the idea here ?
diana_coman: i.e. if you want to call
ada from something-else main then you don't really have any choice that works other than this
mircea_popescu: are we thus the first to try and call an
ada library from a c main ?
diana_coman: mircea_popescu, no, it's an
ada thing, nothing to do with cpp precisely
diana_coman: basically the only way available to make a non-
ada-main do the
ada elaboration
diana_coman: (those are needed to do the elaboration in
ada so can't do without them either)
☟︎ diana_coman: in other eulora-client headaches: to get the cpp client to use my
ada lib (that I want to keep separate! away from cpp swamp!), it seems I need to make my lib "standalone encapsulated dynamic"
diana_coman: in the vein of "fork in cpp and from that thread call
Ada proc that then spawns tasks"?
diana_coman: asciilifeform, the concrete mess is this: smg_comms is in
Ada, has sender and receiver task types so one can create those as needed, perfect; onth eulora client is this ball of CPP mess and it's unclear to me if it can even be made to use smg comms as it is or what
diana_coman: does anybody know whether/how can I use
Ada task types from C/CPP code? afaik from GNAT docs there isn't a way to export task types as such
a111: Logged on 2018-10-26 02:14 asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a
Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics )
mircea_popescu: he promised to ask you for an item ? or is this
ada n-w published somewhere meanwhile ?
a111: Logged on 2017-05-26 18:10 asciilifeform: for instance, the almost ubiquitous c-ism, of creating a pointer (
ada 'access') variable on a procedure's local (stack) and passing it to something -- anything -- is illegal
mircea_popescu: ok, so the idea here is, that while maintaining different code on different boxes is costly and undersirable, nevertheless that is mitigated by the relative ease of the genericization/prototyping mechanism in
ada ; whereas single queue model, as logically tempting as it may be, is costlier than it seems (not necessarily because insertion can't be o1, but still, machinery involved).
diana_coman: my implementation is just a bounded queue fifo, 1 item at a time in /out; and yes, I looked again at
Ada's standard stuff and I could use I think a bounded_synchronized_queue container but then it forces me to put/get full structure
mircea_popescu: in the other line, have you played with
ada threads any ? are you friends ?
bvt: hello, i'm back in the saddle. i intend to finish the
ada syscalls around next weekend (23.12)
zx2c4: what you've described sounds good. im wondering if it's the result of comments, the result of just better organized code, or the result of some nice features of
ada you're using
zx2c4: with good comments? or some nice feature of
ada? or easy arithmetic youre implementing? or what?
a111: Logged on 2017-05-10 21:29 phf`: i'm rewriting everything that asciilifeform is releasing in
Ada in Rust, because it's secure AND modern!
zx2c4: also i'm wondering what the usual trilema party line is on rust vs
ada phf: ftr i had no objections to
ada either, i suspect the barfs were coming from peanut gallery of people who since dropped off