Back to bookmarks

Back to index

Bookmarks: Software Engineering, Technologies, Programming

Reflection

MetaLogical reflection

TBD

Categorical reflection

TBD

Computational reflection; open implementation; meta-level architectures and MOP

Ca va sans dire, have a look at TUNES

http://web.yl.is.s.u-tokyo.ac.jp/pl/meta.html - Computational reflection at Tokyo University Yonezawa Laboratory. A starting point for references on computational reflection

http://www.dcc.unicamp.br/~oliva/guarana/ - Guaraná is a object-oriented reflective system based on Kaffe. With documentation, it has its own MOP

http://www.openjit.org/ - OpenJit is a JIT for a reflective Java. Open source license for non commercial use

http://www.hlla.is.tsukuba.ac.jp/English/ - Tsukuba University labs, where OpenC++ and OpenJava were developed by professor Chiba's workgroup. OpenC++ and OpenJava are MOP-enhanced version of the well-known object-oriented languages

http://www.cs.cmu.edu/afs/cs.cmu.edu/project/pop/member/mleone/bib/reflection - Bibliography on computational reflection

http://www.ispras.ru/~dkv/links/links.html - Some links (many obsolete, many useful)

http://www.ageofsig.org/people/bcsmith/ - Brian Cantwell Smith, which "invented" computational reflection

http://www.psych.indiana.edu/people/homepages/bsmith.html - Brian Cantwell Smith homepage at Indiana University

http://www.cb1.com/John/thesis/thesis.html - "A Lisp through the Looking Glass", J.C.G.Sturdy's PhD thesis (in HTML, many formulas still missing. Why not in ps?)

http://reflection.crs.unimaas.nl/ - Reflection at Maastricht University. With implementations of several reflective historical languages (3-lisp, Ir, Electra)

http://dsonline.computer.org/middleware/RMreflection.htm - Computational reflection on IEEE Computer

http://dsonline.computer.org/middleware/RM.htm - Reflective middleware on IEEE Computer

Conferences

http://www.parc.xerox.com/csl/groups/sda/projects/reflection96/ - Reflection 96. Online proceedings!

http://www.emn.fr/reflection99/ - Reflection 99

http://www.openjit.org/reflection2001/ - Reflection 2001. Online proceedings!

http://www.disi.unige.it/person/CazzolaW/ewrma2000-proceedings.html - ECOOP'2000 Workshop on Reflection and Metalevel Architectures. Online proceedings!

Projects

http://tosca.dmi.unict.it/tosca/ - Progetto Tosca (in Italian)

http://nl.ijs.si/~damjan/fs-ai.html - Formal self-reference in artificial intelligence (FS-AI)

People

http://www.csg.is.titech.ac.jp/~chiba/ - Shigeru Chiba

http://www.disi.unige.it/person/CazzolaW/ - Walter Cazzola. Also with projects for students on reflection

http://nl.ijs.si/~damjan/me.html - Damjan Bojadziev. See also project FS-AI above

http://dit.unitn.it/~fausto/index.html - Fausto Giunchiglia, work on frameworks for metalogical theories and on reflection principles

http://math.stanford.edu/~feferman/ - Solomon Feferman's homepage. Feferman is one of the most important logicians, with a lot of work done on metalogic

Proof-Carrying Code, Typed Assembly Language, Typed Intermediate Language

http://www.cs.cmu.edu/~petel/papers/pcc/pcc.html - Peter Lee's page on PCC

Reconfigurable Computing

http://www.starbridgesystems.com/ - This company produces reconfigurable machines based on FPGA. Have a look at the "Technology" section, particularly the paper titled "Theory of Hypercomputing"

http://www.vcc.com/ - Virtual Computer Corporation

-

-

See also Merlintec, under language Self (their processor is dynamically programmed on a FPGA). There's also an article on the June 1997 number of Scientific American

Software Engineering, programming and design paradigms and methods

http://www.cs.brown.edu/~pw/ - Peter Wegner's homepage: Interaction, active documents, theory

Reactive programming

http://www-sop.inria.fr/mimosa/rp/ - Reactive programming at INRIA, project Mimosa

http://perso.univ-lr.fr/fbertran/publications.html - Reactive asyncronous objects by Frederic Bertrand

Concurrency

http://www.cs.uh.edu/~acheng/rts-book.htm - Home page for the book "Real-Time Systems: Scheduling, Analysis, and Verification", by Albert M. K. Cheng. Not much stuff, some slides

Mobility

Soft mobility (code/status)

http://web.yl.is.s.u-tokyo.ac.jp/amo/ - Autonomous Mobile Objects, a project of Tokyo University Yonezawa lab. Among the targets: MOA, Moving Ordinary Applications

http://mucode.sourceforge.net/ - muCode is a Java middleware whose API offers a minimal set of primitives for both code and status mobility

Strong mobility (device)

TBD

Data-based coordination

http://www.cs.yale.edu/Linda/linda.html - Linda: The original data-driven coordination approach. Tuples are asyncronously inserted in a common space, which can be probed or queried by pattern matching

http://lime.sourceforge.net/ - Lime extends Linda by considering mobile processes, allowing tuples to follow the life cycle of given processes and introducing reactive programming

http://music.dsi.unifi.it/klaim.html - KLAIM

http://www.cs.unibo.it/~zavattar/ - Gianluigi Zavattaro works on coordination models. With online papers

See also MetaKLAIM under Moggi's papers (see above)

Formal methods

http://www.afm.sbu.ac.uk/ - The WWW virtual library: Formal methods. Everything on Z, B-method, ASM, etc

http://www.lemma-one.com/papers/papers.html - Some Papers by Rob Arthan, all on Z and formal methods

Model checking, verification, et cetera

http://research.compaq.com/SRC/esc/ - Extended Static Checking for Java. It uses program verification techniques to rule out some common errors, but it feels like a type checker to users

Architectures

http://www.sei.cmu.edu/str/descriptions/adl_body.html - ADL definition and basic bibliography

http://www.sei.cmu.edu/architecture/adl.html - List of ADLs at SEI

http://www.cgl.uwaterloo.ca/~rnkazman/746.html - Software Architectures course at University of Waterloo, CA (w/slides)

http://www.iam.unibe.ch/~scg/Research/Piccola/ - Piccola is a small composition language based on π-calculus, whose aim is helping in defining high-level connectors for composing and coordinating components written in other languages

People

http://sunset.usc.edu/~neno/ - Nenad Medvidovic, author of "A Classification and Comparison Framework for Software Architecture Description Languages"

http://www.ipd.hk-r.se/bosch/ - Jan Bosch

Patterns

http://c2.com/cgi/wiki?WelcomeVisitors - Wiki on patters. Also, has a nice quick explaination of fixpoint combinators (http://c2.com/cgi/wiki?FixedPointCombinators), and much discussion on functional programming (http://c2.com/cgi/wiki?FunctionalProgramming)

Refactoring

http://www.refactoring.com/ - Refactoring home page

http://www.cs.ukc.ac.uk/people/staff/sjt/Refactor/ - Refactoring functional programs; vdiff

Interfaces and programming by example

http://lieber.www.media.mit.edu/people/lieber/PBE/index.html - Homepage on programming by example. With link to online book "Watch what I do"

http://lieber.www.media.mit.edu/people/lieber/ - Lieber is a researcher at MIT on interactive interfaces

http://www-2.cs.cmu.edu/~garnet/pbd-group/pbd.html - The demonstrational interface group at Carnegie Mellon

http://garnetlisp.sourceforge.net/ - Garnet, the Carnegie Mellon's UI toolkit for LISP, is now open source at Sourceforge

http://fishell.sourceforge.net/ - FiShell, a logic programming shell

http://www.cwi.nl/~steven/views/ - Views

Programming languages

http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/mleone/web/language-research.html - Resources for Programming Language Research. Really comprehensive

http://www.cs.uu.nl/~franka/ref - Programming Languages Theory: A resource page

http://pag.cs.uni-sb.de/ - PAG is a generator of program static analyzers. PAG/WWW is a web simple interface to experiment with PAG

http://www.diku.dk/research-groups/topps/bibliography/1998.html#D-368 - Lectures on Curry-Howard isomorphism

http://www.ai.mit.edu/projects/dynlangs/oodl-course/spring01/ - A course on advanced dynamic OO languages ad MIT, with slides!! See also the Goo programming language below

http://www.cs.unibo.it/~laneve/html/metodi1/programma-old.html - Formal methods course: OO programming, by Cosimo Laneve. Focuses on foundational aspects, with papers online

http://www.eptacom.net/pubblicazioni/pub_it/oopgen.html - (in Italian) Un confronto tra OOP e programmazione generica, articolo di Carlo Pescio

Object-(oriented/based/aware/whatever)

C++

http://www.desy.de/user/projects/C++.html - The C++ Virtual Library

Smalltalk

http://www.squeak.org - Squeak, a Smalltalk written in itself. Completely free

http://minnow.cc.gatech.edu/squeak.1 - The Squeak Swiki: A wiki-wiki web written in Squeak for Squeak users

Self

http://research.sun.com/self/ - Self language

http://www.merlintec.com:8080/Self/ - A Self Swiki at Merlintec

http://www.merlintec.com/ - Merlintec develops computers interely based on Self

http://www.cs.tu-berlin.de/~tolk/dself - dSelf: An extension to the delegation and prototype-based object-oriented language SELF. It adds distributed objects and transparent remote reference resolution to the languages. As a consequence, dSelf facilitates distributed inheritance and instantiation mechanisms

Other

http://www.googoogaga.org/ - Goo is a simple language derived from Proto, a language used for an advanced course on programming languages at MIT (see above for the link)

http://www.gerbil.org/tom/ - TOM, an object oriented language. A GTK library for TOM exists

http://www.cis.unisa.edu.au/~pizza/ - Pizza is a Java extention with parametric polymorphism, first-class functions and class pattern matching. GJ is a Java extension supporting generic types

http://www.daimi.au.dk/~beta/ - Beta language

http://www.oberon.ethz.ch/ - Oberon and follow-ups (Active Objects)

Functional

http://www.cs.nott.ac.uk/~gmh//faq.html - comp.lang.functional FAQ

http://www.latrobe.edu.au/philosophy/phimvt/joy.html - Joy language; With theory

http://www.willamette.edu/~fruehr/haskell/evolution.html - The Evolution of a Haskell Programmer, some humor on (over)complex implementations of the factorial function with pointless recursion

LISP

http://www.lisp.org - Everything about LISP

http://www.elwood.com/alu/ - The Association of LISP Users site

http://clisp.cons.org/ - GNU CLISP, an ANSI Common LIPS

http://www.cons.org/cmucl/ - CMUCL: A high-performance, free Common LISP implementation. No port to Windows

http://www.cs.uni-bonn.de/~costanza/lisp/guide.html - Pascal Costanza's Highly Opinionated Guide to Lisp. Many resources

http://www.paulgraham.com/ - Paul Graham's home page. A LISP guru, has written interesting books and columns. His book "On LISP" is freely downloadable from the site

Scheme

http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html - Teach Yourself Scheme in Fixnum Days

http://www.scheme.org/ - Info on Scheme

http://www.schemers.org/ - Scheme users site, full of resources

http://www.miass.chel.su/books/schintro/schintro_toc.html - An Introduction To Scheme And Its Implementation

http://mitpress.mit.edu/sicp/ - Home page for the book "Structure and Interpretation of Computer Programs", aka "the wizard book". The fundamentals of programming taught with the help of Scheme

http://www.swiss.ai.mit.edu/projects/scheme/ - MIT Scheme

http://www.plt-scheme.org/ - Various implementations of Scheme like DrScheme (graphical, thought for teaching) and MzScheme (more lightweight), books on Scheme, and more

http://www-sop.inria.fr/mimosa/fp/Bigloo/ - Bigloo is a Scheme implementation by Manuel Serrano at Inria, with many features

ML and derivatives

http://cm.bell-labs.com/cm/cs/what/smlnj/index.html - Standard ML of New Jersey (SML/NJ)

http://caml.inria.fr/ - CAML and Objective CAML

http://www.cse.ogi.edu/PacSoft/projects/metaml/index.html - MetaML, ML with metaprogramming. Requires SML/NJ

http://www.cse.ogi.edu/PacSoft/projects/Mustang/Overview.html - Mustang: Stage computation; The project which generated MetaML

http://www.cse.ogi.edu/~sheard/staged.html - More from the same guys: A taxonomy of meta-programming systems

Haskell

http://www.haskell.org/ - Haskell language homepage

Other

http://www.eleves.ens.fr:8080/home/madore/programs/unlambda/ - The Unlambda Programming Language is a language thought to yield completely unreadable programs: It is pure SKI calculus without abstraction - and with call/cc. The author's homepage (remove "programs/unlambda/") is full of interesting things (quines, call/cc explanation...)

http://www-i2.informatik.rwth-aachen.de/~hanus/FLP/ - A page on hybrid logic-functional languages (see also Curry)

http://www.informatik.uni-kiel.de/~curry/ - Curry is a hybrid logic-functional language

http://linus.socs.uts.edu.au/~cbj/FISh/ - Fish is a functional language based on shapes, thought mainly for matrix applications and which claims to be ultrafast. Many interesting links at his father's homepage (remove "FISH/")

Logic

http://user.it.uu.se/~voronkov/ddb.htm - A course on logic databases (Datalog), with theory

http://pauillac.inria.fr/~diaz/gnu-prolog/ - GNU Prolog

http://www.swi-prolog.org/ - SWI Prolog

http://clip.dia.fi.upm.es/Software/Ciao/ - Ciao Prolog

See also Curry, a functional-logic language, under the functional languages section

Rule-based

http://www.ghg.net/clips/CLIPS.html - CLIPS is a "historical" rule-based language for expert system production. Free license

http://herzberg.ca.sandia.gov/jess/index.html - Jess is written in Java and recognizes CLIPS

Other

http://spcuna.spc.edu/~davis_d/computing/funk/html/index.html - Funk is a minimalist rewrite-based language

http://www.pdos.lcs.mit.edu/tickc/ - `C (read tickc) is a language with dynamic code generation

http://felix.sourceforge.net/ - Felix is a language with C/C++ syntax, ML types, pattern matching, garbage collection and "ultra light threads"

http://flarelang.sourceforge.net/ - Flare Programming Language is a proposal for an "annotative language", especially flexible. Not very clear the goals, many discussion but not implemented yet

Technologies and formats

.NET

http://msdn.microsoft.com/net/ecma/ - on .NET ECMA standards

http://msdn.microsoft.com/net/sscli - Shared source CLI (aka "rotor")

http://www.clrinternals.com/ - Peter Drayton's page on CLR

http://www.oberon.ethz.ch/lightning/ - Active Oberon for .NET

http://go-mono.com/ - mono is an open source implementation of the .NET platform, sponsored by Ximian

http://www.dotgnu.org/ - DotGNU is a project aimed at building an "operating system for the internet" - a collection of tools that allow software components to interact with each other over the internet. Among the subprojects the so forth most complete is Portable.NET, a free platform for compiling and executing .NET programs, and phpGroupware, a multi-user web-based groupware suite written in PHP

Web formats and languages

http://www.php.net - Official PHP homepage.

http://language.perl.com/ - Programmers' Perl resources

http://www.perlarchive.org (.com) - More programmers' Perl resources, with cgi scripts for many applitacions

http://wdvl.com - Web developer resource; Tutorials on Javascript, DHTML, Java, Perl, CGI, and almost anything else

DHTML

http://www.webreference.com/dhtml/ - Interesting stuff for DHTML

http://www.dansteinman.com/dynduo/ - Dynamic Duo: one of the best tutorials on multiplatform DHTML

http://www.htmlguru.com - Another site, rich of links

http://www.webreview.com/ - Many informations on browser interoperability issues and compatibility charts

http://developer.netscape.com/docs/manuals/communicator/dynhtml/index.htm - The Netscape DHTML manual

Look also at webopaedia under "DHTML" for more links, and the w3c homepage for standards.

Unicode

http://www.unicode.org/ - Authoritative and complete. Full downloadable specs

http://www.cl.cam.ac.uk/~mgk25/unicode.html - Good FAQ on UTF-8

Retrocomputing

http://www.sincuser.f9.co.uk/ - Sinclair User Magazine Online, the archive of the magazine. Not everything is present, however a notable piece of retrocomputing

http://www.emunation.com - Emulators (console, home computers, etc.)

More Tech

http://www.coprolite.com/ - Using free and discarded/outdated technology for building computing devices

http://www.solarpower.org/ - A resource for those interested in all forms of solar power and renewable energy

http://opencollector.org/ - Free hardware. Utopia webring, with many free hardware projects

Valid XHTML 1.0!

Updated: 2004-01-22 21:04 UTC