Sergey Logichev wrote:
> Jafar,
>  
> That are the great news! I hope the implementation of iconc approach
> to build will be completed soon. I am very interesting in that as I
> suppose performance will increase on some factor. I am waiting with
> patience.
> Good luck!
> Sergey

Excuse the topic drift everyone:

Sergey, for a hint on one small aspect of performance gain, expect about
4 times raw speed for simple numeric operations.  Due to the large
integer semantics in Unicon, that are managed implicitly with the small
program sample used, that number may be low overall. You can expect more
gain from some operations, and less from others.  It will be interesting
to see how a mix averages out.  Hypothesis at this point is that 4x is
the low end of the scale.

See http://btiffin.users.sourceforge.net/up/performance.html#summary

I'll expand on that article to cover more than just summing integers
soon. The entire chapter is meant to be a double edged sword, though. 
Development time with Unicon is the star of the show really, but that is
a fairly hard metric to articulate without real world numbers to back it up.

The summing integers example is too short, and differences in
development times are negligible.  The next few entries in that chapter
will try and document more complex problems, and track how long it takes
to get correct and reliable solutions.  That will likely be a hard thing
to do objectively.  Especially as an individual (with very pro Unicon
bias and various (low) levels of expertise with most development
environments).  I'll try and and find some volunteers that have their
own favourites to tackle a set of problems and record the efforts.  That
will take a while to organize.  The goal is to exclude guru level
programmers, as those masters are the exception and not generally the
rule when measuring the productivity of most software developers.

One issue that may make that even more difficult (and I don't think this
a provable point without a large scale study), is that Unicon developers
may already be a little bit outside the normal curve.  I personally
think that the average "average programmer" may feel a little bit
daunted when faced with some of the features inherent in Unicon, and
might not become Unicon programmers.  Those that do, by choice, have
already shown a particular bias and set of attributes.  Like Forth;
those that get it, fly; those that don't, walk away and do something
else.  Same with functional ala Haskel, or Lisp like or ....  There is
an almost audible clicking noise when people first encounter a language
that they are going to "get" and have an innate knack for.  :-) Very
much like trying to predict someone's favourite colours or types of
music.  It's almost impossible without asking (and with music, can be
outright surprising sometimes).

Have good, make well,
Brian

>  
> 13.06.2017, 09:27, "Jafar Al-Gharaibeh" <to.ja...@gmail.com>:
>> Sergey,
>>  
>>  
>>   unicon -C invoked iconc, the unicon compiler, which produces native
>> machine code that can run directly without the need for the
>> interpreter: iconx. As Clint and I pointed out, this still in early
>> stage on Windows and it doesn't get built by default. I get it to
>> build and run sometimes on Windows but I didn't spend enough time to
>> get it to build reliably to add it to the default build.  I'm working
>> on improving the build system and standardizing it so that most bits
>> are handled automatically and in the same way on all platforms
>> including Windows.  Stay tuned.
>>  
>> Cheers,
>> Jafar
>>  
>> On Tue, Jun 13, 2017 at 12:29 AM, Sergey Logichev
>> <slogic...@yandex.ru <mailto:slogic...@yandex.ru>> wrote:
>>
>>     Clint,
>>     If you mean that I need GCC to make unicon it's not a problem. I
>>     usually use mingw/mingw-w64 to build C/C++ sources on Windows.
>>     But what are rt.a and rt.db? First one is DLL? But for what? All
>>     works fine on Windows without them.
>>     On MS Win you have three option to build and run Unicon: CygWin,
>>     Native Windows and Linux Subsystem for Windows (for Win10
>>     home/pro editions only).
>>     I hope that fix of "\" and "/" will be quite simple. In general
>>     sense Windows port is workable on 100%. If some inconsistencies
>>     will be found in the future - it's only good strategically.
>>     Unicon is pretty flexible, fast and excellent already. And will
>>     be better I hope!
>>     By the way, since last year in Unicon sources persists one buggy
>>     definition in gdbm/systems.h at line #165:
>>     #define TRUNCATE(dbf) close( open (dbf->name, O_RDWR|O_TRUNC, mode));
>>     Trailing semicolon (;) produces weird consequences during
>>     compilation process and prevent successful build. I think that ;
>>     added by some strange case.
>>     Sincerely,
>>     Sergey
>>      
>>      
>>     13.06.2017, 08:06, "Jeffery, Clint (jeffe...@uidaho.edu
>>     <mailto:jeffe...@uidaho.edu>)" <jeffe...@uidaho.edu
>>     <mailto:jeffe...@uidaho.edu>>:
>>>     Sergey
>>>      
>>>     Your \ and / issue points out rather simply that unicon -C
>>>     hasn't fully been ported to Windows yet, and even if we fix this
>>>     little issue and get it to run, you will need a C compiler for
>>>     the generated code, and someone will have to build the runtime
>>>     system rt.a and rt.db on Windows. Maybe most of the port has
>>>     been done awhile back by Shea, but it is not in the public
>>>     Unicon binaries yet. I'll check on all this and report back.
>>>      
>>>     Clint
>>>      
>>>     /Sent from my LG G6, an AT&T 4G LTE smartphone/
>>>      
>>>     ------ Original message------
>>>     *From: *Sergey Logichev
>>>     *Date: *Tue, Jun 13, 2017 12:55 AM
>>>     *To: *Contact - clint.jeff...@gmail.com
>>>     <mailto:clint.jeff...@gmail.com>;
>>>     *Cc: *Unicon group;
>>>     *Subject:*Re: [Unicon-group] unicon -C ==> -fs tweak
>>>      
>>>     Clint,
>>>      
>>>     Now I understand. I suppose that mix of "\" and "/" is produced
>>>     by "../" somewhere internally in unicon. To avoid same problem
>>>     (as I use my code on Windows and Unix transparently) I define
>>>     path-separator character. "\" for Windows and "/" for Unix and
>>>     all is fine!
>>>     Thank you for reference to utr11, it's quite informative and no
>>>     more questions.
>>>     Thanks!
>>>     Sergey
>>>      
>>>     13.06.2017, 07:43, "Clinton Jeffery" <clint.jeff...@gmail.com
>>>     <mailto:clint.jeff...@gmail.com>>:
>>>>     Dear Sergey,
>>>>      
>>>>     I agree that "ca-add-link" ... "not ready" is not a very good
>>>>     message. It is easy to see the spot in the code
>>>>     (uni/unicon/ca.icn) where the error message is emitted. It is
>>>>     less transparent what is the cause, and what is the fix.  One
>>>>     possibility is the mixture of \ and / as path separators seen
>>>>     in the message.
>>>>      
>>>>     The error message occurs when a "table of all the ucode files",
>>>>     uftbl, does not have a table entry for the requested file, in
>>>>     this case c:\\work\\unicon\\bin\\../ipl/gprocs\\graphics.icn
>>>>      
>>>>     I can imagine the table having that path to graphics.icn
>>>>     inserted, but all with \\  or all with /. Unlike a C open()
>>>>     command, a table lookup will not accept either character as
>>>>     equivalent. I will need to experiment on a Windows machine to
>>>>     try and reproduce your bug and find out if it has to do with \\
>>>>     vs. / or something else, unless you or someone else beats me to
>>>>     it. If it is \ and / mixing that is the problem, it should be
>>>>     pretty easy to fix.
>>>>      
>>>>     In answer to your other question, I agree that unicon -help is
>>>>     swell. The man page for unicon
>>>>     is http://unicon.org/utr/utr11.html and if the -help output or
>>>>     the utr11.html are unclear, we want to know about it so we can
>>>>     make additions and corrections to them.
>>>>      
>>>>     Cheers,
>>>>     Clint
>>>>      
>>>>     On Tue, Jun 13, 2017 at 12:24 AM, Sergey Logichev
>>>>     <slogic...@yandex.ru <mailto:slogic...@yandex.ru>> wrote:
>>>>
>>>>         Hello Clint,
>>>>          
>>>>         Unfortunately, I didn't managed to build my lovely program
>>>>         with -C option. I got the following (that's the end of long
>>>>         output):
>>>>         Parsing xm.icn:
>>>>         
>>>> ..........................................................................
>>>>         Parsing sort.icn: .....
>>>>         Parsing process.icn:
>>>>         ......................................................
>>>>         Parsing options.icn: .
>>>>         Parsing regexp.icn: ....................................
>>>>         Parsing futils.icn: .................
>>>>         Parsing escape.icn: ...
>>>>         Parsing asort.icn: ............
>>>>         Parsing xmprocs.icn: ...............
>>>>         Parsing unicodes.icn: ....................
>>>>         Parsing htmlutils.icn: ...........
>>>>         Parsing graphprocs.icn: ........
>>>>         Parsing c:\work\unicon\bin\../ipl/gprocs\graphics.icn:
>>>>         .........ca-add-link:
>>>>         "c:\\work\\unicon\\bin\\../ipl/gprocs\\graphics.icn" not ready.
>>>>          
>>>>         I don't understand what does it mean - "not ready". Could
>>>>         you please dechipher this message. I have "link graphics"
>>>>         in my code and I sure that it is already compiled. Without
>>>>         option -C all is built fine.
>>>>         As for option -fs, in my humble opinion it should be
>>>>         always. As I understand if I have some procedures in code
>>>>         which are not called they will be removed during
>>>>         compilation as redundant. But it's not my case, I need such
>>>>         procedures definitly, as my program interprets and runs
>>>>         "on-the-fly" scripts written in simplified Icon/Unicon and
>>>>         these scripts can include any available procedural calls.
>>>>         It's slightly extended version of an approach firstly
>>>>         implemented by Stephen Wampler in IPL's icalc.icn.
>>>>         Maybe you can advice some more advanced approach to me? I
>>>>         will be very appreciated to you.
>>>>         Sincerely,
>>>>         Sergey Logichev
>>>>          
>>>>         PS. I was very happy to see option -help for uncion! That's
>>>>         really great! Does it exist more complete description of
>>>>         each option in docs?
>>>>          
>>>>         12.06.2017, 20:47, "Clinton Jeffery"
>>>>         <clint.jeff...@gmail.com <mailto:clint.jeff...@gmail.com>>:
>>>>>         Dear Uniconers,
>>>>>          
>>>>>         Lots of exciting work is getting done by the Unicon
>>>>>         community right now.  I hope you are having a blast.
>>>>>          
>>>>>         Just to let you know: after several of you reported
>>>>>         programs that would run under unicon -C but only if the
>>>>>         -fs option was used, I went ahead and asked Ken Walker if
>>>>>         there was any reason not to turn -fs on all the time,
>>>>>         other than the slightly larger code size it would entail.
>>>>>         He indicated that actually using string invocation (the
>>>>>         feature -fs was written to support) reduces the
>>>>>         effectiveness of type inferencing, but that leaving -fs on
>>>>>         was fine if we don't mind the code size.
>>>>>          
>>>>>         So, I turned on -fs automatically if -C is used in unicon,
>>>>>         in our svn repository. It allows a number of Unicon
>>>>>         programs to compile or run correctly that otherwise do
>>>>>         not. But, if you encounter any problems due to it, I want
>>>>>         to hear about them and could change the default back if it
>>>>>         has any really bad side effects.  If you are using a
>>>>>         binary distribution or building from a .zip this change
>>>>>         won't affect you for now.
>>>>>          
>>>>>         Cheers,
>>>>>         Clint
>>>>>          
>>>>>         ,
>>>>>
>>>>>         
>>>>> ------------------------------------------------------------------------------
>>>>>         Check out the vibrant tech community on one of the world's
>>>>>         most
>>>>>         engaging tech sites, Slashdot.org!
>>>>>         http://sdm.link/slashdot <http://sdm.link/slashdot>
>>>>>
>>>>>         ,
>>>>>
>>>>>         _______________________________________________
>>>>>         Unicon-group mailing list
>>>>>         Unicon-group@lists.sourceforge.net
>>>>>         <mailto:Unicon-group@lists.sourceforge.net>
>>>>>         https://lists.sourceforge.net/lists/listinfo/unicon-group
>>>>>
>>
>>     
>> ------------------------------------------------------------------------------
>>     Check out the vibrant tech community on one of the world's most
>>     engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>     _______________________________________________
>>     Unicon-group mailing list
>>     Unicon-group@lists.sourceforge.net
>>     <mailto:Unicon-group@lists.sourceforge.net>
>>     https://lists.sourceforge.net/lists/listinfo/unicon-group
>>      
>>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>
>
> _______________________________________________
> Unicon-group mailing list
> Unicon-group@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/unicon-group


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Unicon-group mailing list
Unicon-group@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to