Miscellaneous Operating Systems/Hardware

prolog

"After five years, with the Fifth-Generation project a complete failure, it appeared that prolog was merely a French plot to retard the advance of Japanese technology."

An interesting page with some entertaining remarks ... so much for Lisp :P

http://www.leptonica.com/design-principles.html
I never thought that a fat man's face would ever look so sweet ...
I actually rather like Prolog. It's an interesting way to write programs which is vaguely practical (as long as you have a proper ! operator or else you end up backtracking all to heck). But it's pretty alien even compared to functional programming, so I can understand why it never caught on.
smit happens.

:Fuel: bigred , 900MHz R16K, 4GB RAM, V12 DCD, 6.5.30
:Indy: indy , 150MHz R4400SC, 256MB RAM, XL24, 6.5.10
:Indigo2IMP: purplehaze , R10000, Solid IMPACT
probably posted from Image bruce , Quad 2.5GHz PowerPC 970MP, 16GB RAM, Mac OS X 10.4.11
plus IBM POWER6 p520 * Apple Network Server 500 * HP C8000 * BeBox * Solbourne S3000 * Commodore 128 * many more...
Smalltalk is my current esoteric-language-of-choice, just for being the only "purist" language I can recall that looked at all practical to write programs in. (Yes, yes, LISP is very pretty, now give me some human-readable data structures and painless local variables before I break into hives!) It's a shame it got so locked-in to the "everything in one system image" notion of the Alto, because it'd be a fun language in which to hack up quick utility programs if it weren't for the fact that there's no practical means of separating the program from the operating environment...
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
Prolog is a very interesting approach, but it suffers in certain practical aspects. A lot of the things you want to do are not "reversible" and so Prolog feels forced. But I'm sure that once you "get it" your mind opens in some small but significant way. It could also be that by being forced to use Horn clauses, some classes of logic bugs are eliminated, but I don't have any evidence of that.
The development of Prolog was much more influential on academic computer science than on the software development world. There is a whole swath of logical programming languages that take their cue from Prolog, including some Lisp packages.
:PI: :O2: :Indigo2IMP: :Indigo2IMP:
I have recently got Turbo Prolog v1 by Borland installed under DOS on a RiscPC machine. It's '90 fun.
I had a few courses in my university. They now use OpenSource version of Prolog instead of Borland's.
Never seen Prolog's Apps in the Industry for commercial purposes, except Stood by Ellidiss Software , a major design tool used by AIRBUS (Avionics, I worked in this field a few time ago) offers reverse engineering and claims to use prolog for its AADL model transformations, analysis, and method prototyping.
Some prowling the streets, looking for sweets from their Candyman , I'm Looking for a new fun with IP30/Octane2
IP30 purposes : linux (kernel development), Irix Scientific Apps { Ansys, Catia, Pro/E, FiberSIM, AutoDYNþ }
Other Projects : { Cerberus , Woody Box , 68K-board, SWI_DBG }, discontinued Console hacks { GB , PSX1 }
Wanted Equipments : { U1732C LCR meter by Keysight, alternatives are the welcome }
Yo man, 100Gbyte of ram is not enough, U wanna be hacker?cracker?, You think a Commodore 64 is really neato -

Code: Select all

# define rules
> {
> is_car(A) : has_wheels(A), has_windows(A) .. understood
> is_true_car(A) : is_car(A), costs(A,cost_threshold), runs_fast(A,speed_threshold) .. understood
> } .. learnt

# is_car(panda)?
ans=No

# has_wheels(panda)?
ans=No

#has_windows(panda)?
ans=No

#see(panda)!
unknown object

# learning
> {
> has_wheels(panda) .. understood
> has_windows(panda) .. understood
> has_wheels(corvette) .. understood
> has_windows(corvette) .. understood
> has_wheels(ferrari) .. understood
> has_windows(ferrari) .. understood
> } .. learnt

# is_car(corvette)?
ans=Yes

# see(corvette, is_car)
has_wheels, has_windows

# is_true_car(corvette)?
ans=maybe

# see_about(corvette, is_true_car)
has_wheels, has_windows, is_car, costs(?), runs_fast(?)

# learning
> {
> runs_fast(corevette,240) .. understood
> costs(corvette,200000) .. understood
> runs_fast(ferrari,300) .. understood
> costs(ferrari,500000) .. understood
> runs_fast(panda,100) .. understood
> costs(panda,8000) .. understood
> } .. learnt

# is_true_car(corvette)?
ans=maybe

# see(corvette,is_true_car)
has_wheels, has_windows, is_car, costs(200000,cost_threshold?), runs_fast(240,speed_threshold?)

# learning
> {
> cost_threshold=100000 /* euro */ .. understood
> speed_threshold=200 /* km/h */ .. understood
> } .. learnt

# is_true_car(corvette)?
ans=Yes

# is_true_car(ferrari)?
ans=Yes

# is_true_car(panda)?
ans=No

# see(panda,is_true_car)
has_wheels, has_windows, is_car

# see_not(panda,is_true_car)
not costs, not runs_fast

# see(ferrari,is_true_car)
has_wheels, has_windows, is_car, costs, runs_fast


A few time ago I have coded a mini prolog-like interpreter, it's just an useless toy, but … it's really funny … emm emm when you have to choose a car :lol:
Some prowling the streets, looking for sweets from their Candyman , I'm Looking for a new fun with IP30/Octane2
IP30 purposes : linux (kernel development), Irix Scientific Apps { Ansys, Catia, Pro/E, FiberSIM, AutoDYNþ }
Other Projects : { Cerberus , Woody Box , 68K-board, SWI_DBG }, discontinued Console hacks { GB , PSX1 }
Wanted Equipments : { U1732C LCR meter by Keysight, alternatives are the welcome }
Yo man, 100Gbyte of ram is not enough, U wanna be hacker?cracker?, You think a Commodore 64 is really neato -