diff --git a/extra/obj/misc/misc.factor b/extra/obj/misc/misc.factor new file mode 100644 index 0000000000..06b3056ea0 --- /dev/null +++ b/extra/obj/misc/misc.factor @@ -0,0 +1,8 @@ + +USING: kernel namespaces sequences assocs sequences.deep obj ; + +IN: obj.misc + +: related ( obj -- seq ) + objects dupd remove [ get values flatten member? ] with filter ; + diff --git a/extra/obj/papers/papers.factor b/extra/obj/papers/papers.factor index d2369c1cc0..465d1c682a 100644 --- a/extra/obj/papers/papers.factor +++ b/extra/obj/papers/papers.factor @@ -1,28 +1,38 @@ -USING: sets obj.util obj ; +USING: sets obj obj.util obj.view ; IN: obj.papers ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -SYM: title properties adjoin -SYM: abstract properties adjoin -SYM: authors properties adjoin -SYM: file properties adjoin -SYM: date properties adjoin +SYM: title properties adjoin +SYM: abstract properties adjoin +SYM: authors properties adjoin +SYM: file properties adjoin +SYM: date properties adjoin +SYM: participants properties adjoin +SYM: description properties adjoin ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SYM: paper types adjoin SYM: person types adjoin +SYM: event types adjoin ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -SYM: bay-wei-chang { type person } define-object -SYM: craig-chambers { type person } define-object -SYM: david-ungar { type person } define-object -SYM: randall-b-smith { type person } define-object -SYM: urs-holzle { type person } define-object +SYM: bay-wei-chang { type person } define-object +SYM: craig-chambers { type person } define-object +SYM: david-ungar { type person } define-object +SYM: frank-g-halasz { type person } define-object +SYM: gerald-jay-sussman { type person } define-object +SYM: guy-lewis-steele-jr { type person } define-object +SYM: randall-b-smith { type person } define-object +SYM: randall-h-trigg { type person } define-object +SYM: robert-adams { type person } define-object +SYM: russell-noftsker { type person } define-object +SYM: thomas-p-moran { type person } define-object +SYM: urs-holzle { type person } define-object ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -71,3 +81,50 @@ SYM: organizing-programs-without-classes date 1991 } define-object + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +SYM: scheme-an-interpreter-for-extended-lambda-calculus + { + type paper + title "Scheme: An Interpreter for Extended Lambda Calculus" + abstract "Inspired by ACTORS [Greif and Hewitt] [Smith and Hewitt], we have implemented an interpreter for a LISP-like language, SCHEME, based on the lambda calculus [Church], but extended for side effects, multiprocessing, and process synchronization. The purpose of this implementation is tutorial. We wish to: (1) alleviate the confusion caused by Micro-PLANNER, CONNIVER, etc. by clarifying the embedding of non-recursive control structures in a recursive host language like LISP. (2) explain how to use these control structures, independent of such issues as pattern matching and data base manipulation. (3) have a simple concrete experimental domain for certain issues of programming semantics and style." + authors { gerald-jay-sussman guy-lewis-steele-jr } + date 1975 + } +define-object + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +SYM: symbolics-is-founded + { + type event + participants { russell-noftsker robert-adams } + date 1980 + } +define-object + +SYM: symbolics-funding-from-gi + { + type event + description "Symbolics receives $500,000 from General Instruments" + date 1982 + } +define-object + +SYM: symbolics-files-for-bankruptcy + { + type event + date "1993-01-28" + } +define-object + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +SYM: notecards-in-a-nutshell + { + type paper + authors { frank-g-halasz thomas-p-moran randall-h-trigg } + date 1987 + } +define-object \ No newline at end of file diff --git a/extra/obj/view/view.factor b/extra/obj/view/view.factor index f8500bb9a0..6b3249f057 100644 --- a/extra/obj/view/view.factor +++ b/extra/obj/view/view.factor @@ -1,6 +1,7 @@ -USING: kernel words namespaces arrays sequences prettyprint help.topics bake - obj obj.print ; +USING: kernel words namespaces arrays sequences prettyprint + help.topics help.markup bake combinators.cleave + obj obj.misc obj.print ; IN: obj.view @@ -25,7 +26,13 @@ M: obj-type article-content ( type -- content ) M: ptr article-title ( ptr -- title ) [ title -> ] [ unparse ] bi or ; -M: ptr article-content ( ptr -- content ) get { $obj , } bake ; +M: ptr article-content ( ptr -- content ) + { + [ get { $obj , } bake ] + [ drop { $heading "Related\n" } ] + [ related { $seq , } bake ] + } + 1arr ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!