[Pharo-users] ODBCDriver adapted to uFFI

2021-05-13 Thread Tomaž Turk

Dear all,

I solved a couple of issues in https://github.com/apiorno/ODBCDriver. 
Until Alvaro finds the time to check the proposed PR, you can play with 
my clone: https://github.com/eftomi/ODBCDriver. A simple example of 
connecting to the data source is in ODBC-Tests. It connects and returns 
data on Pharo 8.0 32 and 64 on Win10 64 bit with remote SQL Server. More 
extensive tests are to be done.


Best wishes,
Tomaz

[Pharo-users] Re: NeoCSVReader and wrong number of fieldAccessors

2021-05-13 Thread Sven Van Caekenberghe
There is now the following commit:

https://github.com/svenvc/NeoCSV/commit/0acc2270b382f52533c478f2f1585341e390d4b5

which should address a couple of issues.

> On 22 Jan 2021, at 12:15, jtuc...@objektfabrik.de wrote:
> 
> Tim,
> 
> 
> 
> 
> Am 22.01.21 um 10:22 schrieb Tim Mackinnon:
>> I’m not doing any CSV processing at the moment, but have in the past - so 
>> was interested in this thread.
>> 
>> @Kasper, can’t you just use #readHeader upfront, and do the assertion 
>> yourself, and then proceed to loop through your records? It would seem that 
>> the Neo caters for what you are suggesting - and if you want to add a helper 
>> method extension you have the building blocks to already do this?
>> 
> This is a good idea. One caveat, however: #readHeader in its current 
> implementation does 2 things: 
> 
>   • read the line respecting each field (thereby, respect line breaks 
> within quoted fields - perfect for this purpose)
>   • update the number of Columns for further reading (assuming 
> #readHeader's purpose is to interpret the header line) 
> This second thing is in our way, because it may influence the way the 
> following lines will be interpreted. That is ecactly why I created an issue 
> on github (https://github.com/svenvc/NeoCSV/issues/20). 
> A method that reads a line without any side effects (other than pushing the 
> position pointer forward to the next line) would come in handy for such 
> scenarios. But you can always argue that this has nothing to do with CSV, 
> because in CSV all lines have the same number of columns, each of them 
> containing the same kind of information, and there may be exactly one header 
> line. Anything else is just some file that may contain CSV-y stuff in it. So 
> I am really not sure if NeoCSV should build lots of stuff for such files. I'd 
> love to have this, but I'd understand if Sven refused to integrate it ;-)
> 
> 
>> The only flaw I can think of, is if there is no header present then I can’t 
>> recall what Neo does - ideally throws an exception so you can decide what to 
>> do - potentially continue if the number of columns is what you expect and 
>> the data matches the columns - or you fail with an error that a header is 
>> required. But I think you would always need to do some basic initial checks 
>> when processing CSV due to the nature of the format?
> Right. You'd always have to write some specific logic for this particular 
> file format and make NeoCSV ignore the right stuff...
> 
> 
> 
> Joachim
> 
> 
> 
> 
> 
>> 
>> Tim
>> 
>> On Fri, 22 Jan 2021, at 6:42 AM, Kasper Osterbye wrote:
>>> As it happened, I ran into the exact same scenario as Joachim just the 
>>> other day,
>>> that is, the external provider of my csv had added some new columns. In my 
>>> case
>>> manifested itself in an error that an integer field was not an integer 
>>> (because new
>>> columns were added in the middle).
>>> 
>>> Reading through this whole thread leaves me with the feeling that no matter 
>>> what Sven
>>> adds, there is still a risk for error. Nevertheless, my suggestion would be 
>>> to add a 
>>> functionality to #skipHeaders, or make a sister method: 
>>> #assertAndSkipHeaders: numberOfColumns onFailDo: aBlock given the actual 
>>> number of headers
>>> That would give me a way to handle the error up front. 
>>> 
>>> This will only be interesting if your data has headers of cause.
>>> 
>>> Thanks for NeoCSV which I use all the time!
>>> 
>>> Best,
>>> 
>>> Kasper 
>> 
> 
> 
> -- 
> ---
> Objektfabrik Joachim Tuchel  
> mailto:jtuc...@objektfabrik.de
> 
> Fliederweg 1 
> http://www.objektfabrik.de
> 
> D-71640 Ludwigsburg  
> http://joachimtuchel.wordpress.com
> 
> Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
> 
> 
> 
> 


[Pharo-users] Re: Looking for more non-trivial example application based on Spec2 to learn from...

2021-05-13 Thread Russ Whaley
Great, Sebastian, thanks. I’ll take a (braver) look into the code soon.
I’ll touch base on discord :)

On Thu, May 13, 2021 at 10:39 AM Sebastian Jordan 
wrote:

> Hi Russ,
> Do not scarry of the WorldMenu item. Any tool can appear in the WorldMenu
> if it has a class side method `menuCommandOn:`. Just load the code with
> the script that appears in the README. Look at the classes in the packages
> and you will see that a lot of them are children of SpPresenter. I do not
> know if my tools is a complete example of all Spec framework. But at least
> it has all the basics covered.
> Let me know if you have any question 🙂 We can talk on Discord too.
>
> Sebastian
> --
> *From:* Russ Whaley 
> *Sent:* 12 May 2021 12:52
> *To:* Any question about pharo is welcome 
>
> *Subject:* [Pharo-users] Re: Looking for more non-trivial example
> application based on Spec2 to learn from...
>
> Mark & Sebastian,
> Sebastian, the link you provided is to a RewriteToolsSet... I don't
> understand how this provides insights into a Spec2 solution? - but
> admittedly I didn't dig too deep - I saw WorldMenu items and went
> 'woah-stop!', lol.  I'm hoping there was another link Mark referenced that
> perhaps didn't come through my email chain  :)
>
> I REALLY want to learn how others use Spec2 in an integrated way
> (interconnected presenters, model refreshes, etc.).  I've written 6 apps in
> Pharo (all with Spec2 GUI) and I still don't feel as if I'm doing things
> correctly.  I can 'get things to work' and I'm pretty pleased with them in
> general, but I usually run up against the same 'refresh' issues, especially
> around notebooks.
>
> Esteban is a wealth of information and has been very helpful for my basic
> understanding - but I can envision him shaking his head at my feeble
> attempts and questions (just kidding Esteban!).
>
> I am VERY interested to review Spec2 code others are successfully using,
> so I can hopefully get past whatever brainblock I have in my Spec2 designs.
>
> ... and I would very much like to be involved in a Spec2
> workshop/session/whatever!
>
> Happy Pharo-ing!
> Russ (whalehead on discord)
>
> On Wed, May 12, 2021 at 5:32 AM  wrote:
>
> Hi Tim
>
> Thanks for the suggestion - I’m aware of the alternative of using a web
> application architecture using something like Seaside (and now CodeParadise
> too - thanks).
>
> But I’m more interested at the moment in getting on top of a more
> traditional application for these personal apps I want to build for my
> desktop PC.
>
> My needs may change of course - and I’m sure will look at doing some web
> apps in the future...
>
> More importantly - YES - it is great to be back in a ST environment again
> , and of course it is still so very very addictive !!
>
> [ Before resuming I spent some time familiarising myself with the
> mainstream tools the industry seems to have adopted in the last 10-20
> years. I must say I was quite surprised and even disappointed about the
> complexity, verbosity and incomprehensible syntax of some, and the
> sloppiness (or is it flexibility?) of others. I really was not keen to have
> to pick up one of those again. I had somehow hoped or expected that
> language and environment design would have been much slicker and more fully
> evolved by now…]
>
> Cheers Tim, and thanks for the suggestion…
>
> Mark
>
>
>
> --
> Russ Whaley
> whaley.r...@gmail.com
>
-- 
Russ Whaley
whaley.r...@gmail.com


[Pharo-users] Re: Looking for more non-trivial example application based on Spec2 to learn from...

2021-05-13 Thread Sebastian Jordan
Hi Russ,
Do not scarry of the WorldMenu item. Any tool can appear in the WorldMenu if it 
has a class side method `menuCommandOn:`. Just load the code with the script 
that appears in the README. Look at the classes in the packages and you will 
see that a lot of them are children of SpPresenter. I do not know if my tools 
is a complete example of all Spec framework. But at least it has all the basics 
covered.
Let me know if you have any question 🙂 We can talk on Discord too.

Sebastian

From: Russ Whaley 
Sent: 12 May 2021 12:52
To: Any question about pharo is welcome 
Subject: [Pharo-users] Re: Looking for more non-trivial example application 
based on Spec2 to learn from...

Mark & Sebastian,
Sebastian, the link you provided is to a RewriteToolsSet... I don't understand 
how this provides insights into a Spec2 solution? - but admittedly I didn't dig 
too deep - I saw WorldMenu items and went 'woah-stop!', lol.  I'm hoping there 
was another link Mark referenced that perhaps didn't come through my email 
chain  :)

I REALLY want to learn how others use Spec2 in an integrated way 
(interconnected presenters, model refreshes, etc.).  I've written 6 apps in 
Pharo (all with Spec2 GUI) and I still don't feel as if I'm doing things 
correctly.  I can 'get things to work' and I'm pretty pleased with them in 
general, but I usually run up against the same 'refresh' issues, especially 
around notebooks.

Esteban is a wealth of information and has been very helpful for my basic 
understanding - but I can envision him shaking his head at my feeble attempts 
and questions (just kidding Esteban!).

I am VERY interested to review Spec2 code others are successfully using, so I 
can hopefully get past whatever brainblock I have in my Spec2 designs.

... and I would very much like to be involved in a Spec2 
workshop/session/whatever!

Happy Pharo-ing!
Russ (whalehead on discord)

On Wed, May 12, 2021 at 5:32 AM 
mailto:mark.odonoghue.2...@gmail.com>> wrote:

Hi Tim

Thanks for the suggestion - I’m aware of the alternative of using a web 
application architecture using something like Seaside (and now CodeParadise too 
- thanks).

But I’m more interested at the moment in getting on top of a more traditional 
application for these personal apps I want to build for my desktop PC.

My needs may change of course - and I’m sure will look at doing some web apps 
in the future...

More importantly - YES - it is great to be back in a ST environment again , and 
of course it is still so very very addictive !!

[ Before resuming I spent some time familiarising myself with the mainstream 
tools the industry seems to have adopted in the last 10-20 years. I must say I 
was quite surprised and even disappointed about the complexity, verbosity and 
incomprehensible syntax of some, and the sloppiness (or is it flexibility?) of 
others. I really was not keen to have to pick up one of those again. I had 
somehow hoped or expected that language and environment design would have been 
much slicker and more fully evolved by now…]

Cheers Tim, and thanks for the suggestion…

Mark


--
Russ Whaley
whaley.r...@gmail.com


[Pharo-users] CFP: SLE 2021 - 14th ACM SIGPLAN International Conference on Software Language Engineering

2021-05-13 Thread Andrei Chis

14th ACM SIGPLAN International Conference on Software Language Engineering
(SLE 2021)
October 17-19, 2021
Chicago, Illinois


https://conf.researchr.org/home/sle-2021
http://www.sleconf.org/2021
Follow us on twitter: https://twitter.com/sleconf


We are pleased to invite you to submit papers to the 14th ACM SIGPLAN
International Conference on Software Language Engineering (SLE 2021), held
in conjunction with SPLASH, GPCE and SAS 2021. Based on the future
developments the conference will be hosted in Chicago, Illinois, United
States on October 17-19, 2021 or will be held as a virtual event.

---
Scope
---

The ACM SIGPLAN International Conference on Software Language Engineering
(SLE) is devoted to the principles of software languages: their design,
their implementation, and their evolution.

With the ubiquity of computers, software has become the dominating
intellectual asset of our time. In turn, this software depends on software
languages, namely the languages it is written in, the languages used to
describe its environment, and the languages driving its development
process. Given that everything depends on software and that software
depends on software languages, it seems fair to say that for many years to
come, everything will depend on software languages.

Software language engineering (SLE) is the discipline of engineering
languages and their tools required for the creation of software. It
abstracts from the differences between programming languages, modelling
languages, and other software languages, and emphasizes the engineering
facet of the creation of such languages, that is, the establishment of the
scientific methods and practices that enable the best results. While SLE is
certainly driven by its metacircular character (software languages are
engineered using software languages), SLE is not self-satisfying: its scope
extends to the engineering of languages for all and everything.

Like its predecessors, the 14th edition of the SLE conference, SLE 2021,
will bring together researchers from different areas united by their common
interest in the creation, capture, and tooling of software languages. It
overlaps with traditional conferences on the design and implementation of
programming languages, model-driven engineering, and compiler construction,
and emphasizes the fusion of their communities. To foster the latter, SLE
traditionally fills a two-day program with a single track, with the only
temporal overlap occurring between co-located events.

---
Topics of Interest
---

SLE 2021 solicits high-quality contributions in areas ranging from
theoretical and conceptual contributions, to tools, techniques, and
frameworks in the domain of software language engineering. Broadly
speaking, SLE covers software language engineering rather than engineering
a specific software language. Topics of interest include, but are not
limited to:


* Software Language Design and Implementation
  - Approaches to and methods for language design
  - Static semantics (e.g., design rules, well-formedness constraints)
  - Techniques for specifying behavioral / executable semantics
  - Generative approaches (incl. code synthesis, compilation)
  - Meta-languages, meta-tools, language workbenches

* Software Language Validation
  - Verification and formal methods for languages
  - Testing techniques for languages
  - Simulation techniques for languages

* Software Language Integration and Composition
  - Coordination of heterogeneous languages and tools
  - Mappings between languages (incl. transformation languages)
  - Traceability between languages
  - Deployment of languages to different platforms

* Software Language Maintenance
  - Software language reuse
  - Language evolution
  - Language families and variability

* Domain-specific approaches for any aspects of SLE (design,
implementation, validation, maintenance)

* Empirical evaluation and experience reports of language engineering tools
  - User studies evaluating usability
  - Performance benchmarks
  - Industrial applications

---
Important Dates
---

All dates are Anywhere on Earth.

* Mon 5 Jul 2021 - Abstract Submissions
* Fri 9 Jul 2021 - Paper Submissions
* Wed 1 Sep 2021 - Review Notification
* Wed-Fri 1-3 Sep 2021 - Author Response Period
* Mon 13 Sep 2021 - Notification
* Wed 15 Sept 2021 - Artifact Submissions
* Tue 28 Sep 2021 - Artifact Kick-the-tires Author Response
* Tue 12 Oct 2021 - Artifact Notification
* Sun-Tue 17-19 Oct 2021 - SLE Conference

---
Types of Submissions
---

SLE 2021 solicits three types of papers:

* Research papers
These are "tra