log
500+ entries in 0.037s
chonkin: Is this real? https://www.adaic.org/advantages/ada-overview/
chonkin: ada for critical code.. interesting
BingoBoingo: Ever play with ADA? http://mocky.org/Log-Reference-Why-Ada/
asciilifeform: ( and subs internal to subs, permitted in ada planet just as they are in pascal )
asciilifeform: consider the not-uninteresting fact, that on 370,000-transistor bolix, ada was 50kloc ; while on 3bil+-transistor x86, ada (gnat cum gcc cum deps) is , what, 1mil+ ? and their kernel was iirc ~50kloc, while ours...
asciilifeform: ( ditto gnat. the troo adatron would be a ~50kloc bolix-style ada on sane iron support, rather than crusty old gnat )
a111: Logged on 2019-02-17 23:49 asciilifeform: if we had a sane iron, would be similarly easy to produce a back end ( and that's what asciilifeform thinks of as 'ada machine' )
bvt: there are Import(Ada,...) and Import(Asm,...), which do the same thing according to the docs (http://archive.is/XEHW0#selection-17075.0-17109.171), and I did not manage to find any ABI docs with 'ada calling sequence'.
a111: Logged on 2019-03-10 02:44 mircea_popescu: http://bvt-trace.net/2019/03/ffa-chapter-9-homework-comba-in-x86_64-assembly/#selection-15.295-19.176 << why this, specifically ? is there no ada asm calling method besides this ?
asciilifeform: mircea_popescu et al : there are no cstrings in ada, unless one explicitly bakes'em in order to throw to c linked liquishit. all arrays carry their bounds with'em.
diana_coman: ada doesn't have c-strings anyway
phf: the problem is that our ada keccak explodes whatever char buffer it gets into an array of octets, which means that, while diff keeps the size of chunks under some particular value, keccak explodes that value x8
asciilifeform: mircea_popescu: kernel ( linus's , that is ) -- exposes. the tricky bit was/is the ada glue.
a111: Logged on 2019-03-10 02:44 mircea_popescu: http://bvt-trace.net/2019/03/ffa-chapter-9-homework-comba-in-x86_64-assembly/#selection-15.295-19.176 << why this, specifically ? is there no ada asm calling method besides this ?
mircea_popescu: http://bvt-trace.net/2019/03/ffa-chapter-9-homework-comba-in-x86_64-assembly/#selection-15.295-19.176 << why this, specifically ? is there no ada asm calling method besides this ?
asciilifeform: http://btcbase.org/log/2019-03-06#1900636 << was this in the final linkage step, or earlier (and if then, then in the .cpp pieces ? or ada ? ) ☝︎
mircea_popescu: myeah. "the front -end and runtime are written in ada".
a111: Logged on 2019-02-17 16:07 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.
a111: Logged on 2019-02-17 16:07 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.
a111: Logged on 2019-02-16 09:44 ave1: diana_coman, in system-linux-*.ads (in gcc/ada directory) you'll find the line: ZCX_By_Default : constant Boolean := False;
deedbot: spyked rated diana_coman 4 << eulora, ada and others; showed me around .ro.petroltown
a111: Logged on 2018-11-09 14:39 asciilifeform: mircea_popescu do you know this fella ? http://dan.corlan.net 'Alexandru-Dan Corlan, MD, PhD' 'stochastic models of patient evolution and pharmacologic response' 'high performance computing and programming in R, Ada and CommonLisp'
asciilifeform: or if you gotta explicit thread, ada's tasks in sjlj mode ( or even zcx , if you dun care re terminations )
mircea_popescu: ada-musl will have to get its own backend, even if it's mpi-style confiscation.
a111: Logged on 2019-02-17 23:24 mircea_popescu: actually ada not having a backend can (and probably will) hide all sorta surprises.
mircea_popescu: well, doesn't seem like the end of the world, then, to say "this is the rk, has so and so list of advantages as before discussed (truly independend box, etc) and the one drawback meanwhile discovered that you can't really do tmsr-like threading in ada on it, which may be fixed later"
asciilifeform: re rk -- not errybody is running ada proggy, and errything else appears to work quite well there.
asciilifeform: meanwhile, in world of ancient warez finds : http://nosuchlabs.com/pub/warez/artek.zip << ada-83 compiler for msdos, circa 1987.
asciilifeform: if we had a sane iron, would be similarly easy to produce a back end ( and that's what asciilifeform thinks of as 'ada machine' )
asciilifeform: funnily enuff, i suspect there are a grand total of ~two~ ada back ends in existence : 1) the Official adacorpse one , sewed out of gcc ( the 'fsf gnat' is simply old copy of same )
mircea_popescu: actually ada not having a backend can (and probably will) hide all sorta surprises.
BingoBoingo: <asciilifeform> i'm still curious what mircea_popescu thinks of as 'ada machine' << 128 bit MIPS 1, 2, 8, or 72 cores at 800, 1600, or 3200 mhz when purpose backed. Otherwise 128 bit for the UCI address space.
mircea_popescu: though if possible, i'd just move the wrappers to ada first.
asciilifeform: i'm still curious what mircea_popescu thinks of as 'ada machine'
mircea_popescu: i suspect ada machine can be made with much tinier kernel tho.
mircea_popescu: http://btcbase.org/log/2019-02-17#1897763 << currently ada depends on a layer of c to do basic things such as abort. this can not stand, esp if we want an ada machine. that writing to irq table will have to happen through ada code, not calling c. ☝︎
a111: Logged on 2019-02-17 17:16 mircea_popescu: http://btcbase.org/log/2019-02-17#1897750 << tested nothing. fixed, gotta be ada not c.
a111: Logged on 2019-02-17 16:10 mircea_popescu: asciilifeform still gotta build the ada environment ~with something~.
a111: Logged on 2019-02-17 16:26 asciilifeform: ada.interrupts ~will~ have to be tested, it's a must for 'bare irons' adaisms as a class.
mircea_popescu: http://btcbase.org/log/2019-02-17#1897750 << tested nothing. fixed, gotta be ada not c. ☝︎
asciilifeform: ada.interrupts ~will~ have to be tested, it's a must for 'bare irons' adaisms as a class.
asciilifeform: ( for killing processes, it is possible to e.g. use ada.interrupts system . but asciilifeform not yet tested ! )
mircea_popescu: diana_coman looks like it's going the way of cuntoo-ada-musl, no glibc.
mircea_popescu: asciilifeform still gotta build the ada environment ~with something~.
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.