log☇︎
700+ entries in 0.083s
mircea_popescu: d. ada-zcx-musl-static is the standard for non-threaded programs, we don't standardize threading.
mircea_popescu: c. ada-?-musl-static is the standard, either zcx or sjlj is acceptable (mostly based on what threading philosophy one embraces), with an obvious preference for zcx if one doesn't thread. ☟︎☟︎
mircea_popescu: b. ada-sjlj-musl-static is the standard, and we simply don't sign or use anything that doesn't live up to this.
mircea_popescu: a. we make no standard, every man for his own, but : a.1. ada is the preferred language ; a.2. musl is the preferred standards provider ; a.3. zcx is the preferred exception mechanism ; a.4. static is the preferred build mode. this should come with a design process for candidates evaluation for standardization.
mircea_popescu: afaik everybody up until a week ago when http://btcbase.org/log/2019-02-12#1895231 nobody even compiled ada other than zcx. ☝︎
mircea_popescu: so is basically the idea what we want is to get sjlj to work on musl for ada proggies ? or what ?
asciilifeform: phunphakt : ada std includes a pragma that manually throws a string for bin auditor to read, in selected spot.
ave1: diana_coman, in system-linux-*.ads (in gcc/ada directory) you'll find the line: ZCX_By_Default : constant Boolean := False; ☟︎
diana_coman: update re builds: it built fine with --enable-sjlj-exceptions in place, checked it in the log and yes, it's set; but the result still seems to be build ada code with zcx in fact (i.e. my test code with tasks is STILL hung waiting for them to abort) and if I specify --rts=sjlj to gprbuild it complains that there is no native compiler for ada and so can't do anything; ftr I compared the dirs of my adacore install and it has this specific dir
diana_coman: exorted makeopts and then run the build-ada.sh in short
mircea_popescu: nevertheless, the point has legs -- what we've done here very much can be done ands re-done, and with cuntoo/ada-gnat/etc stack spitting out statics, it might even come close.
diana_coman: re http://btcbase.org/log/2019-02-14#1896383 -> http://p.bvulpes.com/pastes/o2h67/?raw=true (that's the version including a handler and obv, there are in fact 3 procedures A, B, C, with each calling the other two or one of the other two; MT is the Mersenne Twister Ada implementation I did for the UDP test) ☝︎
diana_coman: ada's checks raise exceptions yes; not handled; I don't know if additional explicit handlers ADD or not
mod6: I'm not asking you to add my posbox foibles into your config. trb/ada/musl that I want to test on there doesn't care what kernel modules are loaded.
mircea_popescu: take the recent "what should be language ?" "ada" "well... turns out it's broken!!!" proceedings ; THEN compare with the chechen history.
diana_coman: ave1 or anyone else more experienced in rebuilding ave1's gnat with a previous incarnation of same: I'm trying to build using the scripts in ada-musl-cross-2018-09-24.tgz on a machine that has as only existing and perfectly working !) gnat a previous ave1 gnat version; I ran as the readme says simply ./build-ada.sh absolute_path_to_dir but the whole thing fails because it doesn't find some libs such as libgmp.la; a closer look at the outpu
asciilifeform: orig ada-83 standard was baked when it was still king
asciilifeform: gcc5 breakage extends into the Ada world << noshit, if yer on a gcc5istic gnat, all bets are off, they fucked the back end
a111: Logged on 2019-02-12 08:00 diana_coman: http://btcbase.org/log/2019-02-12#1895120 -> yep, that was precisely my ref when looking at Ada multi-threading and what support it offers; it actually reads a bit better than the barnes' progr in 2012 but it's more focused, obv
asciilifeform: ( and since nobody asked 'where exactly does ffa use exceptions? i dun see any throws' -- answr is, ~all~ ada coad where bounds checks are enabled, theoretically 'uses' exception, if you break a bounds check what do you suppose happens.)
mircea_popescu: asciilifeform so then you do it from ada.
asciilifeform: on raw irons tho, gotta have a mechanism that actually 'ada', given as that's the only scheduler you have, unless baked new
mircea_popescu: (yes, the objection stands, "mp, ada machjine long way off because all peripherals are c-machines". sure, they are. we also make items.)
asciilifeform: i/o arguably is always 'not ada' when on unix box ( see ave1 for detail )
mircea_popescu: which is either ada or isn't.
mircea_popescu: but in any case one can't have an ada machine without working abort (which specifically means, NOT import the c consrtruct, cuz wtf am i gonna do.)
mircea_popescu: much like there's a very sensible design reason to not even expose abort in ada code : do NOT encourage morons who http://btcbase.org/log/2016-01-21#1379603 ☝︎
asciilifeform: mircea_popescu: there's also the ada.interrupts package, which actually sets up signal handlers. if all you want is emergency stop of thread, that'll do it
a111: Logged on 2019-02-10 17:37 asciilifeform: will add to this also, that if yer thread is actually wedged, it will almost always be on acct of http://btcbase.org/log/2019-02-08#1893811 , i.e. waiting for a blocking unix i/o, and no matter what yer pthreads proggy is written in , c, ada, cobol, whatever, it will still become a zombie, cuz unix is retarded.
mircea_popescu: asciilifeform here's a thought : fuck a peripheral so as per http://btcbase.org/log/2019-02-10#1894696 it zombies all it touches ; THEN have an ada prog touch it ; and THEN see if abort aborts. ☝︎
a111: Logged on 2019-02-12 13:03 diana_coman: bvt's investigation of my ada-won-t-stop test program: http://p.bvulpes.com/pastes/sRqWV/?raw=true
mircea_popescu: diana_coman do you have a non-trivial (non-huge) ada that you could run once with sjlj and once with zcx in a timing harness so we can get some data ? ideally something that takes 100-1000ms or so.
mircea_popescu: is there anything like c's "signal(value, pointer)" in ada ?
diana_coman: bvt's investigation of my ada-won-t-stop test program: http://p.bvulpes.com/pastes/sRqWV/?raw=true ☟︎
diana_coman: http://btcbase.org/log/2019-02-12#1895120 -> yep, that was precisely my ref when looking at Ada multi-threading and what support it offers; it actually reads a bit better than the barnes' progr in 2012 but it's more focused, obv ☝︎☟︎
a111: Logged on 2019-02-12 01:34 asciilifeform: for total thread-completeness, there is a workaround that works, but it is imho ugly ( ada 'interrupts' package ), i'ma post example if mircea_popescu et al ask.
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 )
asciilifeform: for total thread-completeness, there is a workaround that works, but it is imho ugly ( ada 'interrupts' package ), i'ma post example if mircea_popescu et al ask. ☟︎
a111: Logged on 2019-02-10 20:31 diana_coman: asciilifeform, and anyone else interested in testing Ada's failure to abort, minimal test setup: ossasepia.com/available_resources/test_tasks_ada.zip
mircea_popescu: mod6 no man, the difference ain't that one's topic is ada and the other's topic is cuntoo. the difference is that she said "here's the top level problem, here's the list of possible solutions, here's the failure mode of each, let me know if either the list's missing an item or wtf." ; you said "here's an error message pasted and i've been having problems".
mod6: Well, it seemed to me there was a pretty lengthy conversation about Ada threading issues over the last two days, I didn't want to make my problems (with a possible questionable box) the center of attention for everyone.
mircea_popescu: diana_coman the one question lingering here is : as ada actually elaborates an init and an exit, as it must, since it does in fact compile, whether there's a way to use these correctly in lieu of "call C-mommy to change diapers".
diana_coman: asciilifeform, and anyone else interested in testing Ada's failure to abort, minimal test setup: ossasepia.com/available_resources/test_tasks_ada.zip ☟︎
diana_coman: and it shows those tasks still there; ALSO: from within Ada, you can tell: if your code does abort Task_X and then check Task_X'Terminated , it'll still be false (idem 'Callable still true)
diana_coman: model of wedged task was infinite loop, yes; and exit(0) was the only thing that did kill it but as you can see, that is C; imported in Ada, sure, but...C
diana_coman: the issue at hand being that ADA doesn't kill ; and to add to this, note that in this case (i.e. some wedged task) it won't actually *finish* even when its checks fail; so that promise that "program will stop running if erroneous state" is at best mis-stated: no, it won't always stop, it might..wait to stop
asciilifeform: will add to this also, that if yer thread is actually wedged, it will almost always be on acct of http://btcbase.org/log/2019-02-08#1893811 , i.e. waiting for a blocking unix i/o, and no matter what yer pthreads proggy is written in , c, ada, cobol, whatever, it will still become a zombie, cuz unix is retarded. ☝︎☟︎
asciilifeform: i dun think it even makes sense to think of the problem in terms of 'write a new ada' tho. the way i see ada, is as a junkyard wars workaround against the retardation of pc arch, where pointerolade, overflowable arrays, etc. if you had a sane arch, you could program in moar or less whatever you want (e.g on bolix, ada, fortran, c, lisp, were implemented as simply skins around the arch, and all shared in the nonoverflowability etc )
a111: Logged on 2019-02-10 16:12 mircea_popescu: i'd rather write a new ada.
asciilifeform: http://btcbase.org/log/2019-02-10#1894658 << there is not , in long term, any escape from 'write a new ada' (at the very least, even if there were no known gnat bugs -- and i've already found at least 1 -- on acct of http://btcbase.org/log/2019-02-05#1892591 ). ☝︎☝︎
a111: Logged on 2019-02-10 16:05 diana_coman: I'm all ears if anyone has some idea re this supposedly simple thing: how to kill-self in ada, whole program but guaranteed to work i.e. without any bullshit "oh, but only if/when..."
mircea_popescu: there can never be such a thing as an ada machine.
mircea_popescu: and ada kept to an arm's length absolutel minimum. i find it immoral to support development in femstate languages.
mircea_popescu: at the rate this is going, main will be c and calling ada bits. and killing them.
diana_coman: I suppose I still have to try...calling pthread_kill from within ada or somesuch madness
mircea_popescu: i'd rather write a new ada. ☟︎
mircea_popescu: i'm not about to give control of the box to "ada".
diana_coman: I'm all ears if anyone has some idea re this supposedly simple thing: how to kill-self in ada, whole program but guaranteed to work i.e. without any bullshit "oh, but only if/when..." ☟︎
mircea_popescu: diana_coman keks, so ada is actually stop-broken ?
a111: Logged on 2019-02-08 18:12 mircea_popescu: they have a whole signalling thing in ada, so you don't have to do the retarded c infinite loop
mircea_popescu: they have a whole signalling thing in ada, so you don't have to do the retarded c infinite loop ☟︎
mircea_popescu: if ada does not manage to provide me with all the tools i need to the exclusion of the power switch, i will ditch ada and move on to programming in power switches.
diana_coman: hm, in possibly interesting ada-bits: apparently "abort" for tasks does not really kill them if /when they are in an infinite loop; according to ada docs I got the idea of "abort-deferred" i.e. in some states it won't abort but "infinite loop or waiting for a procedure call to return" did not seem to figure there; in practical terms this means that my workers will have to attempt any Job in a guarded manner i.e. give up on it after some ma
a111: Logged on 2019-02-08 07:47 mircea_popescu: yes. because ada entities keep getting wrapped in things that end up eating runtime to "elaborate" and whatever ion thios vein.
a111: Logged on 2019-02-07 23:56 asciilifeform: http://ossasepia.com/2019/02/07/seppuku-job-market-minimal-dynamic-tasking-in-ada/#selection-109.1672-109.1738 << will be interesting to see if this functions if stuffed into a static lib, in light of the http://btcbase.org/log/2019-01-22#1889467 puzzler
mircea_popescu: yes. because ada entities keep getting wrapped in things that end up eating runtime to "elaborate" and whatever ion thios vein. ☟︎
asciilifeform: http://ossasepia.com/2019/02/07/seppuku-job-market-minimal-dynamic-tasking-in-ada/#selection-91.517-91.599 << when might this happen ?
asciilifeform: http://ossasepia.com/2019/02/07/seppuku-job-market-minimal-dynamic-tasking-in-ada/#selection-185.130-185.193 << (again given that i haven't used the threadtron) interested to learn the answr to 'what do they weigh'
asciilifeform: mircea_popescu: http://ossasepia.com/2019/02/07/seppuku-job-market-minimal-dynamic-tasking-in-ada/#selection-139.9098-139.9968 << dun seem like diana_coman's mechanism specialized by creating different 'species' of 'worker' -- but by using case selector, as i expected it would. therefore it remains a puzzle to me why to terminate an' rebirth'em ( to save a few kB of ram when machine load is light ?? )
a111: Logged on 2019-01-22 22:35 asciilifeform: this is done with a standard ada feature called 'controlled limited type'. which i found that, for no documented reason, dunwork in gnat's static lib.
asciilifeform: http://ossasepia.com/2019/02/07/seppuku-job-market-minimal-dynamic-tasking-in-ada/#selection-109.1672-109.1738 << will be interesting to see if this functions if stuffed into a static lib, in light of the http://btcbase.org/log/2019-01-22#1889467 puzzler ☝︎☟︎
asciilifeform: http://ossasepia.com/2019/02/07/seppuku-job-market-minimal-dynamic-tasking-in-ada/#selection-101.42-101.207 << possibly i mentioned this prev., but asciilifeform avoids secondarystack not because it doesn't work reliably , but because it makes audit of binary moar difficult. i dunno if this concern is really applicable to items other than ffa.
asciilifeform has not used ada threadism yet, so quite interested to see what diana_coman made of it
feedbot: http://ossasepia.com/2019/02/07/seppuku-job-market-minimal-dynamic-tasking-in-ada/ << Ossasepia -- Seppuku Job Market: Minimal Dynamic Tasking in Ada
a111: Logged on 2019-02-05 19:44 asciilifeform recalls in '16 reading slowly in hammock https://www.ada-ru.org/V-0.4w/index.html
diana_coman: ance." (p.531, Programming in Ada 2012)
diana_coman: speaking of Barnes' Ada book: it IS very useful and I certainly do go back to it quite often still for all sorts but it still has at times such ideas that I can't stand; e.g. "The reader will probably feel that the activation mechanism is somewhat elaborate. However, in practice, the details will rarely need to be considered. They are mentioned in order to show that the mechanism is well defined rather than because of their everyday import ☟︎
a111: Logged on 2019-02-05 19:44 asciilifeform recalls in '16 reading slowly in hammock https://www.ada-ru.org/V-0.4w/index.html
diana_coman: http://btcbase.org/log/2019-02-05#1893054 -> that must be THE way to learn languages: 2 at a time, russian+ada in one go to not feel like wasting time ☝︎
asciilifeform recalls in '16 reading slowly in hammock https://www.ada-ru.org/V-0.4w/index.html ☟︎☟︎
asciilifeform: mircea_popescu: iirc Mocky actually captured all of the old ada threads in his review
a111: Logged on 2016-05-04 00:56 mod6: <+asciilifeform> in other nyooz, my 'ada 2012 ref man.' is here. << that's neat. thought we were leaning towards the '95 standard?
a111: Logged on 2015-02-26 19:35 punkman: asciilifeform: should I be looking at ada 2012 flavour?
lobbes_field: http://btcbase.org/log/2019-02-05#1892833 << fwiw I've been (slowly) baking a "Why TMSR?" (In style of Mocky's 'why ada?') post that is to be aimed at a heathen audience. ☝︎
a111: Logged on 2019-02-05 13:50 diana_coman: asciilifeform, I must admit I fail to see *what* did the guy actually contribute; moreover he asked as far as I can see signalling questions, nothing more; granted, they were related to Ada but that's about the only positive I can find in the whole log I had to go through; perhaps it's simply too early for him to be here? maybe first have something done and only then come and show it?
diana_coman: yes, I need Ada 2012
asciilifeform: truly vintage (ada-83) won't eat ffa, there is use of 'in out' parameters.
diana_coman: asciilifeform, I must admit I fail to see *what* did the guy actually contribute; moreover he asked as far as I can see signalling questions, nothing more; granted, they were related to Ada but that's about the only positive I can find in the whole log I had to go through; perhaps it's simply too early for him to be here? maybe first have something done and only then come and show it? ☟︎
verisimilitude: I'm looking through more of these Ada links you provided earlier, asciilifeform; do you not use Ada 2012?
verisimilitude: I'll be using Ada to build the practical, robust, simpler, and easy-to-distribute implementation of my machine code development tool, perhaps ironically enough.
asciilifeform: this is consequence of the fact that gnat is written in ada.
verisimilitude: The Ada program I have planned is in a similar way unconcerned with some of the more advanced features, because much of it is very concrete by now; it shouldn't even need to allocate memory until I have an undo and redo system in it.
asciilifeform: plenty of ongoing work, too. diana_coman for instance is determining a safely usable subset of ada tasking system.
asciilifeform: http://btcbase.org/patches/adalisp_genesis << spyked's small lisp in ada.
asciilifeform: verisimilitude: you will find that the ada used by asciilifeform , diana_coman , et al, is quite distinct flavour from what you see in barnes & in various corners of the net where published ada proggies (not so many) are found
asciilifeform: eventually cracked open some bookz and determined, over course of a year+, a subset of ada which roughly corresponds to 'c without the pointeristic retardation', and used this.
asciilifeform: verisimilitude: in 2016 i found that i gotta write a safety-critical arithmetic system (nao known as ffa) and found that i cannot in good conscience do it in anyffin but ada.
verisimilitude: As a Lisp programmer, what drew you to Ada, asciilifeform?
asciilifeform: verisimilitude: there are other langs with strong typing, but afaik ada is the only 1 where a) with actual standard b) doesn't drag along a gargantuan runtime that won't sit down in small single-chip boxes etc
verisimilitude: There's the saying one shouldn't learn a language that doesn't change the way one thinks; I figured if I would learn at least one language with keyword-based syntax, strong static typing, a lack of advanced metaprogramming, among other qualities, that I should learn Ada.