[clean-list] Queries for introduction to Clean's language and environment

Mikael mikael.rcv at gmail.com
Fri Mar 25 22:18:45 MET 2011


Hi,

I'm completely new to Clean - both its environment and language - and would
like to ask a couple of questions. I'd appreciate your response highly. If
you happen to have the answer to only a part of the questions then please
answer to only that one.

There may be more questions later, the point now however was to get a more
detailed sense of introduction and understanding

I look forward to your response!

Many thanks,
Mikael

*Documentation, community
* * What tutorials to Clean's language & environment are you aware of today?
 * Are there other forums for Clean programming than this emailing list -
any IRC channel, annual symposium or alike?

*Live coding, debugging*
 * Is there anything like a REPL / live code environment? I understood Hilde
should do this, where do I find its executable? Does it have any particular
limitations?
 * What debugging features are there? Can I get a complete stack &
environment trace/dump on errors?

*Performance
* * The Clean vs. GHC benchmarks I've seen are not so clear about what's
what. What is your understanding of Clean's current performance in relation
with that of other environments such as GHC and C code?
     The numbers I'm interested in is when all involved environments have
high optimization levels enabled, but still technically are high-level
languages i.e. heap&stack overflow checking is on, that kind of thing.
 * Which algorithm does the GC run on?

*Exceptions
* * How developed is the exception handling today, can Clean code catch any
exception such as IO or heap overflow exceptions?

*C/C++ integration*
 * What level of integration / Foreign Function Interface is there from
Clean to the C or C++ worlds?
     * Can you inline C or C++ code in your Clean code - if so how?
     * Can you import and call external (i.e. C) procedures and call them -
if so how?
     * What data types can I pass from Clean to the C world, and back?

*License*
 * Is the licensing LGPL or commercial also today? Furthermore:
    * Does this mean a commercial application can use Clean as long as the
runtime library link file is not statically linked into the app? Or would
you allow statically linked apps also?
    * Is there any intent to release Clean's environment as BSD or MIT i.e.
a completely open-sourced license?
 * Is the Clean developers team open to open source contributions to the
codebase?

*Unicode support*
 * What level of Unicode support does Clean have?
   * For instance, are characters 32bit / can they be?
   * Is this support all-pervasive throughout Clean?

*Bytecode format*
 * Is there any documentation of the VM/bytecode intermediary format when
compiling Clean to C? Where's the closest thing to documentation out there?
     * Has there been any initiative to compile this format to any other
language than C?
     * Would you think it would be a good idea to use the bytecode for other
things than C code generation?

*Multiprocessing*
 * Does Clean of today always run in one and the same OS process & one and
the same OS thread? Can it use more? I read on the ML that someone made a
parallel variant for m68k:s.
 * Is there any green threading system?

*Portability
* * Is Clean completely locked to Windows and Linux, or can all
non-GUI-parts be fully utilized on all other supporting systems such as Mac
OS X, BSD and IPhones?
 * Is the Dynamics feature and the Hilde shell only available on Windows
also today, if so how come?
 * Can Clean be satisfactorily used from the console (to compile, run apps,
live interaction, other activities)?

*IO*
 * Can a Clean app do IO asynchronously, if so how, does the functionality
fall back on a central event loop based on select()?
 * What level of IO performance would you say that Clean has?

*Runtime environment
* * Which are the runtime environment files that are dynamically used by a
Clean-generated executable, what directory can i find them? (on
Windows/Linux)
 * What's the lower and upper intervals for how much space the runtime
dependency files can take for an app? (Hello world and up to max complexity)

*Memory use*
 * Do you view Clean as completely safe for 'space leaks' (given that the
programmer was somehow present while coding)?

*Robustness
* * Would you say that Clean's environment is robust by industry standards
i.e. a non-GUI app would not crash because of Clean bugs ever?
 * What real-world/production apps are you aware of that Clean has been/is
used in?

*Completeness, development*
 * By your own standards, how complete is Clean's language specification and
environment?
 * How final is the language specification, could incompatibility with newer
versions of Clean happen for current code?
 * Approx what development takes place on Clean today? What are the current
development objectives? What maintenance can you expect the next years or
so?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/clean-list/attachments/20110325/d946353d/attachment.html>


More information about the clean-list mailing list